Lighthouse audit document-title · SEO

Document does not have a title element: how to fix it

View raw .md for LLMs / your notes
Quick answer: This audit fails when the page has no title element. Add one unique, descriptive title of 50 to 60 characters per page, with the primary keyword first and the brand last if at all. The title is the strongest on-page SEO signal and the clickable headline in search results.

Lighthouse fails this audit when the page has no <title> element, or it is empty. The title is the single most important on-page SEO signal and the clickable blue headline in Google search results.

TL;DR

What does the document-title audit check?

Lighthouse confirms <head> contains a non-empty <title>. It does not score quality, but the title's wording determines ranking and click-through far more than its mere presence.

Why does the title tag matter for SEO and CTR?

Two separate effects:

  1. Ranking. The title is a primary relevance signal. A page targeting "fix render-blocking resources" with that phrase in the title ranks far better than one titled "Blog · Home".
  2. Click-through rate. The title is the headline in the SERP. Two pages can rank in the same position and see double the clicks based purely on title wording. CTR is itself an indirect ranking signal.

When the title is missing, Google synthesizes one from an <h1>, anchor text, or the site name. The result is often generic or duplicated across your whole site.

How do I write a good title tag?

<head>
  <title>Fix render-blocking resources: a practical guide</title>
</head>

What makes a title work:

What is a good title tag formula?

[Primary keyword / what the page solves] [optional modifier] [· Brand]
PageTitleChars
Audit explainerLargest Contentful Paint (LCP): what it is and how to fix it60
PricingPricing · Lighthouse audits for teams, from $9/mo49
HomePageSpeed to CLAUDE.md · turn Lighthouse audits into fixes58

What are common title tag mistakes?

How do I set the title in Next.js, WordPress, or Astro?

Next.js (App Router)

export const metadata = {
  title: 'Fix render-blocking resources: a practical guide',
};

Use a title template in the root layout for the brand suffix: title: { template: '%s · Lighthouse MD' }.

Next.js (Pages Router)

import Head from 'next/head';
<Head><title>Fix render-blocking resources: a practical guide</title></Head>

WordPress

Yoast SEO or Rank Math set per-post titles with templating tokens. Avoid theme-hardcoded titles that override them.

Astro

---
const title = 'Fix render-blocking resources: a practical guide';
---
<title>{title}</title>

How do I verify the title tag?

  1. Re-run Lighthouse: the audit should pass.
  2. View source and confirm a unique, non-empty <title> in the initial HTML.
  3. Search Console → URL Inspection → "Test live URL" to see Google's rendered title.
  4. Use a SERP simulator to check truncation on mobile and desktop.

Related audits


Audit your URL at https://lighthouse-md.com.

Audit your page now

Paste your URL, get scores plus a CLAUDE.md plan for Claude Code.

Run audit →