When a CMS like WordPress or Drupal Is a Bad Idea for a Website Project
December 6, 2019
At Itomic, we’ve been making websites for nearly 20 years. We’ve worked with everyone, from small businesses to government organisations. We’ve also built plenty of simple sites on a CMS like WordPress or Drupal and taken on completely bespoke and highly complex web development projects.
The point is, we know what we’re doing. And we know there’s no such thing as one best solution for every website. The technologies we choose to use when building websites depend on the size and complexity of the website and the client requirements.
If you’re considering working with a web development company and they tell you that they build all their sites on WordPress or Drupal, you might want to take this as a bit of a red flag.
There’s nothing wrong with WordPress or Drupal, of course! They’re both incredibly powerful and well-built content management systems, and we love using them when they suit the project. We’ve found that WordPress is usually the best solution for sites of small to medium size and complexity, and Drupal tends to be a good fit for medium to large websites.
However, they’re not suitable for every project. Many of our website development projects require custom web development that goes beyond the core strengths of a CMS. This is when we use an open source framework called Laravel to build sites and web apps.
When is a CMS a Bad Idea for Your Next Website Project?
Some web developers will tell you that you can build any kind of site on a CMS. While this may be technically true, it doesn’t mean that you should.
The clue is in the name – content management system. Solutions like WordPress and Drupal excel in organising content. Developers and clients alike love them because they’re easy to use and speed up the whole process of building a site.
If your site consists mostly of content, such as pages of information, blog posts, articles, documents, and so on, and is not likely to expand in functionality in the future, building your site on a CMS is a lot faster and cheaper than having a custom site developed for you.
WordPress, for example, was originally built as a blogging platform. Though it’s much more than just this today, if you’re going to build a blog or a simple to medium complexity site, it’s a great choice.
When your site goes beyond pure content, there are plugins available that extend the functionality of the core CMS. Using one or two of these is fine when your requirements match up exactly with the functionality of the plugin.
For example, you can build a small online store or forum with WordPress or Drupal, and it will function perfectly. If you choose plugins or modules that are coded well and updated regularly, your website should run quickly and smoothly, without errors.
However, you’ll start to see the limitations of these platforms for larger and more complex sites with very custom requirements. Often they’ll meet half of the requirement, but making them meet the other half requires that they be changed at coding level, often in a way that wasn’t intended in the original plugin.
Of course, it’s possible to build a custom plugin to provide the functionality you need. But the more custom code that needs to be developed, the more the developer will have to “hack” the CMS to bend it to work in the way they need it to. In fact, it may be more work to add the functionality you need to a CMS, rather than just build a custom solution on a framework from the start.
As one developer explains: “It takes me 5–10 times less time to do the same features with Laravel than WordPress. Every time you develop for WordPress you have to “hack” something to get it working.”
And, with more complex code comes issues with security and upgrades. If a new version of the CMS is released, there’s no guarantee it will be compatible with your custom solution. This means that you may not be able to access new updates and features of the software without spending more time and money on upgrading your custom plugins.
Plus, the more plugins you start to use, the more potential security holes they will introduce, and the slower and more sluggish your site will become.
We’ve seen so many cases when a business has attempted to build a web solution with a CMS, when really a framework would have better matched their business needs.
Security Benefits of Web Frameworks
Additionally, a website custom-built on a framework will be more secure than one built on a CMS, no matter how secure the developers of the CMS claim it is. This is because the code of a custom-built website is unique, and so it’s harder to break.
WordPress websites are the most hacked on the web – they accounted for 90% of all hacked CMS sites in 2018. This is not because WordPress is inherently insecure, but it is rather because it’s a victim of its own popularity. Finding a security hole in the core code of WordPress could give hackers access to millions of websites. This issue is exacerbated by the fact that many site owners don’t update their WordPress sites promptly when a new version of the software or patch is released. Of course, when properly managed via regular security updates, these risks are reduced.
The additional security of sites custom-built on a framework means that this type of site is highly recommended for government organisations, businesses that need a website for storing or displaying customer data, or any business with high security requirements.
Web Frameworks Explained
So what exactly are we talking about when we say “framework”? A web application framework is software that’s specially designed as a base for web development.
Building a site on a framework rather than developing it from scratch is not only a quicker way of developing custom websites, but it also results in cleaner, less buggy code as the framework has been thoroughly tested.
You can think of building a website on a framework as similar to building a house from Lego bricks. The basic elements – blocks, windows, doors etc. – are all there so you can quickly put together something that looks and works great, rather than attempting to melt and mould your own plastic!
Why We Work with Laravel
Laravel is an open source framework built for PHP. Open source software is built with a free license that allows anyone to use and adapt it. This not only makes it a cost-effective option as you don’t have to worry about paying for development licenses, but it also means you benefit from the rapid development cycles of the open source community.
There are a few different open source frameworks built on PHP, but Laravel is by far the most popular, and its use is growing all the time as you can see in this graph from Google Trends.
In 2016, it overtook Ruby on Rails, which had been the most popular framework for some time, and its popularity shows no signs of slowing down.
There are several different reasons for this popularity. For a start, PHP has been around for a lot longer than some other programming languages, and many developers prefer to work in PHP.
It makes sense to use a framework that’s built on your favourite language rather than learn a new one or work with one you’re not so keen on (we won’t go into the reasons why developers prefer some languages over others, but let’s just say that there are good reasons why PHP has been one of the most popular for so many years).
Laravel also offers lots of technical advantages, which won’t make much sense to you if you’re not a developer. But things like built-in authentication and authorisation support for multiple file systems, automated testing, and a comprehensive object-oriented library give it an edge over other PHP frameworks.
Some examples of sites we’ve built using Laravel include:
- A ticketing system.
- A virtual tour of a children’s hospital.
- A repository of legal resource kits for community service providers.
- A project news and leads site for the resource sector.
CMS or Framework – Which Is the Right Choice for Your Business?
Hopefully, you understand that we’re not criticising content management systems like WordPress and Drupal. We do, in fact, use them for many sites we build for our clients! They offer many advantages over custom-built sites in certain situations, such as an intuitive user experience for content administrators.
We can certainly build you a site quicker and more cheaply if we build it on a CMS rather than if we custom-code it from the start, and you won’t necessarily need us to make small updates in the future. Building a site on a CMS means it’s straightforward for non-technical people to do simple tasks like adding new pages without the services of a web development company.
However, building a site on a framework like Laravel does offer additional flexibility and power, and it’s the natural choice for complex sites or web apps with unique requirements. It can also be used to deliver a micro-service that integrates with a website.
Thinking ahead is also vital. We often meet with clients who had a small WordPress website that completely met their needs at first. However, as their business and requirements grow, it becomes harder and harder to adapt the original website. If there is a good possibility you may need more complex functionality in the future, it may be a wise decision to build your site or web app on a framework from the start for more flexibility.
If you’re not sure what type of site you want to build, no worries – leave it up to us! With almost two decades of experience in building sites for clients large and small, we can tell you what the best option is for your individual business requirements and budget.
Get in touch for a no-obligation consultation today, and we’d be more than happy to discuss your website project at a time that’s convenient to you.