WordPress as a tool is great; it has a simple admin interface. It is easy to install, content is easily updated. It is easy to extend for plug-in developers.
WordPress is a successful if not the most successful (self hosted) blogging platform available and this is evident when you look at who is using it. Bit sites like the New York Times, ZDnet, Rolling Stone, Fox News, and even the Flickr Blog.
But it is not without its issues.
Issue 1A – Navigation
WordPress has a few simple concepts. Blog Posts and Pages. These include things like Categories, Tags and parent child relationships.
Some simple functions exist that allow you to make use of these taxonomies. But where things start to fall apart is when we look at pages vs posts.
It is possible to list all posts under a category with things like titles, and excerpts. This is ideal when we want to include say all Design posts under a Design page. But when it comes to more complicated navigation Pages fall under a parent/child relationship. This is not flexible. Sure we can list the pages under a page ID but we run into issues when we want to gather pages located under multiple parents. We can set a list of page IDs but this would be maintained in the template code.
WordPress offers Costume Menu which allows you to select what pages or even post categories you would like to list under that menu. This again is using Posts and not Pages, and also to use Pages requires you to select them (granted less work than updating the template code).
Pages cannot be associated with Categories and cannot be assigned Tags. The organizational structure for Pages comes only from their hierarchical interrelationships, and not from Tags or Categories.
Issue 1B – Navigation in Templates
WordPress organizes Pages in a hierarchy, but only has a Patent/Child relationship meaning a page on a third level of navigation has no idea who its Ancestor page is (I will talk about this in a later post). This causes problems when you take the navigation structure outside of the box.
Issue #2 – Politics
Because WordPress is open source and has over 11 million users, that means your voice is small. It also means a lot if “Ideas” are generated and a lot of people have opinions. Commentary in the web is powered by opinion, more than likely it wont be what you want to hear.
WordPress is a community and has prominent members, and those prominent members carry more wight in what they say. They should almost act as your local representative and speak for a section of the community.
Issue #3 – Content Types
I had this idea years ago, and while the features that exist now is more or less what I wanted the implementation is something to be desired. Spending time in the functions.php file entering all sorts of crazy code is not user friendly and separates the content creators from the template developers.
Once all those hoops have been jumped you can’t simply convert old content to the new content type. It has to be recreated.
This after all is a new feature and will undoubtedly evolve to be just as usable as the rest of the application.
While these issues can drive me nuts at times I look at the other replacement options and while I have not extensively used them, I don’t see much better. WordPress, Expression Engine, Drupal, and Joomla all offer something that each other doesn’t do, and they all offer something better than the other guy.
At the end of the day it really doesn’t matter what issues you have as long as your clientâ€™s needs are met.