WordPress has become one of the most popular, if not the most popular, blogging platform and CMS on the planet. But, despite it’s popularity there are still a number of drawbacks. I’ve compiled a list of what I believe are the major factors in play for the platform, and against it.
Disclaimer: I do a lot of work with WordPress, including custom plugin and theme development. I am very much pro-Wordpress, but I have tried to balance the arguments each way with the aim of being as impartial as possible. Sorry if I haven’t pulled that off.
Pro: Open Source
WordPress, and many of the themes and plugins for it, are freely available as Open Source code under the GPLv2 license. In short, this means you can freely modify and distribute the code without paying licensing fees (assuming you comply with other aspects of the license).
This one item here is fundamental to WordPress, and has a lot to do with every other pro and con on this list.
Pro: Huge Community
Out of all the Content Management Systems and Blogging platforms out there, WordPress would have the biggest community. At the time of writing, there are over 24,000 plugins and 1,700 themes available for free download on WordPress.org. But this is just the tip of the ice burg.
The massive community is even more useful if you are planning on doing custom development. There are 30,000 questions and 43,000 answers on WordPress Answers alone. You then have the extensive documentation on WordPress Codex, and thousands of other websites. If you have a question about WordPress, it’s probably already been answered (this is one of those cases where this statement is actually true)
Pro: Easy to Install
WordPress is famous for it’s easy installation process. This is one of those things they have got so incredibly right. No other self-hosted web app can compare.
After the core installation, you can also install plugins right from within the web GUI without needing to download anything or change config files. It’s too simple, that it makes installation and development of any other platform seem incredibly difficult.
Pro: Lower Total Cost of Ownership
Any tech literate person can work in WordPress. Even those non tech literate can still find their way around the main tasks. This reduces the need for formal training and external support. Even upgrades are simple.
The ubiquity of WordPress also means there is a sizeable talent pool out there of experienced WordPress people. If you need someone to do development, maintenance, or support for you then you are in luck! You could hire someone to do all of this for you, from anywhere in the world (I’m one of those people).
Pro: Stable Plugin API Architecture
In the early days, the plugin API changed a little (as with anything rapidly growing). Now days it’s settled down, and it’s highly unlikely it will break with anything but the most major upgrade. This makes it easy to develop a plugin, by reducing the ongoing maintenance work needed to constantly update the API compatibility level.
Con: Open Source
Most people see Open Source as some wonderful, magical creature, free for anyone to do anything with. Sadly, it’s not quite like that. Yes, you are granted a number of freedoms not available with closed-source software. But it is wrong of anyone to assume it’s a free-for-all.
WordPress is licensed under the GNU General Public License v2.0. This is regarded as a “strong copyleft” license. One of the key aspects of the license is “all modified copies are distributed under the GPL v2“. WordPress interprets this to mean “plugins and themes are derivative work and thus inherit the GPL license“.
Does this mean any code you create and distribute must be GPLv2 licensed? Yes.
Does this mean anything you build for internal purposes only has to be GPLv2 Licensed? No.
Does it mean that you have to distribute your code to everyone? No.
Clearly there are some limitations. You might want to build proprietary plugins for the world, but release the code under another license. This is technically a violation of the licensing terms, hence making it illegal. Even though it’s open source, you’ve got to be careful with what you do.
Con: Limited permissions scoping
A “real” CMS such as Drupal will give you granular control over who can access and edit every aspect of the site. You can create groups and assign people to them. WordPress doesn’t support this by default, and you need to use a third-party plugin for this. Using a plug-in for something as fundamental as security and permissions seems a little hacky to me. I have built one site with granular permissions, and it took forever to find a plugin that actually worked and didn’t break too many other things. Even then, I still had to make compromises.
Con: Security Flaws & Attacks
PHP apps have a reputation for security flaws, and WordPress is no exception. Granted, in recent times it has become a lot more secure, but there are still gaping big holes found from time to time. You just need to read the closed bugs to see some of the stuff we’re still dealing with. Granted, a lot of the major issues were solved a few years ago but there are still the occasional critical security bugs that pop up. Thankfully, this issue is tipped towards the “pro” side of the scale (or at least neutral) by the WordPress core team as they release updates fairly regularly and tend to patch the discovered issues quickly.
Con: No Native Content Blocks
The architecture of WordPress is as a Blog platform. As such, you can’t natively define multiple content areas within one template. You need to start programatically adding custom fields and handling them all yourself. Other CMS handle this a lot better and allow the users to add multiple content areas without it seeming at all “hacky”. This is not an issue at all for bloggers and some smaller sites, but becomes problematic if you are designing for the Content Everywhere revolution.
Con: Poor WYSIWYG editor
TinyMCE has got a lot better over the years, but I still find it mutilating my beautiful HTML all the time. I find myself looking for a 100% Markdown solution.
A lot of inconsistencies exist with the internal API. One of the main issues is knowing whether a function will return the results to be used as a variable or simply echo them out to the browser. The generally accepted convention is to preface a function with “get_” if it returns a value. Still, this isn’t adhered to and there is a lot of legacy rubbish floating around.
Con: Not Optimised out-of-the-box for Large Sites
Yes, WordPress is used by major sites such as Readers Digest, National Geographic Magazine, and CNN’s Political Ticker. These high-traffic sites are heavily optimised and run on highly tuned dedicated hardware. That’s great. But for your Average Joe who doesn’t have thousands to spend each month on hosting, it can be hard to optimise your site and prepare it for that occasional spike in traffic. What cache plugin should I use? Is my shared hosting good enough? What will happen if I get mentioned by a tweeter with a large following? Will my site survive, or will I be throwing out all of that precious referral traffic?
WordPress, in it’s simplicity, hides a lot of these things from the end user and makes it hard to know what will happen. Mr Average Joe will need a professional to work this out for him.
What are your pros and cons for WordPress? Let me know in the comments below. And if you’re interested in getting more WordPress related content, consider signing up to my newsletter!
Get the Broadcast Technology Newsletter
Sign up for the email newsletter about media and technology. Sent irregularly. No spam.