Our scenario was not unique. Multiple websites, each with its own CMS and each containing hundreds of pages meant we were drowning in a sea of content and code.
We had been using a traditional CMS, custom built in Adobe ColdFusion in the early 2000s. It had served us well, but it was no longer able to keep up with the increasing demands and expectations of our content creators. We had the problem that content existed in multiple places, which made updating it very time consuming, as well as frustrating for our content creators. Things would often get missed and become outdated. And in an effort to try and improve the UI of our sites, we were often bypassing the CMS and had gotten into the bad habit of hard-coding content, which meant updates regularly fell to the development team – never a good position to be in.
When speaking about the issues with a friend of mine, he asked if we had considered a headless CMS. Headless CMS is a term I had heard of but didn’t know too much about, however the more I read into it, the more it started to make sense as the best option for us. We trialled a few different offerings but by far the most user friendly, feature rich, and the one we ultimately went with, was Contentful. There are plenty of great articles out there giving the pros and cons of a traditional and headless CMS (like this one), so I won’t go into detail, but here are the benefits it has given us.
1. Avoid duplication of content
The problem we were finding with our old traditional CMS, was that because it is page focussed, we would inevitably duplicate content across pages and sites. This made it very difficult when updating content to ensure we captured every instance of that content. Contentful fixes this issue for us as our content is no longer situated on pages but is held in content objects that our websites call via an API. Because the content is only stored in one place, it only needs to be updated once, which has saved us a lot of time.
2. No longer “brittle”
A common problem with our old CMS was that the development team were constantly having to fix issues occurring from content being added or amended due to it being un intuitive or relying on content creators to understand HTML. It meant that users were nervous to add content and with no way to roll back changes, they would have to wait for the development team to resolve the issue. Because in Contentful the content is completely separate from the presentation layer, our content creators can be confident that they will not inadvertently break anything. It also has a great preview option, so users can check that their changes will appear as they expect them to before committing them to the live site.
3. Reduced deployment time
A big issue for us was that making changes to our old CMS, such as adding a new field, was such a cumbersome process that we had fallen into the trap of hard coding content into the presentation layer. This meant it often required a developer to amend the content. Contentful makes it very easy to add new fields to content objects, with a very intuitive user interface. This combined with a switch to a lighter tech stack, using NodeJS, means we can now deploy changes in a matter of minutes.
4. Improved site performance
Contentful has played a big role in improving the overall performance of our site. The Content Delivery API is fast, reliable and because we have been able to lighten our tech stack with a headless CMS, our average page load time has decreased by 70%.
5. Contentful is extensible
This is something we hadn’t really considered beforehand but as with all good SaaS systems, it’s their extensibility that makes them so much more powerful. Contentful provides a decent amount of integrations with third party applications but the thing we have found most useful is webhooks. Webhooks allow us to trigger events when content is created, updated and deleted. We use this to index content in Algolia, which powers our search functionality on the site.