A comparison between Wagtail CMS and WordPress

If you’re curious about the differences between Wagtail CMS and WordPress then you’ve landed in the right place.

Kalob Taulien
16 min readApr 20, 2022

This is a fairly large subject and a topic I’m quite passionate about. There are a lot of pros and cons to using different types of content management systems, and hopefully, by the end of this blog post, I’ll have helped you decide which CMS is right for you and your organization.

It’s worth noting that I’m a developer who has used WordPress since its inception, but I’m also a huge fan of Wagtail CMS. I’m going to try to provide an unbiased overview of the two major content management systems.

If you’d rather watch the presentation about Wagtail vs. WordPress, it’s available at the bottom of this blog post and on YouTube.

Overview

Every content management system (CMS) has the same goal: to manage your content in a way that makes sense for you and your organization. There are a plethora of choices to choose from ranging from specific needs to very broad needs; one CMS might allow you to manage your design and search engine optimization, whereas another might only focus on written content.

Wagtail CMS and WordPress are two incredibly popular content management systems (CMS). Wagtail is the most popular CMS for the Python programming language, and WordPress is the most popular for PHP. The difference is WordPress is also the reigning winner in regards to the general size in the overall market with over 1/3rd of all websites using WordPress. In this blog post, I aim to help you determine which content management system would be best for your organization.

I find there are lots of use cases for both Wagtail and WordPress. Most notably, using WordPress is great for quick or temporary websites along with marketing websites where your marketing team needs ultimate flexibility. Whereas Wagtail is built to last, and can take a little more time to develop but will serve you and your organization for a longer period of time.

WordPress is great for quick or temporary websites along with marketing websites where your marketing team needs ultimate flexibility.

Both content management systems can be a good investment for your organization, but in this article, I’m going to outline why you may want to consider Wagtail. Of course, this depends on your team, your processes, your internal best practices when working on your website, and more. Always choose what’s right for your organization.

Differences at a glance

Wagtail CMS and WordPress are extremely different in many ways. Here is a quick list of differences.

  • Wagtail uses Python. WordPress uses PHP.
  • Wagtail uses Python packages that a developer needs to install. WordPress uses plugins.
  • Wagtail leverages a framework called Django. WordPress pre-dates most backend frameworks.
  • Wagtail does not come with any pre-made themes. WordPress has thousands of themes to choose from.
  • Wagtail requires a developer. WordPress can be set up without any developers.
  • Wagtail comes with free built-in enterprise-level features such as workflows, reports, language translations, audit logging, and permissions. WordPress requires plugins for those features — the good plugins are usually premium plugins you need to pay for.
  • Wagtail wants to manage your content. WordPress wants to manage your entire website.
  • Wagtail exists between a website and a web app with a preferred database that can handle I/O very well. WordPress leans more towards website-only with a default database structure that’s read-only friendly. (Think chat app vs. blog)

There are a lot of differences because both CMSes have different purposes. Wagtail wants to manage your content (and your data) in a clean way. WordPress cares less about clean data practices, but also comes with theme support.

Extendability

Road sign pointing in opposite directions in front of a field.

Being able to extend your content management system is pretty important these days. Whether or not you’re a developer, you’ll probably run into a scenario where you want to extend functionality. With both Wagtail CMS and WordPress, you can easily extend your default functionality. But there are some differences.

Wagtail typically requires a developer, which I personally find to be positive because you can leverage the expertise of someone who works in tech. Whereas WordPress has a plugin ecosystem that’s absolutely massive and you can install plugins with just a couple of clicks — and that on its own is an incredibly powerful feature.

Wagtail typically requires a developer. WordPress has a powerful plugin ecosystem.

At first, using WordPress is going to seem like a major win for your company, but if you’re assessing content management systems for your organization you should also take into account how long you plan to support a website for if you are going to continue to extend functionality at a later date, and how hard it’s going to be to implement those changes in the future.

With WordPress, you get A LOT of plugin power right out of the box and that will make it seem like the winning choice. However, if you ever, for any reason, need to extend beyond a generic plugin for advanced functionality on your website, you’re going to run into a lot of problems (usually, but not always). Plugins eventually step on each other’s toes and tend to slow your website down. And custom code needs to walk a fine line between those plugins. If your custom code or custom website template (think: design) isn’t properly implementing all the hooks that come with WordPress, you might have plugins installed that aren’t actually doing anything.

