Skip to content
pageinspection

Reading a duplicate cluster and picking the page that survives

A duplicate report hands you groups and a number, and then stops. The number is the part people skip, and it is the part that decides whether a group should be merged, redirected, or left alone and rewritten.

The short answer

Duplicate page detection groups URLs whose content is near-identical, which turns hundreds of individual findings into a handful of decisions. The groups come in three shapes: exact variants of one page, templated pages differing only by a variable, and genuinely separate pages that overlap. Each needs a different remedy.

CriticalAudit check · Duplicate pages

What a similarity score is measuring

Two pages are compared on the text that is genuinely theirs, after the shared regions are set aside. That last part is the whole reason a score can be trusted: if the header, nav and footer were included, every page on your site would be 70 percent similar to every other page, and the report would find nothing but itself.

What comes out is a proportion, and proportions have a threshold behind them. Above roughly 95 percent you are looking at the same document with a different wrapper. Between about 85 and 95 you are looking at two documents assembled from the same parts, which is a different problem with a different fix. Below that, pages on the same subject are supposed to resemble each other, and a report that flagged them would be reporting that you have a topic.

So the score is not a severity. It is a classifier, and reading it as "how bad is this" rather than "what kind of thing is this" is how a cluster of two good city pages ends up merged into one.

One report, three kinds of group

The same crawl produces all three of these, side by side, with no label telling you which is which beyond the number.

Three clusters from one duplicate report. An exact cluster at 100 percent similarity, where three URLs are canonicalised to one. A near cluster at 98 percent, where a print view and an AMP copy are redirected to the original. A borderline cluster at 91 percent, two city landing pages, which are kept and rewritten rather than merged. The same report, three different remedies.One report, three groups, three different remediesexact100% alike/shoes/redkeep/shoes/red//shoes/red?ref=1canonicalise to onenear98% alike/guides/sharpenkeep/print/sharpen/amp/sharpenredirect the copiesborderline91% alike/plumbers/leeds/plumbers/yorkkeep both, rewriteThe score decides the remedy. Two pages 91% alike are two real pages,written lazily, and merging them loses one you wanted.
The exact group is a routing artefact and gets consolidated. The near group is one article served three ways, and the copies should stop existing. The borderline group is two real landing pages that were written from the same paragraph, and the answer there is not a tag at all, it is two hours of writing.

The borderline band is where the judgement lives, and it is worth being precise about the test. Ask what a person searching for the second page specifically would lose if it redirected to the first. If the answer is nothing, merge them. If the answer is "the page about their city, with their phone number and their opening hours on it", you have two pages that should be different, currently failing to be.

Choosing the survivor when every URL has a claim

In an exact cluster the choice looks arbitrary and is not. Four criteria, in this order, and the order matters because they conflict.

  • The one with external links pointing at it. This outranks everything else on the list. Links are the asset you cannot recreate, and choosing a different survivor means asking a redirect to carry them, which works and is still a cost.
  • The one already being shown in results. If a search engine has already picked a representative, agreeing with it costs you nothing. Disagreeing means a period of instability while the new preference is worked out.
  • The cleanest address. No parameters, no session fragment, the path you would type. This is where most people start and it belongs third, because a pretty URL with no links pointing at it is worth less than an ugly one with forty.
  • The one your own navigation links to. Not because it is inherently better, but because if you pick anything else you now have to change every internal link, and a site that links to a URL while canonicalising away from it is contradicting itself.

When the first two criteria disagree, follow the links and change the rest. When they agree and the URL is ugly, keep the ugly one and stop thinking about it. The address nobody sees is not worth a migration.

Merging two pages is not the same as deleting one and keeping the other.

If the loser has a paragraph, a table or a question answered that the survivor does not, that content moves across before the redirect goes in. Otherwise you have consolidated the URLs and thrown away the reason one of them ranked. This is the step that gets skipped under deadline, and the traffic loss that follows gets blamed on the redirect.

A score needs something to compare against

Similarity is pairwise, so it comes into existence only when a second page is available to compare with. A single fetch has nothing to score, which is not a limitation of the free search so much as a property of the question.

This one needs the full crawl

A cluster is formed by comparing every page against every other page, so it exists only once the whole set has been fetched. One page has no similarity score, because there is nothing to be similar to.

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 the pages resemble each other in the first place, and which of the four remedies fits each cause, is the subject of the causes guide.

Why the grouped report rates as high as the cause

It shares the Critical rating with the check that explains where duplicates come from, and that is deliberate rather than double counting. One tells you the class of problem exists. This one is the finding you can act on, because a group of URLs with a score is an instruction and a statement that duplication is present is not.

The rating is also about a failure that is invisible from inside. Nobody browsing your site encounters a cluster. The pages all work, they all look right, and the only place the problem exists is in the set of addresses a crawler assembled. Findings that cannot be noticed by using the product are exactly the ones a report has to rate loudly, because there is no other signal.

Where it stops short of urgent is in the borderline band, and it is worth saying plainly: those groups are often not defects. Two thin city pages at 91 percent are a content decision you have not made yet, and a report that treated them as an emergency would be pushing you toward the wrong action. Read the number before you read the group.

Comparing two candidates by hand

Before merging anything, look at what each page actually contains, stripped of markup. Two pages that a report scored at 97 percent usually differ in one paragraph, and that paragraph is what you are about to delete.

compare-pair.sh
# crude text extraction, good enough to diff two of your own pages
strip() {
  curl -s "$1" \
    | sed -e 's/<script[^>]*>.*<\/script>//g' \
          -e 's/<style[^>]*>.*<\/style>//g' \
          -e 's/<[^>]*>/ /g' \
    | tr -s ' \n' ' ' \
    | tr ' ' '\n' | sed '/^$/d'
}

strip https://example.com/plumbers/leeds > /tmp/a.txt
strip https://example.com/plumbers/york  > /tmp/b.txt

# how much of page A is not in page B
comm -23 <(sort -u /tmp/a.txt) <(sort -u /tmp/b.txt) | head -40

wc -l /tmp/a.txt /tmp/b.txt

If the words unique to one page are a city name, a phone number and nothing else, the cluster is real and the pages were never differentiated. If forty words come back, somebody wrote something and you are about to lose it.

Run this before the redirect, not after. A 301 is easy to place and awkward to reason about six months later, when the only record of what the old page said is in an archive.

Questions this check raises

How similar do two pages have to be to count as duplicates?
There is no single threshold that means anything on its own, because the useful question is what kind of group it is. Two URLs serving one page are duplicates at any score. Two product pages differing only in a size are a template problem. Two articles overlapping heavily are a merge candidate. The score sorts them; it does not decide.
Which URL should survive a duplicate group?
The one with the strongest external links, the most traffic history, and the cleanest address, in that order. Where they disagree, links usually win, because those are the hardest to replace. Redirect the rest to it rather than deleting them.
Can duplicates exist across different domains I own?
Yes, and it is a common case with regional or legacy domains. The same content on two domains you control is a duplicate set like any other, and the fix is the same: pick one, canonicalise or redirect the rest, and stop maintaining two copies of the same page.