Two or more crawled pages share an identical title
ShipReady found the same non-empty title text on two or more distinct paths among the pages its crawl fetched.
Why it matters
Titles are how people tell tabs, bookmarks and search listings apart. When several different pages carry the same title, that distinction is lost, and a shared title is often a sign that one layout default was never overridden.
This page documents what ShipReady measured. It does not claim any effect on search ranking or indexing.
How ShipReady detects it
What it inspects
ShipReady reads the title text from pages the crawl had already fetched, using the same extraction patterns as its single-page metadata rules. It makes no additional requests.
Values are compared after HTML entities are decoded and whitespace is collapsed. Case and punctuation are not altered, so "Pricing" and "PRICING" are different values.
Pages are identified by URL path with the query string and any trailing slash removed, so /checkout?plan=pro and /checkout?plan=max count as one page.
What triggers a finding
The same normalised, non-empty title appears on at least two distinct paths in the crawled sample.
A title that matches a known scaffold default (for example "Create Next App", case-insensitively) is not reported by this rule, because unedited-scaffold-branding already covers it.
At most three duplicate groups are reported per scan, and the evidence names at most five paths per group. The total page count in the evidence is not capped.
What the evidence shows
The quoted title text was served identically by each listed path in the HTML ShipReady fetched during this scan.
Limits of this check
Only pages fetched within the crawl budget (ten pages by default) are compared. Two pages never fetched can share a title without being reported, and a clean result does not mean the whole site has unique titles.
Titles set only by JavaScript after load are not seen. Missing or empty titles are never treated as a shared value; other rules cover those.
Only exact matches after normalisation are reported. Near-duplicates, and titles that differ only by case or punctuation, are not.
ShipReady does not judge whether pages that legitimately share a title should, and does not measure how a search engine treats them.
How to fix it
Find where the shared title is set
Look for a layout, shared head component or index.html that supplies a default title that individual routes never override.
Give each distinct page its own title
Write a title that describes that specific page. Pages that are genuinely the same content under different URLs are a canonical question rather than a title question, so do not change canonicals solely to silence this finding.
How to verify the change
Compare the deployed titles
Fetch each listed path and read the title element in the returned HTML. Then re-run the scan.
Expected: Each listed path returns a title distinct from the others, and the finding no longer appears for that group.
Related checks
- Two or more crawled pages share an identical meta descriptionUses the same crawled-page comparison for meta descriptions.
- Fetched page title matches a supported framework defaultReports scaffold default titles, which this rule intentionally skips.
- Fetched page has an empty title elementReports an absent or empty title, which this rule never counts as shared.