Skip to content
pageinspection

How much of your page is actually your page

Every check about duplication compares one page against another. This one compares a page against itself: how much of what you served is this page, and how much is the same furniture you serve on all of them.

The short answer

Content uniqueness is the ratio of words that belong to this page against words that appear on every page: the header, the footer, the sidebar and the calls to action. When boilerplate outweighs body text, the page reads as a template instance rather than as a document, and short pages on template-heavy sites cross that line easily.

ImportantAudit check · Content uniqueness

The furniture is not the page

A rendered page is mostly not its content. There is a header, a navigation tree, a search box, a sidebar of related links, a promotional block, a newsletter form, a cookie notice, a footer with four columns of links and a legal paragraph. All of it is necessary, all of it is identical on every URL, and none of it says anything about this page in particular.

The ratio between the two is what this check reports, and it is the measurement that explains a category of confusing findings. A page can hold 800 words and be near-empty. A page can hold 180 words and be entirely substantive. A word count cannot tell those apart, and a duplicate-content report will not flag either of them, because no other single page is a match: the boilerplate is spread thinly across thousands of URLs rather than concentrated in a twin.

Two pages of the same total height. On a generated city page, the header, navigation, six promotional blocks, legal text and footer take everything but a small band, leaving 12 percent of the page as its own text. On an article, the same header, navigation and footer leave 64 percent for the body. Both pages would pass a word-count threshold.Same word count. One of them is mostly furniture.a generated city pageheadernavyour text6 promo blockslegal textfooter12% yoursan articleheadernavyour textfooter64% yoursA threshold counts both columns the same. A ratio does not.
Two pages of identical total volume. On the left, a generated location page where the only thing that differs from its siblings is a band you could read in ten seconds. On the right, an article carrying the same header and footer, where the body is the page. A threshold passes both. The ratio separates them immediately.

The page types where the ratio collapses

Some templates are structurally prone to this, and recognising yours in the list is faster than measuring.

  • Location and service-area pages. The classic case, and the one this check was effectively built for. Twelve pages, one paragraph, a swapped city name, and the same 600 words of trust signals underneath. Each page is over any reasonable length threshold and has almost nothing of its own.
  • Product pages with a manufacturer description. The unique region is a title, a price and a specification table. The rest is a description shared with every other retailer, plus your own returns policy, delivery terms and cross-sell blocks. Two problems at once, and only one of them is visible to this check.
  • Category and tag archives. A heading, a list of links to other pages, and the site chrome. There is often no unique prose at all, which is defensible for a category people navigate and hard to defend for the four hundred tag pages a CMS generated automatically.
  • Documentation with a large shared sidebar.An honest 200-word reference page sitting inside a 900-item navigation tree. The content is correct and useful, and the ratio looks alarming. This is the most common false alarm in the check, and the fix is marking the tree as navigation so it can be recognised as chrome rather than as text.

The last one matters because it points at the honest limit of the measurement: a low ratio is a question, not a verdict. On a location page the answer is that the page has nothing to say. On a reference page the answer is that the page says one thing precisely and the template is heavy.

Knowing what repeats requires having seen it repeat

The reason this cannot run on one page is almost tautological: shared regions are shared, and nothing about a block of markup announces that the same block appears on nine thousand other URLs. A single fetch has no way to tell your footer from your first paragraph, because structurally they are both text in a container.

This one needs the full crawl

Separating your own text from the furniture means knowing which blocks repeat site-wide, and that is only knowable by seeing the same markup on other pages first.

The instant search on this site audits a single page, so rather than show you a verdict it cannot support, this guide sends you to the place the check actually runs.

Why a ratio nobody can see is rated Important

Below Critical because nothing is broken and nothing is excluded. A page with a poor ratio is indexed, served and ranked on whatever merit it has. There is no mechanism that removes it, which is the line Critical is drawn at.

Well above a refinement because of what the number predicts. A page that is 12 percent its own is a page that will lose to anything written deliberately about the same subject, and it will keep losing without any diagnosis being obvious, because every other check passes: the title is fine, the markup is valid, the length clears the bar, no duplicate twin exists. This is the check that explains the pages nobody can work out why they underperform.

The rating is tempered by the false alarm named above. A documentation site with a heavy sidebar can read as failing while doing nothing wrong, so this is a finding that has to be interpreted rather than closed. Checks needing judgement do not belong at the top of a plan, and a check that reliably explains a mystery does not belong at the bottom.

Estimating your own boilerplate share

You do not need a crawler to get within a few points of the real number. Take two pages that share a template and are about different things, and count what they have in common.

ratio-estimate.sh
words() {
  curl -s "$1" \
    | sed -e 's/<script[^>]*>.*<\/script>//g' \
          -e 's/<style[^>]*>.*<\/style>//g' \
          -e 's/<[^>]*>/ /g' \
    | tr -s ' \n' '\n' | sed '/^$/d' | sort -u
}

words https://example.com/plumbers/leeds > /tmp/leeds.txt
words https://example.com/plumbers/york  > /tmp/york.txt

shared=$(comm -12 /tmp/leeds.txt /tmp/york.txt | wc -l)
total=$(wc -l < /tmp/leeds.txt)

echo "shared with the sibling page: $shared of $total words"
echo "roughly $(( 100 - shared * 100 / total ))% of this page is its own"

This counts distinct words rather than running text, so treat the output as an indicator and not a measurement. Anything under 20 percent unique on two pages that are supposed to be about different things is a template producing pages rather than a person writing them.

Then decide whether the pages should exist, before improving them.

The instinct is to raise the ratio by adding text, and on a location page that produces 600 words of filler about a city nobody at your company has visited. The better questions are whether twelve of these pages should be one page with twelve sections, and whether the ones you keep can be given something real: your actual work in that city, prices, named staff, photographs of a job you did there.

If the answer is that there is nothing real to add, that is the answer, and the thin-content decision is the one you are actually facing.

Questions this check raises

What counts as boilerplate?
Anything that appears unchanged on other pages: navigation, footer, cookie notice, newsletter block, related-posts module, and the repeated sidebar. It is not bad and most of it has to be there. It just is not what this page is about, and a system deciding what this page is about has to separate the two.
Why does the boilerplate ratio matter if the content is good?
Because on a page with 120 words of content and 600 words of chrome, most of what any extraction system reads is the chrome. The page can be genuinely useful and still be mostly furniture by volume, which affects what gets quoted from it and how similar it looks to every other page on the site.
How do I improve the ratio?
Usually by adding substance rather than removing furniture, because the furniture is doing a job. The exception is a template that has accumulated modules nobody chose: three related-content blocks, two newsletter prompts and a tag cloud. Removing those helps readers as much as it helps the ratio.