HTTP header and HTML canonical disagree
What this means
The response declares one canonical in a `Link: rel="canonical"` header and a different one in the HTML. Google explicitly warns against sending both: when they conflict the signals cancel out and the search engine falls back to guessing which URL to index.
How to fix it
Emit exactly one canonical per response. Pick the layer that owns canonicalization — usually the HTML tag for content pages — and stop the other layer from setting the header.
Fix effort
This check needs a developer fix: it turns on a routing, hosting or infrastructure decision that no automatic edit can make safely.
Authoritative source
https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
Find every page this affects
CrawlX runs this check — and 161 others — across your whole site, ranks the findings by estimated impact, and opens the fixable ones as pull requests. Free for 500 URLs.