WordPress is not YET an enterprise-level CMS

The question whether “WordPress is a content management system?” has been answered affirmatively in my mind for quite some time. If you still have doubts, or want a recent sample of the chatter on the concept, check out Is WordPress a CMS or blogging platform on mbjwork.com. One comment from Stephen Cronin on it inspired me to write a response to further the conversation down a positive path. He suggests the distinction that, “WordPress is NOT an enterprise level CMS”,

I would use WordPress to run one of my personal sites. I would not use it to run the websites at work (I lead a government web team). I generally find that people saying it IS a CMS are people who deal mainly with small to medium websites, which WordPress is perfect for, and those saying it’s NOT are dealing with much larger and complex sites.

While this position is debate-able, it is mostly dependant on your definition of the term enterprise and what specific client requirements are involved in a given site. I will cede the point by saying that WordPress is not YET an enterprise-level CMS that can compete on a feature-by-feature comparison with such high cost platforms as Red Dot, Vignette, Interwoven LiveCycle, etc. These systems often require just as much configuration / customization to implement client-specific elements as a small business site built on WordPress – only the consultants for these platforms generally charge a higher premium for their specialized “niche” knowledge.

Don’t look a crazy horse in the mouth

It wasn’t that long ago that the answer of whether WordPress was a CMS was a harder position to defend. I gave a presentation in 2008 at Wordcamp Toronto – WordPress: Beyond a Blog – and mathematically proved that WordPress = CMS. The definitive deliniation came after the crazyhorse fiasco and, in my mind, co-incided with the 2.7 release (Dec 10, 2008) for a few reasons:

  1. The major UI improvements to the admin console gave it a more professional (read generic) colour palette.
  2. Usability improvements enabled access any content area / type or configuration element via a single click.
  3. Steady improvements on the well-defined plugin / theme / filters / hooks architecture and the 1-click update.

Overall these improvements have made the process to create, customize or update a WP-powered site into a task-scale work effort compared to a project-level one. This is an important distinction given the frequency of releases for WordPress (both a pro and con).  I am quite excited about the upcoming killer features of WordPress 3.0 (menu management, custom post data types) that will further make any questions of its CMS capabilities that much harder, ney impossible, to refute.

To summarize: In a less than 18 months, WordPress has gone from being debateable as a CMS in general to being debateable as an enterprise-level CMS. Not bad for a open source project that has blogging as its core focus ;) Especially when compared with other open source projects that often struggle to make in-roads into non-core areas (see Linux desktops in corporate environment). WordPress has grown into a viable COTS (customized off the shelf) product – it just happens to sit on a shelf with a price of $0 which is a big selling point when most other enterprise-level CMS platforms have quite a few more 0′s in their sticker price!

How could WordPress be considered an enterprise-level CMS?

