The fix, in one snippet
<link rel="canonical" href="https://example.com/guides/first-post">
Illustrative values. Change the paths, hostnames and options to match your own site before using it.
The sections below explain what is tested, why it matters and the alternatives.
What we test
We compare each page's canonical link with the URL the page was actually served from, after redirects and after normalising the scheme, host, trailing slash and tracking parameters. Pages whose canonical points somewhere else are listed with both URLs so each can be judged.
This is reported for review rather than as a straightforward failure, because cross-canonicals are the correct answer for genuine duplicates: a syndicated copy, a filter variant, a printer-friendly page.
Why it matters
A canonical is a strong hint, and search engines follow it. When it is wrong, the page removes itself from the index in favour of another URL, and the symptom looks like a ranking collapse with no obvious cause.
Two patterns cause most of the damage. The first is a template that hardcodes the homepage as the canonical for every page, which asks the engine to treat the entire site as one document. The second is a migration where canonicals still point at the old domain, which hands the new site's signals back to a domain that now redirects.
Cross-canonicals also break when the target does not return 200, or itself canonicalises somewhere else: a chain of canonicals is resolved unpredictably, if at all.
How to fix it
Check each listed page and decide whether the target is genuinely the same content. If it is not, make the canonical self-referential.
<!-- filter variant: correct, it is the same content -->
<link rel="canonical" href="https://example.com/shoes">
<!-- article: must point at itself -->
<link rel="canonical" href="https://example.com/guides/first-post">
Make sure the canonical target returns 200, is indexable, and does not canonicalise onward to a third URL. Never combine a cross-canonical with noindex on the same page: the two directives contradict each other and the outcome is undefined.
Where this fits
Canonical points to another URL is check 5 of 10 that the seo & site health audit runs under indexing and crawlability, ordered the way they are worth fixing. That ordering is the point: Fixing this one while the check above it still fails buys less than it looks like.
Fix this one first
Above it in the same category sits Canonical URL missing (medium), where a canonical link tells search engines which URL is the real one when the same content is reachable at several addresses. An attacker who has that does not need this, so it is the better use of the same hour.
What fixing this still leaves open
Canonical points to another URL closes one route in. Immediately below it: Linked pages blocked by robots.txt, where a page you link to internally but disallow in robots.txt sends contradictory signals and wastes the link; Redirect chains, where a URL that reaches its destination through two or more redirects costs every visitor and every crawler extra round trips; Sitemap URLs are live and indexable, where every URL in a sitemap is a claim that the page exists and should be indexed.
Found in the same scan
The seo & site health audit reports this alongside checks from other categories that are at least as serious, including Broken internal links, where an internal link that returns an error is a dead end for the reader and a wasted request for the crawler, and Duplicate body content, where two pages with identical body text are one page at two addresses, and search engines will pick one of them for you. A single run of seo & site health audit answers all of them at once.
The first few lines
You are a senior web engineer. I ran a security and SEO scanner against my site and it reported the finding below. Fix it properly rather than suppressing the symptom.
Finding: Canonical points to another URL (medium severity)
Scanner check id: seo-canonical-conflict
The rest of this prompt names the pages and line numbers we found the problem on, the configuration to change, and the constraints a good answer has to respect. It is free, it just needs an account so the work is not scraped wholesale.
Sign in with GoogleSigning in is free and takes one click. We store your email address and nothing else.