SEO for Headless CMS

In the last couple of years, I've worked on SEO using headless CMS (Decoupled Drupal, Adobe Experience Manager, Strapi (a little bit) and Contentful), and I have some insights that maybe other SEOs could find relevant.

What is a Headless CMS?

The headless architecture separates the management of a website into two different systems: one for content creation and storage and another system responsible for using and presenting data through an interface, no matter what it is.

In a headless CMS, the frontend is removed from the equation, leaving only the backend, which acts as an API-based content repository, delivering content to any frontend framework:

  • Single Page Applications
  • Internet of Things devices
  • Mobile Apps
  • Websites

From a technical viewpoint, headless architecture works with three main components:

  • A database or backend to store content and digital assets.
  • A content management system to create and manage content.
  • An API that serves as a bridge between the CMS backend and the frontend.
It is easy to see why SEO isn't the first priority in a Headless CSM. Since they are not intended for creating public websites only, basic SEO good practices are often missing.

How headless CMS helps Search Engine Optimization?

There is no one single SEO-based reason for choosing a Headless CMS. From a Search Engine point of view, they work in the exact way to any other website.

What are the advantages of using a Headless CMS for SEO?

Absolutely zero.

From an SEO perspective, Headless CMS fucking sucks

In the strange world of corporate CMS, SEO may not be the number one priority. In the Headless CMS world, SEO is the last one. This is very aparent when you see the documentation (if there is any), that are focused mostly on "add titles & descriptions to especific pages"

How can do SEO on a Headless CMS?

Before going nuts trying to understand how the hell you are supposed to manage and optimize something that requires everything to be developed from scratch, I have some suggestions to help you.

1. You need to have an extensive list of SEO requirements for every single type of page, from basic stuff (Title, Description, Canonical, Ahref Lang, H Tags) to particular needs (Open Graph, Schemas).

2. Remember that pages are created using components, so maybe you need to ask the developer team to create specific SEO modules that can be called from every page. Take the list from point 1, and define what items should behave automatically, what needs to be manually adjusted/completed, and the default values.

Note: there are no plugins or addons for SEO in Headless CMS. The closer is using an SEO module in Decoupled Drupal, which can work but is far from being a complete solution for all purposes.

3. Be sure to ask for a way to import SEO fields and update them in bulk. If you are working on a headless CMS, they expect to create a big website, an international multi-country/multi-language website, or both. You cannot afford to make changes page by page.

4. Server Side Rendering. Fuck Rendertron or any other similar service. Fuck Google when it says that you don't need to worry about JS rendering (or call me when you have indexed pages with zero content, your choice). Doesn’t matter what lovely, SEO-proof Javascript framework they are using. Server side rendering will let you sleep the night before going into production.

5. Add Schema for whatever you need from the very beginning. If you don't, it is unlikely you'll get another chance. After a Headless CMS website goes into production, adding new code is difficult and expensive. Remember to provide default values and ask for a way to fine-tune whatever you (or a content editor) want to.

6. SEO is absent in most of the documentation of this type of CMS*. Since the headless CMS structure provides you with absolute freedom to do whatever you want, SEO tags are just another "content-type," so forget about plugins/addons or plug-and-play solutions.

*Last time I checked (jun, 2021), AEM still considered “meta keywords” as a thing.

7. You need to be present in the development phase to provide structure and guidelines. Developers will have an agile approach, separating everything into components (that they use and reuse), but they rarely understand the whole page from an SEO perspective.

8. Ask for access to the beta/QA environment as early as possible and run tests with your tool of preference (mine is Sitebulb, but use whatever you like). A good idea is to know how to create user stories for SEO.

10. Be prepared to manage sitemaps & robots with workarounds or directly with external tools.

11. Learn how exactly your CMS handles URLs (friendly URLs, vanity URLs, redirects, URLs with/without www, URLs with uppercases, parameters, facets, etc.).

Best Headless CMS for SEO

(Last update: september 2021)

Please take this list with a grain of salt. I have not worked in all Headless CMS available in the market.

  1. Contentful
  2. Strapi
  3. Kantiki Kontent
  4. Decoupled Drupal
  5. Adobe Experience Manager

Headless CMS with a worrying lack of SEO documentation

(Last update: september 2021, no particular order, this list is WIP)

  • Directus
  • CoreDNA

Subscribe to SEO Mindset

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.