Do your HTTP and HTML canonicals disagree?
It compares a canonical in the response header with the canonical in the HTML.
What Check Engine measures
The page must be intended for search and have a canonical in both its HTTP Link header and its HTML. Its header address is resolved against the page URL. Both targets have trailing slashes removed before comparison. Different targets produce a conflict. A page with only an HTML canonical produces no conflict here.
The check reads the saved HTTP headers and HTML canonical values. A server or proxy may add a header separately from the page template. Inspect both places before editing.
How to read the result
Conflicts are high severity. The report gives a source page and both targets so that the server configuration and page template can be reviewed together instead of guessing which layer supplied the wrong value.
Why it matters
Separate configuration layers can make separate claims for the same response. A correct-looking tag in page source does not reveal a conflicting HTTP header, which explains why looking at the browser document alone can miss this test.
How to fix it
Choose the intended canonical destination. Align the server or proxy header with the HTML tag. Check every layer that can add a declaration. Request the page again and inspect both values in the new response.
How to fix conflicting canonical tags
What we found in field audits
Problems in Crawlability & indexing were found on 12 of the 14 sites we audited. These are area totals. Read the field-audit method.
Method note
backend/seo_engine/checks/international.py, canonical_conflict, revision 0bb8e8d3.
Common questions
Can a response header conflict with the canonical in my HTML?
Yes. A canonical in the HTTP Link header is compared with the document declaration. Different destinations can trigger the conflict.
Does having only an HTML canonical trigger a header conflict?
No. Both declarations must exist for this comparison. A page carrying only an HTML canonical has no conflict here.
How serious is disagreement between header and HTML canonicals?
The conflict gets high severity. Both targets and the saved source page help locate the configuration needing repair.