With Wagtail, it’s a bit more involved. You need a developer to install packages for you, but extending functionality with custom code is a lot easier starting on day 1, and doesn’t get any harder after several years. There is no fine line that you need to walk. Wagtail also comes with enterprise-level features by default — with one or two lines of code you can implement advanced functionality like translating pages or having custom reports for your pages. It has audit logging, page history, and group level permissions built into it in an easy-to-use and easy-to-manage manner.

Scalability

Person pointing to a piece of paper with two growth charts on it.

Scaling a website is usually hard and often means you need a DevOps person to help you manage your server infrastructure. This is true for every website. The most common solution is to increase the number of servers you have and use a load balancer to evenly distribute your traffic, often with auto-scaling properties that automatically spin up (or tear down) servers that you no longer need.

However, before you even get to that point, you may want to look at optimizing your website to make it faster so it can handle more web requests in less time. Fewer servers mean a smaller monthly or annual expense, and you can make your money go farther. Some content management systems load a lot by default, and some just load the bare minimum you need with everything else being an add-on. There are pros and cons to both of those setups.

Wagtail CMS is highly scalable. Built on the world-famous Django Web Framework, which is used by the likes of Instagram and Pinterest, you can rest easy knowing that it’s scalable right out of the box, and if you’re lucky enough to have massive traffic spikes you can always extend functionality to make your website load fast. And it’s easy to do that with Wagtail and Django. As for performance, Wagtail only adds a few extra database queries on top of Django (without any additional customizations). This is important to keep your website running as fast as possible, to keep your users happy with quick response times, and will help keep your monthly hosting fees low by using fewer servers.

Wagtail CMS is highly scalable. Built on the world-famous Django Web Framework, which is used by the likes of Instagram and Pinterest…

With WordPress, it’s not uncommon to have dozens of plugins installed and have your website completely stop responding when just 50 people hit your website at the same time. Even with the same server specs for both content management systems, one simply scales better than the other.

The tradeoff comes from your developers. With Wagtail, you typically have a developer who can optimize your codebase — but you do need a developer for this. Whereas WordPress doesn’t need a developer, that means your team is more likely to add unnecessary bloat via plugins that slow down your website.

Security

Computer mouse pointing to the word “security”

Security should be something everybody thinks about. If a malicious user breaks into your website you could lose all your data or have your website defaced, potentially ruining all the hard work you put into growing your brand.

With Wagtail CMS, you’re getting world-class security due to the fact that it piggybacks off of Django. When there is a new security release, it’s as easy as typing one line of code to get the latest security updates.

WordPress on the other hand has a history of bad security practices. I don’t think those are applicable today as long as the files and folders have the right permissions. However, and this is what terrifies me about WordPress, plugins often have major security flaws built into them. Most notably: SQL injection vulnerabilities.

WordPress plugins often have major security flaws built into them.

A lot of WordPress plugins are built with developer-written database queries, which can be fast to execute but also unsafe. Whereas Wagtail uses a tool called an ORM (object relation mapping), which programmatically creates your database queries and makes it safe to use 100% of the time. In the Wagtail (and Django) ecosystem, if a developer sees raw SQL to communicate with a database, that is a big security concern that most people will detect immediately.

Regardless of which CMS you use, always keep security in mind!

Design

Two computer monitors with web design programs open.

Almost every website design is somehow unique. Even if it looks and acts similar to competing websites, you usually do something different from your competition that makes you unique. For a lot of organizations, visual identity is a key strategy in their branding efforts. After all, the last thing you want is someone buying from your competition because they mistook their website for your website.

WordPress has thousands of themes to choose from. Wagtail doesn’t come with any pre-made themes.

With Wagtail, you aren’t locked into any pre-made themes. Wagtail only wants to manage your content and make accessing your content, easy for you and your organization. Wagtail has no opinions about your frontend — the part that your users see. That’s for you to implement. Personally, I think this is a huge win for the CMS ecosystem. That means I’m completely free to implement any design and technology that I want to use. You can also be sure that your website is definitely unique. There will never be another website that looks like yours. But this means you need to create your own theme for your Wagtail website, whereas WordPress has thousands of themes to choose from.

