Duplicate H2 heading

headings.h2_duplicate
Priority
Note
Severity
Info

What we look for

These pages have an H2 heading (a section heading under the main one) with the same text as an H2 on another crawled page. Pages kept out of search, or that name another page as the one to show, are left out.

Why it matters

Repeated H2s are often headings the site's template puts on many pages, such as “Frequently asked questions”, and those need no change. A heading meant to describe one page's own content does that better when no other page uses it.

How to fix

Change a repeated H2 only where it is meant to be unique to the page, and rewrite it to say what that page's section covers. Leave headings that belong to the template, such as a footer or a questions block, as they are.

Seen in a real crawl

From a crawl of Fernhollow Outdoor, a test site built for this site’s demo.

Note

15 pages repeat subheadings used on other pages

  • /about/Duplicate H2s: The short version, The details
  • /backpacks/Duplicate H2s: Help choosing
  • /backpacks/ridge-45/Duplicate H2s: Why we stock it, Tested on a wet weekend
First 3 of 15 addressesPaths on http://127.0.0.1:8006raptor 0.3.0, 17 Oct 2026

Open this finding in that crawl’s report

It also fired on Kestrel Bay Digital.

Where you’ll see it

The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.

Terminal
When it is one of the five findings under Fix first, raptor crawl prints the id under it.
Check: headings.h2_duplicate
crawl.json and the CSV
The crawl JSON names the finding by this id, and so do the CSV and raptor_query.
"check_id": "headings.h2_duplicate"
The HTML report
This link opens the finding in the report, and each finding shows its id.
crawl.html#finding=headings.h2_duplicate
MCP
raptor_findings with this check_id returns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.
raptor_findings {
  "job_id": "...",
  "check_id": "headings.h2_duplicate"
}