WordPress as a “true” CMS
My first contact with a CMS of any kind was in 2001 when I was looking for a blog system to manage the fledgling blog I attempted to maintain. I first worked with Greymatter, a tiny system written in Perl, that I found quite nifty, though underpowered on some basic features.
7 years and 5 systems later (I also experimented with MT, Mambo, Joomla, Bloxsom, TxP), we stick with WordPress, MODx and Drupal for most of our requirements. We have seen WP grow in features and usability rapidly over the last 2 years and it is a delight to see it have a huge following and 2000+ plugins that extend it immensely. We have used it to build all sizes and shapes of sites from a 5 page blog to a recent corporate site in progress that promises to be 150+ pages.
And in spite of what its detractors and deriders say, WP is indeed very close to becoming a full-fledged CMS for small and medium websites, 2.7 being even more so. I say “close” because there are a few wrinkles that need to be ironed out. Most of these have work-arounds, but we would love to see them as a part of the core. Here are the few rants:
- Exclude pages from the navigation – This is needed fairly commonly and editing the templates to exclude pages is simply not an option. I am surprised this is not yet considered for inclusion in the core. We currently use the Exclude-Pages or pageMash to get around this depending on the need.
- Page Category – In wordpress, a page is still internally a post – so why does the page not have a category? This ability is quite useful when we want to assign pages common to more than one category, without having to duplicate content. There is currently no plug-in that fulfills this need.
- Page Excerpt – Not commonly used, but useful when trying to make a listing page for a product category for example. I read that this was available in earlier versions, but disappeared suddenly. Currently we use PJW Page Excerpt display the excerpt field on Page editor screen.
- Page Alias – Useful if I want to duplicate a particular page in a different part of the hierarchy. There is no clean way to achieve this currently, so we use iinclude-pages with some effectiveness. But that excludes custom fields and one has to add the custom-field content manually.
- Advanced page management like pageMash plugin or Admin Management Extended, with a few added features like mass-hiding, deletion and unpublishing of pages. The current default page and post management screens are primitive in comparison.
- Snippets feature where one can insert snippets of content or code in a page or post. A recently-found plug-in that promises what we need is Sniplets. We still haven’t tested it out though.
- MODx has a great feature called “Template Variables”. Simply put, these are additional fields that can be assigned to a template and can be used to enter custom formatted data in any content piece that uses that template. In Drupal, this is achieved through the use of CCK. This is achievable in WP with custom-fields, but is terribly unfriendly for non-technical editors. Moreover custom-fields are not permanently assigned to templates, making the selection of the right ID and value a totally manual and code-intensive process. To overcome the friendliness problem, we use a plug-in called Custom Field Template with considerable success, though selection of a certain CFT to use with that template is still manual.
Incorporating all this and any future enhancements may possibly make the core code heavier and slower. A suggestion then is to learn from Drupal and introduce “Core plug-ins”, and extend it even further. These plug-ins could be optimized and bundled with the core download and users can turn them on or off depending on their need, or even delete them from the installation to reduce the upload size.
I sincerely hope somebody at Automattic is reading this and considers these requests to make WP an even more wonderful system.
December 13th, 2008 at 1:23 pm
Hi,
I am trying to build a static website and wondered if WP was the right choice. Thanks for the list of plugins you use.