ohms.studio

writing  ·  .0003  ·  2026

fixing french and english canonical duplication on a bilingual b2b site

two languages, one canonical, and a site quietly competing against itself.

the symptom

a bilingual manufacturer with french and english versions of every page, and rankings that would not hold. pages appeared and disappeared. the wrong language surfaced for the wrong region. nothing was technically broken in a way that threw an error.

the cause

canonical tags pointing across languages. when the french page declares the english page canonical, you have told the crawler the french page is a duplicate and should not be indexed on its own. every french url then competes with an english one it has been told it is a copy of.

the fix

each language version is canonical to itself, and the relationship between them is declared with hreflang rather than with canonical. canonical says this is the same page. hreflang says these are the same content for different audiences. they are not interchangeable and using the first where you meant the second de-indexes half your site.

what to check afterwards

the return tags have to be reciprocal. if the english page points at the french as an alternate, the french has to point back. a one way declaration is ignored, and being ignored looks identical to working.

next → we tested real-esrgan on archival film and rejected it