Pages where most text sits outside the main region
high_boilerplate_ratio · Opportunity
This appears when the main region of an indexable page holds less than a fifth of the words extracted from its server HTML, so menus, sidebars, footers and other text outside it carry most of the page. It is a notice for triage, not an error, and it does not prove that the outside text is a shared template. Add substantive content inside the main region, or keep pure utility pages out of search on purpose.
Severity: Notice. The share points to pages worth a look, not to a confirmed problem.
Why it matters
When most of what a visitor reads sits around the main region rather than in it, the page may offer little of its own. Seeing these pages helps you decide where the main content needs more substance.
What to do
- Look at the evidence in the finding: the words counted inside the main region, the words counted outside it, and an excerpt of the main region.
- Add content that belongs to this page, such as a description, details or the answers a visitor needs, inside the main region.
- If the page is a utility page that should not be found in search, mark it noindex deliberately rather than padding it with text.
When to leave it as it is: if the page is a short utility page, such as a sign-in form, a cart or a confirmation step, and it does its job, leave it. The finding reports a proportion; it does not claim the page lacks a purpose.
What we read
We read the complete HTML of each indexable page as the server returned it with status 200 and type text/html, without running JavaScript.
We choose a region kind in order: main if any are present, otherwise role="main", otherwise article. There must be exactly one element of the chosen kind. We count the extracted HTML words inside it and across the body, and report the page when five times the main count is below the body total, an exact share under 20%.
Text outside the main region is counted as outside, not identified as a template: we do not compare pages with each other. Text inside the region counts as main even if it is a menu.
Example & evidence
Illustrative example — one page, not a live audit.
Address: https://bakery.example/branches/riverside/
Words extracted from the server HTML, part by part:
header and menu 156 words
main region 18 words
sidebar 94 words
footer 144 words18 of the 412 extracted words are inside the main region, under 20%, so the page is listed. The check counts the parts outside the region; it does not establish that other pages share them.
Adding the branch's address, opening hours, services and directions inside the main region gives the page content of its own. Once a later complete audit finds at least 20% of the extracted HTML words inside the main region, the page no longer meets the condition.
Confirm & check again
Check for yourself: open the page in your browser's reader view, or with styles turned off, and compare how much text is in the main content with what surrounds it.
Check again: Full audit — run a new complete audit of the site. The finding closes for the same address only when the page is read again as complete HTML with one explicit main region holding at least 20% of the extracted HTML words. A page that could not be read in full, needs scripts to supply the measured content, has an unclear main region, or has become noindex or canonicalised elsewhere cannot show that; leaving the check's scope is not recorded as a fix.
Limits & sources
The share is a heuristic for triage with a fixed 20% line; it is not configurable and is not Google guidance. A short page can be useful, and a large menu is not a fault in itself.
The split follows page structure, not meaning: a menu placed inside the main region counts as main, and the check does not detect templates or duplicates. Text in Chinese, Japanese or Thai, written without spaces between words, cannot be counted reliably, so such a page is left unknown; Korean and other space-separated text use the same word count as English. This check also needs the whole extracted body text to be countable.
Pages whose capture, head, response headers or canonical cannot be confirmed are left unknown rather than reported or passed.
This is a structural check of server HTML, not browser visibility. We omit script, style, noscript, template, svg and comments, but do not evaluate CSS or the hidden attribute. Hidden text and headings may count. A later audit confirms only that this structural condition ended, not that visible content improved.
Confidence: Medium because both counts come straight from the page structure; what stays uncertain is how well that structure marks the main content and whether a short page is a problem.
Sources
- Sitebulb, Duplicate Content Report — background: another crawler compares HTML across pages for duplication and similarity; our check makes no such comparison and only counts words inside and outside the main region. Checked 6 October 2026.
Editorial review: 2 November 2026