Jan
14
2012

WordPress is Not Keeping Up

After working for two years with WordPress content management I’m starting to realize it is not always going to be the best open source system. WordPress does update regularly with security features and some usability. What it doesn’t do is look past the code to see what people actually need WordPress for and how they use it. Some of the most popular plugins include variations of:

  • Search Engine Optimization
  • Caching
  • User Profiles
  • Custom Post Types
  • Database Backup

While all of these would seem like fundamental features of the WordPress core the developers never seem to add them. Their logic may well be that there is no need to add it to the core when a perfectly good plug-in is available to do it for us.

WordPress Without Search and Replace

WordPress doesn’t include, at present, an easy way to manipulate page and post content en masse. This is something that surprised me considering WordPress uses a mySQL ISAM database. ISAM has always had the great ability to search within text fields for matching text, i.e.:

# A normal fulltext SEARCH matches ONLY UNIQUE strings
SELECT * FROM test WHERE MATCH (article) against ('Molde has the best football team in Norway')

# A BOOLEAN mode SEARCH matches words IN this example
SELECT * FROM test WHERE MATCH (article) against ('molde' IN BOOLEAN mode);

# A BOOLEAN mode SEARCH

SELECT * FROM test WHERE MATCH (article) against ('+molde -music' IN BOOLEAN mode);

Recently mySQL INNODB also allows text searching built in. This is a strangely important feature when you think about it. For the average user (most clients) changing all URLs from www.example.com to www.example.net is well beyond their capabilities. Even something more common would be a customer pointing out a spelling error for the word “WrodPress” but not remembering what page it was on. A quick text search/replace in the administration of WordPress would fix that in a hurry.

WordPress Popular Plugins in the Core

Every WordPress website wants to be seen so why not include a built in meta for SEO? They could even use the text search capabilities above to create an set code which will fill in the meta description and keywords based on common words and phrase sequences.

There is no sound reason why cache and built in database backup capabilities should not be added to the WordPress core. There are certainly enough plugins that could have code copied (with permission) to strip white space from a css file and javascript file.

As for a very demanded feature of user profiles I would think using two of the most long standing plugins S2Plugin and Members could easily be integrated in to the WordPress core.

Summary

While WordPress is known for its 5 minute install and friendly user interface for beginners it leaves much lacking in its core. Each update barely touches on what would benefit the massive community the most and many minor updates seem added on a whim. With hundreds of thousands of plugins to choose from, many that duplicate the functionality of another, WordPress developers appear to ignore what people want the most.

This approach to a content management system tells me that WordPress will have no long term future except with the most hard core fans.

Where to go from here

As developers we need to always look to the future. If we don’t then technology and consumer demands for the shiniest toy will leave us in the dust. So where do we go from here?
Myself, I’m looking towards some brilliant PHP Frameworks that, on their own, have many of the abilities I cited above already incorporated – most noted are the Yii Framework and Code Igniter Framework.

Related posts:

About the Author: Neil Davidson

Neil Davidson writes articles and tutorials about web development. He is happily married with three dogs, two cats and an ominous spirit in his home.

2 Comments + Add Comment

  • Interesting article and opinion. I can say however that in my experience that WordPress has come a LONG way especially in the last two years.

    You mention not having integration of certain plugins into the core. I must admit that I’ve thought the same thing for a while but, the reasons why they don’t include them make sense.

    The bottom line is that WordPress is focused around content publishing and ease of use. Adding these features to the core adds a high degree of complexity to the entire platform.

    Also things like member management, SEO and CPT handling and how to backup a site have to be modular because everyone has different opinions on how they should work and how they should be implemented.

    Even handling more technical tasks such as search / replace can be handled via plugins. I use the Search and Replace plugin on almost every site I have for this reason.

    http://wordpress.org/extend/plugins/search-and-replace/

    You also mention MVC style frameworks. MVC frameworks are fantastic on a technical level as they are built on the OOP philosophy which means that they are way faster and flexible to do literally anything by default. However they only include low level features in the core: things like caching, localization, data validation / sanitation etc. Very nice but not all sites needs things like that, once again leading to why they aren’t included in the core.

    WordPress gives users all the tools they need to create fully functional sites in a fraction of the time that would be needed to create the same kind of site using an MVC framework.

    Not to mention as a developer, half the battle is reusing your own code. The better your get at that, the quicker you can accomplish anything regardless of what platform you use.

    Just my 2 cents ;)

    • I appreciate your response. One thing technology offers us is infinite possibilities. With open source frameworks such as WordPress, Drupal, and Joomla we are given the ability to take a basic foundation and make it into whatever we desire – very unlike paid systems.

      This also comes with the drawback of having too many options and what to include and exclude with every core update. It also comes with giant repositories of plugins that are difficult to monitor and evaluate to ensure all plugins are created to the framework standards.

      When mentioning MVC I speak mostly about further increasing the object oriented wordpress core, which it has been gradually moving towards with every update. Completing this daunting task will actually improve plugin design and make them far easier to update. The only time this would cause major setbacks for plugins is when WordPress makes classes and functions deprecated.

      I love WordPress, but I do worry it won’t be able to keep up!

Leave a comment