Skip to main content
All fixes

SEO, schema, meta tags

Fix Missing Title Tag: Add a Unique Title to Every Page

A missing <title> element forces Google to invent one from page content. Add a unique, keyword-led title under 60 characters to every indexable URL.

What's happening

The element in the document head is the most important on-page SEO signal. It is the clickable headline on the SERP, the default tab title in browsers, and the default share title when a page is bookmarked or pasted into chat. When the element is missing or empty, Google improvises a title from H1 content, anchor text from external links, or open-graph tags.

Google's auto-generated titles are unpredictable. They may pick any heading on the page, the brand name alone, or the URL slug. The Search Console URL Inspection tool shows the live-fetched HTML, but does not alert you when the title is missing — you have to check manually or via a crawl.

Missing titles are particularly common on programmatically generated pages — paginated archives, faceted filter pages, error pages — where the template forgot to set the title for every variant. They also appear when a CMS's title-template was left blank during setup.

Why it matters

CTR collapses. A SERP listing with no recognizable title or a generic auto-generated one (often just the URL slug) has visibly worse CTR than a properly titled competitor. A 30-50% relative CTR loss is common on competitive queries.

Ranking suffers because the title is one of Google's strongest relevance signals. Without it, Google leans more heavily on body content and link anchor text, both of which are noisier signals. For thin pages this means dropping out of relevant SERPs entirely.

Tab management breaks for users. A bookmark with no title saves with the URL as its label, which makes the bookmark useless on revisit. Same for pasted links in Slack, Discord, or notes apps that fall back to the title for preview.

Common causes

  • The HTML template does not output a element by default.
  • A CMS title field is empty for newly created pages.
  • Programmatic pages forgot to set the title in the page-data schema.
  • JavaScript framework's document.title set runs after server render and Googlebot rendered the empty server HTML.
  • An i18n setup falls back to an empty string for missing translations.
  • A migration removed the title field from the data model and templates broke silently.

Detect this on your site

Run a quick scan with the SEO Auditor. The tool surfaces this exact issue with the records and context needed to apply the fix below.

Open SEO Auditor

How to fix it

  1. 1

    Audit which pages have empty titles

    Crawl the site and flag every URL where the element is missing, empty, or contains only whitespace. The SEO Auditor reports this directly. Group results by URL pattern to find systemic template bugs.

  2. 2

    Add a title to the layout fallback

    In your framework's root layout, set a default title that uses the brand name. In Next.js this is the metadata export with title: { default: 'Brand', template: '%s | Brand' }. This guarantees no page ships with an empty title.

  3. 3

    Set unique titles per page

    Every indexable page must have its own title, not the layout default. Reuse the H1 as a starting point and add the brand suffix. For programmatic pages, derive the title from the page's primary entity (product name, article headline).

  4. 4

    Keep titles 50-60 characters

    Front-load the primary keyword and use ' | Brand' as a short suffix. Avoid generic words like 'Home', 'Page', or 'Welcome'. The title should describe what the page delivers in user-intent language.

  5. 5

    Validate via View Source, not DevTools Elements

    Some frameworks set the title client-side via document.title. Googlebot indexes the rendered DOM but ranking signals lean on the initial HTML, so confirm the title is present in View Source, not just in the live DOM.

  6. 6

    Add a unit test or build check

    A simple post-build check that fails when any /sitemap-listed URL returns HTML without a non-empty element catches regressions before they ship.

Example

<head>
  <title>Espresso Machines Under $500 | Brewbar</title>
  <meta name="description" content="..." />
</head>

Minimal correct title in the document head

Frequently asked

Yes but Google generates a synthetic title from H1 or anchor text which usually performs worse on CTR. Missing titles are a strong negative signal for a page's overall on-page SEO health.

They can but they should not. Duplicate titles confuse the SERP picker — Google may consolidate signals to the wrong URL or treat the pages as near-duplicates. Every indexable URL should have a unique title.

Casing is not a ranking factor but Title Case ('Espresso Machines Under $500') tends to outperform lowercase or ALL CAPS on CTR because it reads as authoritative without shouting.

Related fixes