Services

Fix Missing Metadata, Canonicals and SEO Controls in a Headless CMS

Use this page when the CMS can publish content but still cannot reliably control titles, descriptions, canonicals, sitemaps, schema, or internal linking. This is about missing SEO controls in the content model and template contract, not runtime rendering bugs.

Fix the missing metadata, canonicals, sitemaps, schema, and internallink controls that often get left out of a headless CMS build.

Typical symptoms

  • Editors can publish content, but important types still ship weak titles, descriptions, canonicals, or social metadata.
  • The CMS model does not give teams reliable control over internal links, indexation hints, or structured content fields.
  • Search performance feels held back by the content model and template contract rather than by one rendering bug.

Likely causes

  • SEO requirements were never modelled properly into the CMS schema or content workflow.
  • Metadata ownership is split awkwardly between the CMS and frontend templates.
  • The headless build prioritised delivery speed and publishing convenience over searchcritical content primitives.

What I look at first

  • Quick check: inspect whether priority content types have explicit CMS fields and rendering rules for title, description, canonicals, internal links, headings, and image metadata.
  • How the CMS entry model maps into the actual rendered output on the most important templates.
  • Which SEOcritical decisions editors still have to work around manually.

How I help fix this

  • Identify the missing SEO primitives in the content model and template contract.
  • Define the smallest set of field, workflow, and rendering changes that closes the biggest gaps first.
  • Support rollout so editors gain better control without turning the CMS into a cluttered SEO form.

When to bring me in

  • Bring me in before a headless launch freezes weak content modelling into the platform.
  • Bring me in when the site is live but content teams are compensating manually for SEO controls the CMS should already support.

Related technical articles

  • Building a Headless CMS-Powered Site with Next.js

    01 September 2025

    Build a headless CMS-powered Next.js site with stronger content modelling, preview support, and data boundaries that scale well.

  • All about headless CMSes

    24 October 2021

    Websites have not been set-and-forget for a long time now, and without the technical know-how to update a static site, CMSes are a key part of web development.

  • Optimising HTML markup for SEO

    03 February 2017

    Optimising HTML improves SEO, accessibility, and user experience. Here, I explore semantic HTML, clean code, alt text, and other best practices.

Selected project context

  1. Nando’s

    Senior software engineer on the UK and Ireland replatform, migrating Nando’s customerfacing websites from legacy Drupal to a unified headless platform built with Next.js and Storyblok, with a focus on performance, accessibility, and SEO.

    Screenshot of the Nando’s website; part of John Kavanagh's development portfolio.
  2. IMG
    Licensing

    An allnew identity and website. Making careful use of their extensive library of client imagery, this was a groundup build using Gatsby, Contentful, and Netlify for this worldleading licensing company.

    Screenshot of the IMG Licensing website; part of John Kavanagh's development portfolio.
  3. Wreel
    Agency

    Technical director and lead developer for this digitalcentric design agency. A vibrant, animated, and engaging website developed using Gatsby, React, TypeScript, and Contentful.

    Screenshot of the Wreel Agency website; part of John Kavanagh's development portfolio.

Related services

  1. Parent hub

    Headless CMS Integration

    Choose the right CMS operations fix when preview, freshness, or editorial performance has stopped being trustworthy.

  2. Capability

    Technical SEO for JavaScript Applications

    Bring in engineeringled SEO help when Google is not indexing important JavaScript pages because rendering, crawlability, metadata, or migration changes are getting in the way.

  3. Adjacent scenario

    JavaScript SEO Rendering and Indexing Fix

    Diagnose why Google is not indexing important JavaScript pages before incomplete HTML, unstable metadata, or routing changes keep them out of search.

  4. Related page

    Headless Architecture Consulting

    Bring in headless CMS consulting when CMS architecture, SEO controls, preview trust, or revalidation decisions are about to lock in operational pain.

Questions teams usually ask

Is this mainly a CMS problem or a front-end problem?
Usually both. The gap appears where the content model, editorial workflow, and front-end rendering contract no longer agree on what search-critical content needs to exist and who controls it.
Can this be fixed without replatforming again?
Often yes. In many cases the biggest gains come from improving the existing content model and template contract rather than replacing the CMS or front end completely.

Send me the details

Send me the affected page or route, point me at the code if that helps, and tell me what you expected to happen versus what is happening now. If this connects to a Next.js migration, technical SEO drop, performance issue, launch, or platform move, include that context too. I'll come back with the clearest next step.

Skip past clients

Previous Clients