Start a project

Tool 09 of 194 · Indexing

Canonical Conflict Finder

Load a crawl export or fetch a few pages and find every canonical that contradicts something: another canonical, a redirect, a noindex or your sitemap.

Canonical Conflict Finder at a glanceIllustration: 1, A crawl export; 2, processed in your browser; 3, Canonical map.Canonical Conflict Finder1A crawl export3Canonical map2In yourbrowser
1 A crawl export 2 processed on your device 3 Canonical map

Canonical Conflict Finder

Crawl export

Needs an address column and a canonical column. Status, redirect, HTTP canonical and robots columns add more checks.

Or fetch pages

Canonical targets are fetched too, so their status is known.

Fetch sends these addresses to leej.uk, which reads each page once, plus canonical targets you didn't list (20 in all) as LeejTools/1.0 and keeps only a count. Pasted text never leaves your device.

Conflicts

SeverityTypeURLDetail
Canonical map with suggested fixes (CSV)

01

What it does

Builds the URL-to-canonical graph from a crawl CSV or live pages and finds chains, cycles, bad targets and sitemap mismatches, with a fixed canonical map.

  • Screaming Frog and Sitebulb columns found automatically
  • Chains and cycles across the whole crawl
  • Canonicals to redirects, errors and noindex pages
  • Several canonicals, and header vs HTML disagreements

02

Private by design

Everything you paste or upload stays in your browser. Only when you press Fetch does leej.uk read the address you give, once, as LeejTools/1.0, keeping nothing but a daily count.

03

What you get

Conflicts by severity and a fixed canonical map, with a Copy and a Download button on every result.

  • Canonical
  • Duplicate content
  • Crawl
  • Sitemaps

Why it matters

A canonical tag is a hint, and Google drops hints that contradict other signals. Two different canonicals on one page, a canonical that points at a redirect, a chain of canonicals or a sitemap that lists the non-canonical version all leave Google to choose for itself, and it often picks the URL you didn't want.

Checking page by page doesn't find these, because most conflicts are between pages. This finder builds the whole URL-to-canonical graph from a crawl export, follows each canonical to where it really ends, and lists every contradiction by severity. The canonical map at the end suggests the right canonical for each URL: the end of the chain, the redirect's destination, or the page itself.

How it works

  1. InputA crawl CSV and your sitemap
  2. In your browserCanonicals followed across pages
  3. OutputCycles, chains, conflicts and a graph

Where it fits in a designer's workflow

  1. Plan
  2. Design
  3. Build
  4. Test
  5. Launch
Working out which URL Google will pick.

By the numbers

Canonical problems in the sample crawl, by typeCanonical cycle: 2 pages; Several canonicals: 1 page; Header and HTML canonical disagree: 1 page; Canonical to a redirect: 1 page; Canonical to an error page: 1 page; Canonical to a noindex page: 1 page; Sitemap lists a non-canonical URL: 1 page; Sitemap lists a non-200 URL: 1 page; noindex with a canonical elsewhere: 1 page; Canonical chain: 1 page; Sitemap URL differs from crawled form: 1 page; Canonical page missing from the sitemap: 1 pageCanonical cycle2 pagesSeveral canonicals1 pageHeader and HTML canonical disagree1 pageCanonical to a redirect1 pageCanonical to an error page1 pageCanonical to a noindex page1 pageSitemap lists a non-canonical URL1 pageSitemap lists a non-200 URL1 pagenoindex with a canonical elsewhere1 pageCanonical chain1 pageSitemap URL differs from crawled form1 pageCanonical page missing from the sitemap1 page
Found by this tool in its sample crawl export: 13 problems. Google treats rel=canonical as a strong hint, not a rule; conflicting signals make it pick a canonical itself. Source: Google: consolidate duplicate URLs.
Show the numbers as a table
SeverityType
ErrorSeveral canonicals
ErrorHeader and HTML canonical disagree
ErrorCanonical to a redirect
ErrorCanonical cycle
ErrorCanonical cycle
ErrorCanonical to an error page
ErrorCanonical to a noindex page
ErrorSitemap lists a non-canonical URL
ErrorSitemap lists a non-200 URL
Warningnoindex with a canonical elsewhere
WarningCanonical chain
WarningSitemap URL differs from crawled form
NoteCanonical page missing from the sitemap

How to use it

  1. Paste a crawl export (Screaming Frog: Internal, HTML) or fetch up to 20 pages.
  2. Add your sitemap URLs to check them against the canonicals.
  3. Fix the errors first: cycles, canonicals to redirects, errors and noindex pages.
  4. Download the canonical map and update your templates.

FAQ

Which crawl columns does it need?

An address column and a canonical column. Status code, redirect URL, HTTP canonical and meta robots columns unlock more checks. Column names from Screaming Frog and Sitebulb are found automatically.

Is a canonical to a different URL wrong?

No. Pointing duplicates and filtered views at the main page is what canonicals are for. It's wrong when the target redirects, errors, is noindex or points somewhere else again.

Why are cycles so bad?

If A says B is canonical and B says A, there's no answer. Google picks one itself, and might pick neither of the ones you want.

Does it handle relative canonicals?

Yes. They're resolved against the page address and flagged as a note, because absolute URLs leave less room for mistakes.

Is my crawl uploaded?

No. The CSV is read in your browser. Only pages you choose to fetch go through leej.uk, and only a daily count is kept.

Work with me

Want a site that gets these right?

I build fast, accessible websites and web apps that pass these checks from day one. Tell me about your project and I'll reply personally with honest next steps.

All developer tools · Back to leej.uk