findXpand
← All categories

Duplicate Content

← Back to Home

Checks across every crawled page for byte-identical duplicates, near-duplicate/templated content, and repeated titles — content patterns that dilute ranking signal and confuse which URL should be indexed. Source: src/lib/duplicateContentAudit.ts (analyzeDuplicateContent).

5 rules in this category.

IDRuleSeverityWeight
duplicate-body-contentN group(s) of pages have identical main content (N pages total)High10 pts
duplicate-titleN title tag(s) reused across N pagesMedium8 pts
near-duplicate-contentN pair(s) of pages are near-duplicates (≥N% similar text)Medium6 pts
duplicate-meta-descriptionN meta description(s) reused across N pagesMedium5 pts
duplicate-contentNo duplicate or near-duplicate page content detectedPositive signal0 pts

duplicate-body-content

N group(s) of pages have identical main content (N pages total)

SeverityWeightCategory
High10 ptsDuplicate Content

What triggers it & why it matters: Some pages returned byte-for-byte identical visible text (after stripping scripts/nav/footer). This usually means URL variants, parameter duplicates, or templated pages serving the same content, which splits ranking signals and wastes crawl budget.

How to fix it & effect on score: Consolidate duplicate pages, add a canonical URL, or add unique content to differentiate each page. Fixing this removes the 10 pts deduction from the Duplicate Content category score on the next scan.


duplicate-title

N title tag(s) reused across N pages

SeverityWeightCategory
Medium8 ptsDuplicate Content

What triggers it & why it matters: The same <title> text appears on multiple pages (e.g. "(actual value found on the page, truncated)…" on N page(s)). Search engines rely on unique titles to tell pages apart in results.

How to fix it & effect on score: Give each page a unique, descriptive <title> that reflects its specific content. Fixing this removes the 8 pts deduction from the Duplicate Content category score on the next scan.

What a pass looks like: No duplicate title tags found across scanned pages


near-duplicate-content

N pair(s) of pages are near-duplicates (≥N% similar text)

SeverityWeightCategory
Medium6 ptsDuplicate Content

What triggers it & why it matters: For example, two scanned pages share roughly N% of the same text. Highly similar pages compete with each other in search results instead of ranking well individually.

How to fix it & effect on score: Differentiate near-duplicate pages with unique content, or merge/redirect and canonicalize them if they serve the same purpose. Fixing this removes the 6 pts deduction from the Duplicate Content category score on the next scan.


duplicate-meta-description

N meta description(s) reused across N pages

SeverityWeightCategory
Medium5 ptsDuplicate Content

What triggers it & why it matters: The same meta description appears on multiple pages (e.g. on N page(s)). Duplicate descriptions reduce click-through in search results and give search engines no signal to differentiate pages.

How to fix it & effect on score: Write a unique meta description for each page summarizing its specific content. Fixing this removes the 5 pts deduction from the Duplicate Content category score on the next scan.

What a pass looks like: No duplicate meta descriptions found across scanned pages


duplicate-content

No duplicate or near-duplicate page content detected

SeverityWeightCategory
Positive signal0 ptsDuplicate Content

What triggers it & why it matters: This rule only ever surfaces as a passing signal in the current source — it fires (as a pass) when: No duplicate or near-duplicate page content detected. There is no separate failing issue() call under this exact id; the failure condition is the logical negation of the pass condition, and in most cases is covered by a related rule id documented elsewhere in this category (see the table above for a sibling rule on the same feature).

Effect on score: Meeting this condition costs nothing and confirms a positive signal. Missing it doesn't directly deduct points under this id — it typically shows up as a deduction under the related failing rule instead.