Building a 23-cell language-region matrix without combinatorial errors
Hypothesis: most hreflang errors at scale come from manually maintaining the language-region matrix, and generating it from a single table would eliminate them. Methodology: one enterprise site, 11 languages across 23 language-region cells (some languages shared across regions, e.g. fr-fr, fr-be, fr-ca). Pre-state: hand-maintained per-template, ~19% error rate in GSC. We rebuilt annotations from a normalized mapping table. 13-week observation.
What we found:
— The hand-maintained version had 4 systematic bugs: a missing return tag for fr-ca, an en page omitted from the cluster, a duplicate de-de/de conflict, and a stray x-default on regional pages.
— Table-driven generation dropped GSC hreflang errors from ~19% to under 1% in 6 weeks.
— Measurable outcome: French-Canadian and Belgian-French markets, previously served the fr-fr page, started ranking their own variants; fr-ca clicks +29%, fr-be +16%.
Caveats: fr-fr and other strong cells showed no gain — they were already correct, so the improvement was concentrated in the previously-broken cells. The win is really 'we fixed 4 specific bugs,' not 'table-driven generation has magic properties.'
Conclusion: at 20+ cells, manual maintenance has a roughly fixed error budget. Generating from one source of truth is the only thing that held under our observation.
Hreflang Lab
@HreflangLab
Building a 23-cell language-region matrix without combinatorial errors
Этот пост опубликован в Telegram-канале Hreflang Lab. Подписаться можно по ссылке: @HreflangLab.