With WordPress, the same is possible but it’s very rare that a WordPress website has a completely unique design. Typically, themes are installed from the plugin ecosystem, and even if you paid for your theme, simply due to the massive size and popularity of WordPress you can be guaranteed that there are hundreds, if not thousands, of other websites that look exactly like yours.

Get more but don’t pay more

Person writing the word “more” on a whiteboard.

However, when you need advanced functionality in WordPress, such as internationalization (multilingual support), you end up installing a bad plugin and eventually paying for a good plugin. The same goes for most advanced plugins like transferring data between sites (like staging and production), A/B split testing and more.

Both Wagtail and WordPress are free to use for any reason.

Internationalization

Wagtail comes with multilingual support built into it. And for extended functionality, you can use wagtail-localize — which is a 3rd party package that’s maintained by the Wagtail core team.

WordPress obviously has internationalization, but it typically comes as a premium plugin you need to pay for.

A/B split testing

Wagtail doesn’t come with A/B testing built-in, but one of the 3rd party packages that the core team maintains allows you to create an A/B test between your current page version and the previous version (called a revision).

WordPress has plugins for this as well. So these are similar in nature when comparing Wagtail and WordPress.

Reports

Wagtail comes with reports to see what has happened to different page types, organized by date, author, and action. This is a core feature in Wagtail CMS.

WordPress, as you have probably guessed by now, doesn’t come with reports as a primary feature. However, there are plugins to help you achieve this.

Headless

A headless CMS is a content management system that doesn’t render its own templates. Instead, it provides API data for a frontend technology like React.js or Vue.js to use. Wagtail comes with an API that can be enabled with a couple of lines of code.

Neither Wagtail nor WordPress are headless-first content management systems, but both can be easily extended to support API endpoints (both GraphQL and RESTful APIs are supported).

Workflows

At an enterprise-level, you might have experienced a concept of a workflow. A Workflow is a set of tasks that need to be completed before an action can be taken. For example, you might want to write an article, have your SEO person check it for keywords, proofread it, translate it, and then publish it.

For larger organizations to use, Wagtail has Workflows built right into the core code. It’s extremely flexible — you can set it up in any way that makes sense for your organization.

While I don’t know about a specific WordPress plugin that can do this, I’m sure it exists somewhere.

Extendability

Additionally, if Wagtail doesn’t have a package you need, you can always tap into the Django and Python package ecosystems to create advanced functionality that works for you and your organization’s unique needs.

WordPress is limited to its plugin ecosystem, but thankfully there are hundreds of thousands of plugins to search through.

User permissions

Street lights showing stop signals with a walk signal in the middle.

Permissions are a huge part of working in a team and for security purposes, especially on larger teams or teams with contractors, you may want to restrict what your team can and cannot do. This is a good idea seeing that a lot of website “hacks” are from internal teams and disgruntled team members. On a lighter note, restricting what people can and cannot do on your website allows them to focus on what they should be doing, like writing content and not changing global configuration settings.

With Wagtail, you get permissions right away. You can create groups and assign users to those groups, enable (or disable) certain features and even disable certain page types that cannot be added, edited, or deleted. And like most things in the world of Wagtail, this is completely optional. If you want to create an administrator account for your editors to use with full access, that’s also allowed.

Wagtail comes with user permissions by default. WordPress requires additional plugins.

With a CMS like WordPress you typically need plugins to do this, which means you have to install and manage one more plugin, and that plugin only has access to certain parts of WordPress because, well, it’s simply an extension and not a primary “core” feature of the CMS.

But permissions are more than security or locking features for certain people, it’s also about focus and collaboration. With Wagtail, you get reports and custom workflows for advanced article writing. Instead of internally managing your team, keeping track of your content, and who should be working on it at different stages, you can create a custom workflow that’s right for you and your organization. For example, say you wanted to run a blog post by the legal team, then through the SEO team, and maybe take an action that’s unique to your organization before the page is officially published. That’s no problem and comes with Wagtail for free. It helps your teams stay organized while pushing content through a workflow that your organization already uses.

Furthermore, you can even leave comments on your pages just for other editors to see and reply to. Think: Google Docs, but in Wagtail. While your articles go through different workflow tasks, like an SEO pre-check, the team can collaborate internally right inside of Wagtail itself. No need for spreadsheets, no more async conversations over Slack, no more Zoom calls. It can all be handled directly inside of Wagtail, and permissions are wrapped around just about everything and can be customized to different groups who are working on different tasks.

