I’ve been developing websites for just over 10 years now, and have dealt with:

  • HTML only sites (hard coded)
  • Content Management System (CMS) powered sites using Joomla, Drupal and WordPress
  • Custom CMS sites I’ve coded

Throughout this time, CMSs have changed with some getting easier to develop for and others getting harder to develop for.

My favourite one to develop for these days is WordPress. This is for a number of reasons, but most specifically is because WordPress is easy to use for  users, and the development process is a breeze.

For end users

Wordpress create new post screenWordPress offers n easy to use WYSIWYG editor, has a clear post creation screen (with auto-save) and  scheduling system.

You can also use plugins like Advanced Custom Fields to easily create extensions to your posts including galleries, cast lists etc.

For development

I’m traditionally someone who grabs a base theme (as it’s got the template files already in the theme, but no styles or layouts).

Having developed for a few different CMSs in the past, WordPress makes it really easy to theme for different sections. I can easily create the mains layout, and then customise front page (front-page.php), posts (single.php) or pages (page.php), or even your own custom page template. Some other systems break a theme down into many different sections which adds complications to your development.

WordPress also is great for doing customisations beyond the default experience. This includes custom post types (e.g. I use custom post types to create a hero slideshow on the Candlelight Productions site, as well as the events system) and plugins (although I’ve not delved into plugin development myself, it’s something I’ll start working on in the future to create some radio website tools).

I find it’s very easy to create themes and add onto them thanks to the extensive information available on the WordPress Codex as well as various sites where people have documented what they’ve done. Also as WordPress uses PHP, HTML and CSS with no odd customisations, it is very easy to get a theme up and running within a short period of time.

A note about themes

I know a lot of people will just end up buying themes and customising them (e.g. Envato’s ThemeForest), or use the free themes on the WordPress.org directory.  This is fine for if you do not have the knowledge or skills to do a a theme from scratch (there is a good amount available).

I generally don’t touch any themes with styles, plugins etc. built in as they add cost to a project, there is extra stuff to remove when adding customisations, and your site speed may be affected (some use extensive JavaScript for effects and this can slow your site down).

I rather code my themes, even for a basic site, as I know what’s being used, and it’s easier to customise. I’m now using Bootstrap to help with setting up responsive site without taking lots of time to add media queries. For my base template files I use HTML5 Blank.

Plugins

There are a lot of good plugins. Some that I like are:

  • Gravity Forms (It’s a paid plugin so if you need a simple contact form that’s free then go with Contact Form 7)
  • Yoast WordPress SEO (Free – They also offer a paid premium version. Adds social media and search engine optimisations)
  • Redirection (Free – good for redirecting pages to another section of the site, or tracking broken links)
  • Advanced Custom Fields (The older version is free but the latest version ACF Pro is a lot better)
  • Pods (if you want to easily add custom post types rather than editing functions.php)

As usual with WordPress, update your plugins and WordPress core regularly.

At some point I’ll update the theme on this blog to a custom one. I find it hard to develop my own sites compared to one for work or a client.