What WordPress Needs to do to Progress

Wordpress LogoLike millions of others, I’m a heavy user of WordPress. I run multiple blogs and am involved with many more.  I’m also finding that the number of sites I visit daily that are powered by WordPress is growing rapidly.  Everything from small one-man-band blogs to offshoots of major media outlets.  But despite its success, there are still some niggling issues that long time users will be more than familiar with. For their part, Automattic (the creators of WordPress) have asked the users which features should be focused on next, and WordPress 2.7 has certainly been a huge improvement over the lacklustre 2.5 release, so in this regard it’s difficult to criticise Automattic.

I still feel, however, that it’s important to focus on areas for improvement.  This is traditionally, and understandably, difficult when it comes to a tool like WordPress.  The extensive plugin community fills many gaps, and typically provide more choice than a solution that is baked into the core of the application itself.  So let’s look at some of the low risk enhancements that could, and should, be made to WordPress in the coming releases.

Search

By far the most controversial of my suggestions is improving the search functionality. I’ve seen arguments for and against this.  The arguments for simply state that the current search mechanism isn’t good enough.  The arguments against state that there are plugins out there to improve search, and by using a plugin you can choose a solution that better suits your needs.  Nevertheless, there are basic improvements that can be made to the search functionality that wouldn’t put anyone’s nose out of joint.  I can’t see many, if any, people who rely on the search mechanism working the way it currently does.

Personally, I tend to switch the blogs I control over to using Google Site Search instead of the default WordPress search feature.  Despite the fact that people temporarily leave the site, the look and feel changes dramatically, and the risk that your latest content is yet to be indexed, it still provides a significantly better experience (and results) than the default search.

Speed and Stability

Despite recent improvements, WordPress sites can and do struggle under moderate to heavy loads. The simple fact is that they use more server resources than they really need to.  Once again, I need to reiterate that this situation has improved vastly over the last few releases (no doubt in part to the close work the WordPress team have done in conjunction with the MySQL guys), but it’s still got some way to go, and lags behind many other blogging and CMS tools.

The API

To say the current XML-RPC based API implementation is crippled would be an understatement. Managing a site is still only really possible through the web backend, with publishing new content (and still not every attribute is available when doing that) the only real option available. Quite why tool developers can’t have easy access to administration functions, most notably comment moderation, I don’t know. I’d love for the WordPress iPhone application to be able to do more than just post new content, that’s typically not what I want to do on the go. What I’m more likely to want to do on the go, the sort of thing that you have to address urgently, is moderate comments. I want to be able to do that.

WordPress also uses APIs to access some of its feature set through themes and plugins.  For example, the creation of custom headers – as seen in the default WordPress theme, is achieved through an API. The documentation for these APIs is, for the most part, extremely poor, if it exists at all. Many theme developers are just teased with this functionality, knowing it’s there but unable to fully exploit it.

Custom Fields and Customisation

I use the custom fields in WordPress quite a bit.  To do certain things in templates, you have no choice.  But my using them is not an endorsement of them, in fact I’m really not a fan. Currently a custom field is simply a key – value pair that gets associated with a post.  If a key has been used previously, it appears in a drop down list for future selection. In some ways, such a simple solution is elegant, but in practice it causes problems and tends to make theme developers think twice before using them.  Especially if the theme is to be used by those who are not tech literate.

As a minimum, I would expect the following options for each custom attribute: –

  • Whether it’s mandatory,
  • Whether it appears in the RSS feed, and if so, where (beginning, end?),
  • The type of data it contains (currently all custom values use the same text box which isn’t usable for large pieces of data),
  • Whether users can choose to add new custom fields or whether they are restricted to a pre-defined set.

Going hand in hand with these changes would be a method of customising the write page to better incorporate custom fields. I know which is currently possible, but is only accessible to theme and plugin developers, not the site administrators – which seems non-sensical to me.

Misc.

In addition to the four major changes I’ve listed above, there are some other changes I’d like to see that may be more controversial – and less likely to be implemented.  These are: –

  • Management of multiple blogs through one admin interface (WordPress MU is a start, but it’s something that would do well to be built into the main tool to ensure theme and plugin compatibility),
  • Better options for site administrators,
  • Better organisation of plugin options.

What are your hopes for future WordPress releases?