A lot of developers seem to have it in for WordPress. They use it dismissively, such as “It’s just a WordPress site.” The idea being that a serious website couldn’t be built using a blogging platform. If you’re serious, you’d use a heavyweight content management system (CMS) or just code it from scratch.
That might have been true when it was launched in 2003, but WordPress has evolved far beyond its humble blogging origins. So much so, that when one of our larger clients wanted to completely redo their website, we recommended WordPress as the core platform. Yes, WordPress. This is a client that sells thousands of different products, has hundreds of customers, and even has an international presence. So why choose WordPress, when something like Drupal would seem to offer more functionality out-of-the-box?
The primary advantage is this: WordPress evolved from a tool for non-technical users. It started life as a blogging tool. WordPress does a great job of making the most common user-initiated tasks (updating pages, posting blog entries, etc.) simple and painless. The 22,000+ plugins gave us rapid access to great search-engine optimization features, calendar management, etc. We were also able to take a commercial WordPress theme and easily adapt it to suit our customer’s branding guidelines. Launching a full-featured corporate website couldn’t have been easier.
But the public-facing website isn’t the complete story. A $200+ million company needs to provide access to business information to its employees and customers. Authentication and authorization are critical areas of functionality that need to be addressed. Then the real power of WordPress as an enterprise platform became apparent. There are currently 1,600+ hooks built-in to WordPress, which means that developers are able to control virtually every aspect of site operation.
Rather than looking at WordPress as an anemic enterprise CMS platform, we chose to look at it as a remarkably lightweight and flexible launchpad for our own custom enterprise functionality. And out of our development work, we developed what we call the WordPress Enterprise Framework (the WEF). It currently consists of a plugin, some theme elements, and some auxiliary code that runs on our client’s public-facing IIS site.
Using the WEF, we’ve implemented a single sign-on function using Active Directory that synchronizes user information from the client’s corporate network into WordPress. We’ve also developed a native PHP IDE that lets us use WordPress post features (such as draft and versioning) to develop and deploy new enterprise functionality in a controlled manner in our actual production environment.
I’m sure everyone is tired of hearing the “less-is-more” aphorism, but when choosing a platform for a new enterprise-wide web portal it’s definitely something to keep in mind. Any non-trivial project will eventually require custom coding, so as a technical decision maker you just have to think: is it better to start out with a complex (but full-featured) system that will be difficult to extend later, or a simpler (but very easy to modify) system?