WordPress as CMS – The Project

I’ve been talking about this for a while now and it’s time I got a little more specific. It is my contention that with some small tweaks, WordPress can be used as an excellent Content Management System (CMS) and used to serve small-scale business websites. This isn’t something revolutionary – a simple Google search on the words “WordPress” and “CMS” gives you many interesting entries – but I don’t think the full potential of this alternate use has been explored. So I’ve taken it upon myself to see just how much I can get out of this small little program and if it can be used to serve my many clients in a more effective manner.

Why WordPress

That’s the first question I get: “Why WordPress? What’s the point? Why don’t you just use a CMS like Joomla! or Drupal?” To answer the last question first, in most cases using Joomla! or Drupal is like trying to kill an ant with a tank. Not only is the tool way too big and wasteful to do the job, but chances are the ant slips between the belt threads and you don’t actually achieve your objective at all. These huge Open Source CMSes are excellent if you are building large-scale community based websites with multiple blogs etc etc but for small business applications they are often too large and cumbersome. What’s needed is a simple, easy to understand CMS that gives the client the ability to quickly edit, update and manage her website with the least ammount of hassle. Sure, you can build something like that yourself, but why bother when there is already an application that pretty much does what you want available for free?

There are a couple of other reasons why I want to tap the full potential of WordPress for this project: First off, WordPress has an extensive and growing library of plug-ins and ad-ons that make it a very powerful piece of software. Seccondly, blogs have become an excellent way of promoting yuour business by letting your clients interact with you on a semi-informal basis. And WordPress is a blogging platform. Nuff said. Thirdly (and maybe most importantly), WordPress blogs has an uncanny ability to get synced up with search engines like Google and MSN almost immediately upon being launched. Through a couple of very interesting experiments I’ve learned that the best way to get your website listed on Google is simply to build it on a WordPress platform. And if you are running a business, geting listed on Google can be the difference between being noticed and going under.

Project Outline

What is needed to make this work? One major hurdle used to be the ability to put the standard blog front page on a sub page. This used to require quite a bit of coding, but in WordPress 2.3 and above it’s actually built into the main setup.

The next big issue is to get out of the standard header, body, footer layout scheme that all WordPress themes are built on. Although this feature is unneccesary in most cases, I can think of a dozen scenarios where you want individually styled pages with their own CSS backend and right now, that’s not something you can do right out of the box. I’ve been theorizing about this problem for some time and the solution appeared most unexpectantly at a session at MIX08 where the presenter to save time ignored the whole WP theme and built an external page with the loop calls inside it. It was a bit of an aha moment for me that you don’t actually need to stick to the rigid frame of WP, and although it is technically not correct to do so, if it makes my life easier, to hell with correctness.

Another question is to what extent one can use the Custom Fields to make styling changes in pages. I’d like to experiment and see just how far I can push this feature.

Finally, is it possible to make a non-WordPress site utilizing the WordPress infrastructure and database? In other words, can I build completely separate pages outside of WordPress and then use the loop calls etc to insert the required info in such a way that the site can be managed from the regular Admin panel without the client having any access to the controlling files. This final question is the crucial one because in the end what is needed is a manageable CMS that gives the client unlimited access to the content but limited or external access to styling, layout and other important files so that nothing can be “broken” by mistake.

The Future

In the coming weeks I’ll be launching two sites built on a WordPress as CMS v0.1 platform (pretty much stragith WordPress with some heavily customized themes) and once these are done I’ll dive head first into a major hacking project to see just how deep the rabbit hole goes. With any luck I’ll have a fully operational and customizeable CMS to use as a base for my client sites before the summer. In the spirit of cooperation I have every intention of blogging about all my findings and sharing the code and hacks with the online community. I’ll also blog further on how to modify WordPress blogs using Expression Web to help bring some beauty to the blogosphere.

10 thoughts on “WordPress as CMS – The Project

  1. Don’t agree that Joomla or Drupal are too big (using Joomla! or Drupal is like trying to kill an ant with a tank ?!)
    WordPress, Joomla and Drupal are all mature platforms
    All of them are great open source cms, but every of them have their strengths and weaknesses.
    Worpress is great blogging tool, joomla is nice cms which is quite easy to learn, and drupal is very powerful and flexible.

  2. I was kinda choosing between using Joomla/Mambo/Drupal and wordpress for creating a portal and an online publication, content management in wordpress is easy (since I have a blog powered by wordpress) but I’m having difficulty in customizing its themes, content management in Joomla is complicated, but its themes are easy to manage/customize

  3. I think choosing between Joomla, Drupal or WordPress (don’t bother with Mambo) is a questions of how expansive your site is going to be. If you need a massive CMS with a lot of custom functionality, Joomla might be the way to go. If you need a site with numberous blogs and a forum, Drupal is the way to go. If you are just building a site and you want dynamic content management, a blog and an easy way for the admins to change the site around as they wish, WordPress is probably your best option.

    As for skinning, WordPress is actually very easy to redesign if you have a good platform to work off (like Expression Web) and a good theme to start off with. I like the Sandbox theme because it is completely empty. I’m also working on a “base” theme myself that I will publish once I’m done with my current projects (probably late May) that will be easy for people to use and alter. The reason WordPress theme design can be complicated is because not all themes are designed properly. If you start from scratch, it’s very easy.

  4. Great article! Thanks for sharing your experiences. Any progress on this? I am trying to do the same thing (dragontheory.com/wall2.0c) but am running into issues with TinyMCE inserting extranious code (even in the HTML editor). Everyone says “just turn the WYSIWYG editor off”. How am I supposed to have the client log-in and edit his content when the WYSIWYG editor is turned off? Have your found any work arounds or fixes?

    Anyway, just currious how things are progressing. I myself have a lot to learn… Thanks again.

  5. Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject!

  6. Fed up with getting low amounts of useless visitors to your website? Well i have good news. Maybe you already heard of the new underground secret product called Auto Traffic Avalanche that I myself use to generate $700 on the daily basis completely on AUTOPILOT. There’s no need to say anything more. Just watch the video on AutoTrafficAv.info before it goes down!

Comments are closed.