This is the real question I wanted to address with this post. There are a number of features  / areas of concern I see with the current state of WordPress that prevent it from being seriously pitched or deployed as a corporate business platform. In some cases there are plugins which fill the gaps reasonably well. In others there may be limitations that the blog-centric principles it was founded upon prevent it from solving. In all cases, I want to encourage discussion of these areas to see which are areas worth researching by those who have a passion for the platform or have plugin programming powers in need of a niche. If you think of functionality I have missed, or plugins which provide the gaps I have identified, please add a comment.

  • Custom Data Types
    Plugin of Choice: More Fields, PODS, WordPress 3.0!
    Yes it is possible to train users to select a strangely titled custom field and populate it, but it is not an elegant solution compared to data entry directly into named fields. Soon,easily configurable custom data capture / presentation will be possible out-of-box with WordPress. This is probably the feature concept I have been most wishing WordPress would add since I started working with it as a CMS.
  • Backup
    Plugin of Choice: WP-DB-Backup
    It is critical to have a reliable, regularly scheduled backup process that is easily re-deployable. The newest line of business added to Automattic, VaultPress, offers such a service for those who aren’t comfortable with web server / database backups. It covers “your plugins, dashboard, themes, comments, and even your post revisions are all safeguarded and ready to be restored.” Perhaps someone could re-use the plugin code  to create a version that enterprises could deploy within their own architecture to leverage their existing hardware spend.
  • Bilingualisation
    Plugin of Choice: qTranslate
    While the default language of the Internet is english, there are far more people who prefer non-english languages. The support for multiple languages of the admin console is excellent, but content capture and display of multi-language support is still suspect. qTranslate handles the core fields (title, content, excerpt) well, but not custom fields, meta boxes, etc. Hopefully with a robust 3.0 focused upgrade of qTranslate, we might come close to “fully multi-lingual support” across all data types.
  • User / Role Management and Content Control
    Plugin of Choice: Justin Tadlock’s Members Plugin
    The default approval concept from contributor / author through editor / administrator fits reasonably well when you have ‘anyone can write anything’ environments and editors who have latitude across the entire site. But a corporate environment might have people who only handle specific types of content. 3.0 will greatly simplify the process of isolating such content areas and improve the associated “data entry screens”. Further capabilities to define roles, which users have access to them, what they can access becomes more important as the variety of workers who interact with the CMS scales up.
  • Workflow Management
    Closely related to the roles which users have is how the content approval process happens. Some content only requires single-level approval, others must be blessed by people very far up the corporate ladder before publishing. The addition of this feature should be configurable though off by default to avoid confusifying the “I write my own blog” default use case for WordPress. I haven’t tried or heard of any plugins that have tackled this concept yet, have you?
  • Content Release Environments
    Closest Conceptual Plugin: WP Hive
    Workflows work when you are dealing with individual content updates, but how do you handle an entire new section, or re-writing a sizeable portion of an existing site? Incremental draft / publish just won’t cut it. Creating a new instance of a site on an internal server is easy enough (see backups), but merging the changes that occured between the time the copy of  production environment was taken and the new section going live is not.

    It would be interesting to see WordPress converted to a repository-driven approach where content gets “checked-in” to a central instance and staff can “cut releases” to different environments for testing. The low overhead of WP (php / mysql) deployment would make creating new environments a breeze compared to some of the large-scale CMS that have hefty hardware requirements to host.

  • Lead Generation / Forms
    Plugin of Choice: Gravity Forms

    The simplicity with which you can use Gravity Forms UI interface to create forms is amazing. They are steadily adding features which, in the hands of great developers, convert WordPress into a complete swiss-army-knife of lead generation or crowd-sourcing content creation. As far as WordPress plugins go, their $199 price tag is steep, but it is well worth it compared to the value it provides. Multi-Step forms with configurable step-logic would be high on my feature request checklist to round out its already impressive functionality.
  • 3rd Party Platform Integration
    Closest Conceptual Plugin: Xavisys WordPress Plugin Framework or BackPress
    How do you access and display pricing data from a legacy product database? Or information from a 3rd party supplier API? Can you syncronize customer info from an existing LDAP or Salesforce with WordPress? Each enterprise would have a unique set of requirements to consider the complexity of integrating during the concept initiation phase. Having shared knowledge resources that demonstrate best practices would be invaluable to know what is / is not possible. Or if you have something larger in scope to work with, you might consider BackPress which is starting to sound like a robust way to develop with the principles of WordPress as a framework to start from.

Where to draw the line?

I thought about including functionality most enterprise sites would leverage – event calendars, payment engines, product shopping carts, etc – but stopped as that was starting to blur the line between CMS and web application. It is a testament to the versatility of WordPress that it could just as easily convert into or add-on functionality of an eCommerce system, a forum or social network. With that in mind I ask you, Is enterprise-level CMS really that much more of an ambitious stretch?

This entry was posted in Blog. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

