Ok, first things, first, who am I to write a review of WordPress? Well, I’m an independent web designer/developer who lives in the small city (pop 50,000ish) of Nelson in New Zealand. I mostly build websites for small local businesses in the Nelson region, sometimes for businesses in other parts of New Zealand and occasionally for clients in Australia, USA and Europe. I’ve been working in this area (small business websites), since 2007 – about a dozen years. I’ve worked with a handful of popular content management systems over the years – Drupal, Joomla, Silverstripe, a funky Apple OS X based one called Manila, some e-commerce specific systems – Magento and Prestashop. I’ve also encountered and worked on a few websites (just a few!) built outside of content management systems – static HTML/CSS, ASP (the old pre-dot Net Active Server Pages), JSP, PHP and, God forbid, even Dreamweaver! But WordPress has been may mainstay since I researched and trialed content management systems back in 2007 and picked WordPress as the CMS that I would focus on.
So, back to the question ‘Is WordPress any good?‘ – well, I started working with it in 2007 and now in 2019 it is still the CMS that I use for most of the websites I build, so I think you can guess where this is going!
The early days
Back in 2007 WordPress was only 4 years old and was not even considered to be a proper content management system. It was still true to it’s roots as a blogging system, but, it was very flexible and easy for a developer to extend and use as a general purpose website CMS so it was already competing with the two most popular ‘real‘ open source content management systems at the time, Drupal and Joomla. Back at that time I researched the popular content management systems with the goal of finding the one that I would use for building my clients’ websites. Top of my list of priorities were ease and speed of development and ease of use for my clients. The top three contenders at the time were Joomla, Drupal and WordPress, so those were the ones that I explored in depth. All three are build on the PHP programming language so I got familiar with PHP and built example websites on a all 3 platforms. At the end of the day I found that WordPress was the easiest for me to understand and extend in order to build the typical small business websites that were going to be my main source of work. I found both Drupal and Joomla tedious and time-consuming to build websites with and found their admin user interfaces to be ugly and uninspiring. But when it came to building a website in WordPress, yeah even the old WordPress 2.1 of 2007, something just clicked and I found it to be intuitive, efficient and a pleasure to work with and, for me, it blitzed the other two contenders and became my CMS of choice for new website builds.
Over the years since then, I’ve witnessed WordPress evolve from a blogging platform into the full-blown CMS that has dominated the world and become the most popular content management system in use today (used by more than 60 million websites, including 33.6% of the top 10 million websites as of April 2019 – so says Wikipedia, so it must be true!). I believe that the main reasons for the success of WordPress has been it’s simplicity, extensiblity and user experience. WordPress provides a well documented API of ‘hooks’ and ‘filters’ that allow developers to easily add extra functionality to the core system with ‘plugins’. Yes, sure, all the other CMS systems such as Drupal and Joomal have comparable APIs for adding their versions of plugins – ‘modules’, ‘extensions’, etc., but, I believe WordPress made this so straight-forward and approachable that a wide range of developers (including myself) started building and sharing extensions for WordPress and a very active eco-system of WordPress extended functionality developed via the ‘plugin’ system. Since it was easy and intuitive to create plugins for WordPress, many developers did just that, and pretty soon WordPress had all the functionality that transformed it from a nice blogging platform into a nice, easy to use, general website platform. The WordPress eco-system grew fast and it surpassed Drupal and Joomla in terms of the range and variety of plugins/extensions/modules/add-ons that were available for it.
Who builds with WordPress?
There are many different types of people who build websites with WordPress, ranging from the professional web developer with coding skills to the do-it-yourselfer with no coding knowledge what-so-ever. People without coding skills can buy customisable commercial themes and page builders and configure them to create their own websites. How well it turns out depends on the theme selected and, more importantly, the knowledge of individual who is creating the website with it. Typical commercial themes try to appeal to a wide audience and come with a vast amount of design options. It takes a lot of effort to knock these themes into shape and produce the type of website that you might have in mind. The person building the website usually has to spend a lot of time making trial and error adjustments to the configurations to see how the different options effect the design and to find what options work best for their needs. With enough time and effort though, it is possible to achieve decent results. But designing and laying out the website is only one piece of the puzzle; there are other important considerations such performance, usability, search engine optimisation (SEO) and security. So to build a website that works well requires knowledge in many different areas and most business owners will leave it to the professionals. A professional web developer will usually have the coding skills to build their own themes and create a website that will only have the required features and generally should be more efficient. But of course, that is all down to the knowledge and skill of the developer. It is possible to build a great website with WordPress and it is definitely possible to build a terrible website with WordPress.
Targeted by hackers
Of course popularity has it’s downsides too. Since WordPress is the most popular CMS it is also probably the CMS that is most attacked by hackers and spammers. However this popularity is a two edged sword – since WordPress is popular, it get’s attacked more, but also since WordPress is popular, there are many developers at the ready to respond to the attacks and strengthen WordPress’s security. So WordPress gets attacked regularly, vulnerabilities get discovered rapidly and they get fixed rapidly. WordPress now even automatically updates itself by default when security updates are released so it is proactive in protecting it’s websites from attack. What could be perceived as a weakness, security vulnerability due to it’s popularity, has become one of it’s strengths as the WordPress community rapidly responds to attacks on it’s weak points.
Criticisms of WordPress
I sometimes hear other criticisms of WordPress. One that I’ve heard from some developers is that the core WordPress codebase is a mess. Well, I reckon if you closely enough at the codebase of any software system that has developed and evolved in the opensource community over a decade or two, you will find plenty messy aspects to them but yet, somehow they work and work very well! To be honest, I do not spend time looking under the hood of WordPress, analysing the structure and organisation of the codebase. But I do sometimes work on extended functionality that hooks in with the WordPress core and I have always found the system for hooking in and extending WordPress to be intuitive, straightforward and well documented. So my conclusion is that, ok, perhaps WordPress is not architected in a way that satisfies the software purists, but somehow it all works beautifully and is easy for developers of various abilities to understand and tap into and extend.
So my conclusion, as you will have gathered by now, is, YES, WordPress is good, damn good!
Let us know what you think of WordPress in the comments below.
How well it turns out depends on the theme selected and, more importantly, the knowledge of individual who is creating the website with it.