We see organizations like the NHS, the National Health Service in the UK, which is the fifth-largest employer on Earth, using Wagtail and leveraging permissions in a way that keeps their website safe and sane for their team members.

Reusable content

Paper that says reduce, reuse and recycle.

Have you ever wanted to make a change on a website, but then realized you need to make that change on every single page? With Wagtail’s reusable content feature, called Snippets, you can make one change and have it applied to every part of the website that it’s being used on.

Most CMSs have a feature like this, but in Wagtail it’s explicitly designed to re-use content. For example, if you had a website about cooking and your authors were all chefs, but you realized you made a typo in their name, you could update their name in that author's “snippet” and it would update across the entire website instantly. No more spending countless hours updating each page one by one.

Both Wagtail and WordPress come with reusable pieces of data. Wagtail calls them Snippets and WordPress calls them Taxonomies.

This isn’t a new concept by any means. Most world-class CMSes have something similar to this. In WordPress, it’s a bit trickier to work with data like that but it’s also possible with WordPress’s flexible taxonomies. But in Wagtail, it’s a primary menu item where you can filter through different snippet types, and then search through all the data to find the one you’re looking for. It’s a clean interface and makes editing content across your website extremely friendly.

Choosing the right CMS

Room with 5 doors that all look the same.

Choosing a content management system should be more than surface-level features. While WordPress has its perfect use cases, those who look beyond the first 6 months of their website’s future tend to see that they’ll outgrow WordPress quite quickly, which means that at some point in the future, you’ll be reinventing your website and trying to move data from WordPress to another CMS.

Lots of clients outgrow WordPress within 6 months. But that doesn’t mean WordPress wasn’t valuable during that time.

My hope is that this blog could help you understand some core differences between Wagtail and WordPress. Or at a bare minimum, I hope I’ve been able to help you think about the longevity and lifespan of your future website even if you don’t choose either of these options.

In this blog post, I’ve really only tapped into some of the features that Wagtail can offer. There’s a lot more where this comes from, including built-in language support, multilingual support, reports, page revisions, audit logging, multi-site support, headless APIs, image cropping, and much much more. If Wagtail can’t do it, Django can. And if Django can’t do it, Python can. By using this stack for your backend you’re empowering yourself and your developers to create anything you can imagine on the web.

Wagtail has a free Slack community.

But don’t stop here. Feel free to join our Slack community to see what kinds of questions are being asked, or even ask questions you have to determine if Wagtail is the right solution for you and your organization.

Migration help

Migrating from one CMS to another can be tricky at the best of times. If you currently have a WordPress website and you want to migrate to Wagtail there is a publicly available Python package to help. It’s called wagtail-wordpress-import and can be found here: https://github.com/torchbox/wagtail-wordpress-import. It comes with a documentation folder that you can read directly on GitHub as well as examples, settings, and diagrams.

Summary

I’m by no means saying, “don’t use WordPress”. I’m also not saying Wagtail is a perfect fit for your organization, either. They are two very different systems with different purposes.

WordPress gives you a lot of power without having to write any code. But that comes with its own set of drawbacks. Whereas Wagtail comes with enterprise-level features, you need a developer to help set up your website.

In summary, there are some key differences that you may need to consider before choosing your next content management system.

  • Wagtail uses a world-class framework called Django. WordPress pre-dates most frameworks.
  • Wagtail requires a developer. WordPress does not need a developer.
  • Wagtail is extremely flexible — it can do anything you want with a little help from a developer. WordPress is flexible with its plugin ecosystem.
  • Wagtail can be more scalable because you have a developer to help. WordPress may require several plugins to keep the site fast as it scales over time.
  • Wagtail has a great security track record. WordPress is secure too, but some major plugins have had security problems. Always audit your 3rd party code.
  • Wagtail does not come with any themes. WordPress has thousands of nice themes to choose from.
  • Wagtail comes with free enterprise-level features like multilingual support, workflows, permissions, groups, and reports. WordPress can do that, too, but needs several plugins, often they come with a price.
  • Wagtail and WordPress both have reusable content called Snippets and Taxonomies.

Wagtail vs. WordPress Presentation

Below is the recorded presentation from Wagtail Space 2022 in Cleveland. It highlights a lot of what has been talked about in this blog post (and a bit more) and has some fun anecdotal stories.

--

--