Hreflang is useful only when both editions really exist
Language annotations cannot compensate for missing, redirected or materially different alternate pages.
This article reflects the named expert’s practical perspective. See NovAsia’s editorial policy for how material is prepared and reviewed.
Hreflang is easy to treat as a bookkeeping exercise: put the Russian URL on the English page, put the English URL on the Russian page, and move on.
That only works when the two destinations are real language alternatives. A missing page, a redirect to a generic landing page, or materially different content is a content problem before it is a markup problem.
I test the relationship against actual pairs such as the English page on Cambodia’s economy and property prices, not against a spreadsheet that says an alternate should exist.
The pair has to make sense before the tags do
For each pair I want both pages to open directly, be indexable as intended, represent the same subject, and have canonical URLs that agree with the site's actual structure.
This becomes important on bilingual sites where publishing is not perfectly synchronised. One edition may launch first. A URL can move in one language before the other. An old translation may still exist after the primary article has been rebuilt.
A generator that prints an alternate for every route regardless of those states creates false completeness. I would rather omit a non-existent relationship than point users and crawlers toward a page that is not really the alternate.
Technical equivalence is not editorial equivalence
Two URLs can both return successful responses and still be a bad pair. A Russian project page might be linked to a broad English catalogue. One edition may have become a detailed current guide while the other remains a short historical note.
The language editions do not need to be sentence-for-sentence copies. In fact, good Russian and English editorial work will often differ in structure and rhythm. What needs to match is the entity or question being represented and the material facts behind it.
If a language switch changes the subject or meaning, the markup is faithfully describing the wrong relationship.
Automation can catch structure, not meaning
At scale, I want checks for broken destinations, missing reciprocal links, inconsistent language codes, unexpected redirects and mismatches between the alternate URL and the route pattern.
Those checks remove a lot of mechanical error. They cannot tell whether two pages genuinely answer the same question. That still requires content awareness.
Hreflang is useful when it describes a real bilingual architecture. It cannot create one simply because the template knows how to output the tags.