I’ve launched a new website using WordPress 3, my commercial photography site Ambient Photography. It’s actually an old website, hand-coded in HTML, that I transformed to a WordPress site. There are two main reasons I did this:
- More of my IT clients are asking for PHP skills (though truthfully, configuring the site required almost no PHP knowledge)
- I wanted a content manangement system (CMS) running my site so that updates to it were easier to make.
For reference, the old site is now here: http://www.ambientphotography.ca/2010/
Before any of this began I had to make the decision on which CMS to use. The big ones to look at are Joomla, WordPress, Drupal and MovableType. A friend at One-Nyne Design suggested Symphony as well, but that turned out to be more of a programmer’s framework rather than a ready-to-go CMS. A few years back I ran a MovableType blog and I found it a little complicated to setup. According to market share, WordPress and Joomla lead the pack. So I bought two books on Joomla (it seemed to offer the most flexibility and a largest assortment of extensions) and one on WordPress. Installation of Joomla was a breeze, but after a week trying to customize it, watching dozens of video tutorials, and half a book later I was ready to tear my hair out. Opening the WordPress book I installed the software and customized a majority of the site in less than a day. Decision made.
WordPress can be downloaded and installed on your own webserver, or you can get an account at WordPress.com with a pre-fab site ready to go. I’m still a J2EE guy at heart, but the WordPress install took all of five minutes, including creating the MySQL databases, configuring Apache and installing WordPress. There’s no way I could do a J2EE deploy of a new Struts web application in anything under an hour. As a busy entrepreneur, I just don’t have the time to tinker anymore.
WordPress has two types of content entries:
- Article-style “posts”
- Webpage-style “pages”
Since my photography site is a more traditional website and not a blog, the majority of the content I created in WordPress are Pages. But the Posts functionality in WordPress now allows me to streamline the “news” pages I was creating in hand before, and even shows an excerpt of the most recent news item on my homepage.
With the content created, my next task was to replicate the style of my old site. WordPress uses a PHP template system to transform the content and style into the look you want. Pre-fab themes are easily installed from http://wordpress.org/extend/themes/. But rolling your own custom theme is as easy as dropping an index.php (peppered with WordPress PHP tags) and a style.css stylesheet into a new sub-directory. The default WordPress 3 theme, called Twenty Ten, is an excellent reference of how to get the functionality you need into your custom theme. And better yet, all themes can be tweaked, or extended as child themes, to suit your specific needs – everything is open source.
Plugins easily extend the functionality of WordPress without writing code. I used four plugins for my site:
- Contact Form 7 – to create a contact form with a quiz – something I consider better than CAPTCHA at eliminating spam.
- Graceful Email Obfuscation – I looked at several email obfuscators – many were easy to beat leaving behind giveaways like mailto’s and specific CSS classes but this one appears pretty fool proof.
- PJW Page Excerpts – this allows me to use excerpts for pages (as the Meta Description tag), since be default excerpts are only input by WordPress for posts.
There were a few hiccups along the way:
- Learning how to create and grant access to databases in MySQL
- Figuring out how to get the PHP pre-installed with OS X to communicate with MySQL.
- Resetting the MySQL administrator password after forgetting it
- Resetting the WordPress administrator password after forgetting it
- Discovering that enabling WordPress permalinks breaks WebDAV
An in all, I spent about a week’s worth of spare-time getting everything going. I’m very happy with the results and I look forward to creating more WordPress sites in the future. Thanks Internet!