Choosing a CMS Part 3 - Wordpress

Wordpress (in this example Wordpress >= 2.5) is now well known as the number 1 hosted and self installable blog platform in the world. Based on PHP and MySQL (a trend you’ll see continuing as we move through the other apps) the Wordpress application is solid, moderately fast and reasonably customisable.

I’m not the first to write about the possibility of using Wordpress as a CMS, A quick Google will return a couple of hundred tutorials which will walk you through the finer points of customising this platform and creating your site.

Rather than look at specific implementations, let’s consider the features the Wordpress offers that make it suitable for managing an entire site:

Templates

The first key aspect of Wordpress is the highly flexible (and sometimes bewildering) templating system. The core features that make it worthy of consideration are the clear separation of header, footer and sidebar navigation (or any other included menus you might need), the ability to place and format your fields anywhere and anyway you may want, the ability to reference plugins (see below) for specific blobs of functionality, and, most importantly, the ability to apply specific templates to specific pages and categories.

This page specific functionality allows for small and medium sites to be built, out of the box, without any plugins required and allows for specific markup to be used for certain pages. Clearly, the flexibility this offers is immense, although at the cost of manageability for your template files.

Plugins

Wordpress is massively popular and as such is supported by an equally massive community. This community develops themes (templates) and plugins which extend your basic Wordpress install in pretty much any direction you care to contemplate.

Plugins allow you to customise navigation elements, page output, link content to dig or Paypal and mostly integrate seamlessly into the WP-Admin interface. Plus, if you have requirements that are above and beyond the scope of any plugin currently available, you can write your own.

Pages / Posts

The Wordpress interface makes a clear distinction between Posts (which are output as part of the blog time flow) and Pages which are static (chronologically speaking) content. Pages can take advantage of the Per Page template model described above and can be arranged into hierarchies of parent and child pages for structuring your content.

You can even specify a single page to use as the homepage for your website (something that in previous versions of Wordpress required a plugin or hack) from within the interface.

Finally the page structure can be output in a variety of ways using nothing more than standard Wordpress Tags and some CSS to produce treee menus, breadcrumbs and other navigational elements.

Custom Fields

Custom fields mean you can add pretty much any piece of meta data to a page without needing to use plugins or hacky HTML in your page content. They could be used for storing expiry dates for content or even for building an entire, mini database within your CMS. Custom Fields require some template hacking to get them outputting as expected but for the most part work as seamlessly as you’d expect.

Clean URLs

Clean URLs (or SEO urls) are a mechanism by which a standard URL:

http://somesite.com/index.php?postid=4334455&cat=category&view=comments

into something much more user friendly:

http://somesite.com/category/post_slug/comments

A load of CMSs provide this feature and Wordpress is no exception. It will actually let you build your own Permalink URL structure which allows you to be as brief (or as verbose) as you wish. Apache’s Mod.Rewrite powers the whole thing which makes for very fast, clean, memorable URLs.

User Management

Wordpress has built in user registration and management features (that can be massively extended via certain plugins) and allow you to build a small community of users. This can be enforced to ensure that valid users are allowed to comment on certain pages / posts (could be used for Reviews in an e-commerce context) only if logged in.

It also allows you to produce a list of valid visitors which could be piped into your Email Marketing tool or used to notify users of new content.

Search

Using MySQL as the search technology means that pages can quickly be located. Of course the search is only as good as your content but a search box can be restricted to certain categories and provides a user with a navigation option that they will find familiar and useful, should your site ever grow big enough to warrant its use.

The downsides

Wordpress is good, but it’s far from perfect. The following are some of the issues that this platform is well known for and may be reasons to look elsewhere:

Templating looks (and is) a lot like PHP

PHP is the scripting technology behind Wordpress and whilst the day to day admin of content is handled through a lovely web interface, the actual process of building the templates can be rather daunting for some. Plus the actual Template syntax is, in places, pure PHP so newcomers to the ubiquitous web programming language may find it difficult to pick up.

Needs caching for bigger sites

An often aired complaint is that Wordpress does not scale well. This is actually not true - Wordpress scales amazingly well, but does require that you reduce the load on your database by using one of the many caching plugins available. Of course if you’re feeling really swish you could implement a dedicated reverse proxy and really keep the install cool.

Some designs can be difficult to realise in dynamic navigation

This is from personal experience, designers who are not used to the restrictions placed upon them by dynamic content often run into difficult realising their designs within the CMS as the template simply can’t be created that does what they require.

For the most part these issues are solvable but please consider the dynamic nature of the output when you sit down to design your site. You will not have total control over every aspect of the page as your are perhaps accustomed to in straight HTML design.

Security Concerns of XML RPC and User Management

I haven’t seen any recently but previous versions of Wordpress were prone to security bugs in the RPC system and the User Management system that could lead to an attacker compromising your website. When using any dynamic CMS you must be aware (and prepared for) the possibility that a previously unknown loop hole could be discovered and will need patching.

Careful management of your Wordpress install is therefore a must to keep ahead of any potential hack attempts.

Summary

Wordpress is a great tool to develop a simple site but many designers and web masters will quickly run into the limitations of the system. After all Wordpress was designed as a blog platform and the CMS functionality has been added after the event.

Next up? Expression Engine


View the rest of this series:
Part 1 - Intro
Part 2 - Requirements
Part 3 - Wordpress

Share and Enjoy:
  • Digg
  • del.icio.us
  • Ma.gnolia
  • Reddit
  • Technorati
  • Facebook
  • TwitThis
  • E-mail this story to a friend!
  • LinkedIn
  • Pownce
  • Slashdot

Trackback URL

No Comments on "Choosing a CMS Part 3 - Wordpress"

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to Comments