14 Comments

  1. Posted April 17, 2010 at 1:47 am | Permalink

    Hi, I absolutely love the fact that you mathematically proved that WordPress = CMS. Total awesomeness in my book!

    • Posted April 17, 2010 at 5:04 pm | Permalink

      Thanks Michael. It got a good laugh which is what I was hoping for.

  2. Posted April 18, 2010 at 9:43 pm | Permalink

    I spent over two years working for an agency with their own proprietary “enterprise-level” CMS. WordPress kicks the everliving crap out of that thing.

    Also, “enterprise-level” seems more like a sales and marketing term than a useful descriptor. Plus, most of the things you’ve listed don’t really affect the public-facing areas of the website, with the notable exception of custom data types.

    • Posted April 19, 2010 at 8:06 am | Permalink

      Chris – You are right that very little of the features / functionality a large business would be interested in has to do with public-facing areas of the website. They “could” run their website with a text-editor and FTP client. But most believe that the back-end content development / approval process they require want limits the tools they could consider to publish a site.

      I agree that “Enterprise-level” is a mostly generic term to set the sales narrative for the scale a system could support. However, when the bulk of WordPress narratives written on the web could be paraphrased as “WordPress is a blog platform”, I still think it is important to highlight just how versatile it is that it can be easily customized to support so many different use cases.

  3. Posted April 25, 2010 at 12:23 am | Permalink

    Just finished listening to 1 of the 4 part podcast on Commercializing WordPress from WPTavern WPWeekly and come away very inspired. Amongst those plugins that immediately caught my ear were the Edit Flow project (aka CoPress) for workflow management towards newsrooms.

  4. Posted December 1, 2010 at 6:08 pm | Permalink

    I’d love to read an update on this entry, now that 3 is out…

  5. popo
    Posted January 30, 2011 at 6:57 am | Permalink

    I think it should be noted, that every one of your criticisms is completely addressable via plugins and/or customization.

    Now before you say: “But wait, if it requires customization — then it’s not ready” — Consider that Drupal (which everyone regards as an Enterprise CMS) *always* requires massive amounts of customization. In fact, Drupal typically requires more.

    WordPress 2.0 was a blogging engine that pretended to be a CMS.

    WordPress 3.0 is a whole different animal, and is far better than many packages claiming to be “enterprise” CMS’s.

    Those who argue that WordPress 3.0 isn’t ready, are typically using an out-of-the-box install, and criticizing the handful of features that don’t meet their needs. Instead, they should note that WordPress 3.0 is infinitely expandable, extremely stable and easily customizable — and *WICKED FAST* when cached well — making it indeed, and enterprise level CMS.

    Now — let’s cut down the competition: Drupal is a dog. Period. I’ve built probably 3 dozen sites with Drupal and it never ceases to amaze me what a chore it is to work with.

    Yes. It’s stable. Yes. It’s powerful. But it’s a dog all the same, imho.

    WordPress kicks serious ass. But you have to learn how to make it kick ass.

    • Posted January 31, 2011 at 10:43 am | Permalink

      Thanks for the feedback. This was originally written before 3.0 had launched with many core capabilities that significantly changed the equation. I did some minor updates to reflect those areas. Perhaps when 3.1 is released I’ll revisit it.

      The one specific area where I think WP still has a short-coming is the ability to promote / manage changes between dev, staging and production environments due to the database of WP hosting code, config and content.

      • Shawn
        Posted June 24, 2011 at 11:38 am | Permalink

        Great post and would love to see this continuously updated — what a great resource! One question about your well made point re: managing changes between dev, staging and production environments… What might you recommend to address this?

        Thanks,
        Shawn

        • Posted August 5, 2011 at 12:46 pm | Permalink

          What I do depends greatly on the level of change(s) I’m deploying between the environments. I am quite excited to see Mark Jaquith’s presentation from Wordcamp SF this year – Scaling, Servers, and Deploys — Oh My! – as I expect it will offer much in the way of best-practice information.

  6. Posted August 29, 2011 at 12:33 pm | Permalink

    Great write up! Really touched on all the key points of comparison.

    Regarding “workflow management” you may want to take a look at WP Document Revisions which is (1) A document management system (DMS), to track, store, and organize files of any format; (2) A collaboration tool to empower teams to collaboratively draft, edit, and refine documents; and (3) A file hosting solution to publish and securely deliver files to a team, to clients, or to the public.

    Hopefully the plugin should provide a bit more parity between WordPress and traditional enterprise CMSs.

    • Posted August 29, 2011 at 2:51 pm | Permalink

      That looks like a fantastic plugin Ben!

      Does it work well with a multi-site install? I could see a great case being made for the speed at which one could deploy a new project or team micro-site with DMS, blog and other functionality.

      Perhaps when I re-visit this post I’ll try to do a comparison between the cost, complexity and configurability between WordPress and other open source CMS’s with “enterprise-level” alternatives like Interwoven Teamsite, Microsoft Sharepoint, OpenText RedDot, etc.

      • Posted August 29, 2011 at 3:38 pm | Permalink

        Great Question. Yes! Each site can have its own document repository (with the ability to give users different permissions on each repository), or you can create one shared document repository across all sites.

        Think that would be an awesome post (there’s not much out there like that — at least not recently). Let me know if there’s any way I can be helpful.

        - Ben

  7. Posted March 16, 2013 at 12:01 pm | Permalink

    Id say that WordPress is the perfect CMS for SMEs, whether it is enterprise level is debatable, Drupal certainly is an enterprise level CMS

One Trackback

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>