Back to blogs

Why Wagtail is a great CMS

14 March 2022 •

By: Adrian and Tahlea Reviews

We revamped our website and it was the perfect opportunity to introduce a new content management system (CMS). Today we will look at why we decided on Wagtail, an open source CMS, and the features that convinced us.

We were tasked to find a great CMS that would meet our website requirements. With so many great content management systems available; we were spoiled for choice but we ultimately chose Wagtail. We’re so happy about it, we’re sharing why we think it’s a great CMS. 

How we discovered Wagtail

Our website was due for a refresh and in the initial discussions, the restrictions and overall experience of our custom-built Django admin back-end were a concern. Previously, we had built our blog with a basic rich text editor called TinyMCE. This component library has many limitations, one being the ability for our marketing team to insert content images hosted on AWS S3 into our blog posts. We put together a list of the requirements and desired features for the CMS and used this as our guide to narrow down the options, which brought us to two contenders: Django CMS and Wagtail.  

Wagtail vs Django.png

Source: Ordinary Coders

The requirements and features we were looking for included: 

  1. Hosting our blog post content. i.e. images/videos on AWS S3 instead of on our VPS host.
  2. The ability to view posts in draft before publishing them for the world to see.
  3. Blog post revisions. This would enable us to revert to a previous version of a blog post.
  4. The ability for potential job candidates to upload their résumé on our careers page, securely and privately on AWS S3, for later retrieval by our HR department.

We then built two prototypes to showcase the overall look, the capabilities and features of both Django CMS and Wagtail to our management team. 

Why we decided on Wagtail

Both Django CMS and Wagtail ticked many of the items on our requirement list off, but there were a few key items that sold us.

More flexibility

Since Django CMS is the Python version of WordPress (PHP) it is limited with the types of content you can create. It also couldn’t handle content images the way we intended. Wagtail also has a rich community of developers creating addons (Django apps) to help further expand its functionality. Wagtail leans more towards a CMS framework instead of a standard CMS solution itself, and this enables for flexibility and customisation by our development team. 

‘StreamField’ functionality

Wagtail offers a functionality called “streamfield” which allows for dynamic content. According to Apacio, “The streamfield is a powerful way of creating your content that relies on a set of building blocks to stack and order different layout types”. 

Stream field screen.png

Source: Joss Ingram

Easily migrate content 

Wagtail enables you to easily migrate existing content from the Django Admin Portal and register Django models as Wagtail ModelAdmins. Essentially, all our content could easily be “moved” from the Django Admin Portal to Wagtail.  

Beautiful design 

Wagtail is a beautifully designed CMS which makes it incredibly pleasant to use. The easy to grasp functionality means onboarding or introducing Wagtail to a team is a light process. 

Wagtail Design Screen.jpg

Source: Fabrique

How does Wagtail perform? 

Let’s just say that Wagtail stands on top of Django’s shoulders. Since Wagtail is built on the Django framework, it’s quite easy to get started and build content pages. You, as the developer, get to choose how each page functions, with the freedom to customise the database queries for a page.

Built with the developer in mind, Wagtail follows the same design principles as the Django framework has laid out. It’s designed for speed and makes use of the same Django features you know and love.

We use caching to speed up the delivery of rendered content pages. Our dynamic pages are rendered for the first time and are then stored in Redis for quicker retrieval. This makes our website load extremely quickly. Wagtail also uses Django’s cached template loader to cache the results of rendered templates. This allows pages to be served even quicker to the user.

There are a number of household names that use Wagtail on their websites such as Google, NASA and NHS. This could have easily convinced us to opt in but identifying our website requirements and assessing it against the available content management systems, allowed us to make an informed decision and now we can confidently say that Wagtail is a great CMS for our website. 

Still not convinced? Check out Made with Wagtail, a website showcasing websites and apps that are made with the Wagtail CMS.

P.S. If you haven’t already, browse our newly refreshed website

Featured image by Raw Pixel and sourced from Freepik.

Share this
14 March 2022
By: Adrian and Tahlea

More interesting reads