AreaAudit

Which languages each generator says it supports, and where

What an hreflang declaration actually promises

An hreflang alternate is a line in a page telling search engines that another URL serves the same content in another language. It is a routing hint. It promises a URL exists, not that a page is fully translated or that anything else is. As of 2026-09-12.

What an hreflang declaration does and does not promise. Recorded 2026-09-12.
The declaration saysIt does not say
A page exists in this language at this addressThe product works in that language
Search engines should offer that version to that audienceA human translated it
The two pages are the same contentSupport is available in that language

Inclusion rule. Claims an hreflang alternate makes, set against claims readers commonly infer from it. Order. Paired, promise first.

1What the declaration is

A small tag listing a language code and a URL, repeated for every language a page is available in. Search engines use it to send a reader to the version matching their language rather than guessing from the content.

It usually also points at itself, which is how a set of pages declares that it is one cluster rather than several unrelated pages that happen to say similar things.

2Why it is the one language fact checkable from outside

Everything else about a vendor's language support requires taking their word for it. An hreflang set is in the page source: anybody can count it, and two people counting will get the same number if they use the same rule.

That reproducibility is why a register built on published evidence can use it at all. The rule has to be written down, though, because the edge cases decide the count.

3The edge cases that change the number

Alternates pointing at a different domain: a vendor running a separate regional site is arguably serving that language, and the other domain might be a licensee rather than the same company. Counting them inflates some vendors and not others.

The x-default entry: a routing hint for readers whose language is not covered. Counting it adds one to every well-configured site and nothing to a badly configured one, which measures configuration quality rather than coverage.

4What a declaration cannot tell you

Whether the page is fully translated or machine-swapped. Whether support exists in that language. Whether anything the product generates will be in it. And whether the translation is any good.

All four are the questions a buyer actually has, and none is answerable from the tag. The tag answers a narrower question exactly, which is what makes it usable as evidence.

5What a missing declaration cannot tell you either

A vendor might serve several languages without declaring alternates, in which case a count from outside reads zero. That is a real limitation of the method and it is the price of a rule that can be checked by anybody.

So an empty cell here means nothing was declared, not that nothing exists. A register that blurred that would be making a claim about the product from the absence of a tag.

6Why vendors bother

Duplicate content across language versions can confuse search engines into picking one and ignoring the rest. A declared cluster tells them the pages are deliberate alternates, which is worth real traffic to a company selling in several markets.

That commercial motive is exactly why the declaration is informative: it is maintained because it pays, not as a courtesy, so it tends to reflect where a vendor is actually selling.

7Regional variants are declared separately, or not at all

Language codes can carry a region: one code for Portuguese generally, another for Brazilian Portuguese specifically. Where a vendor declares only the bare code, a reader cannot tell which variant the page or the voice would use.

For Spanish and Portuguese that distinction is audible to an audience within a sentence, and it is one of the most consequential things a language list leaves out. Nobody in this category currently declares it.

8A declaration can be wrong without being dishonest

Alternates get stale. A language version is retired, the tag stays, and the declaration now points at a page that redirects or 404s. That is a maintenance failure rather than a claim, and it is common enough to be worth checking rather than assuming.

Which is another argument for recording the date a count was taken. A number from six months ago describes six months ago, and on this particular signal that is long enough to matter.

9Checking one yourself

View source on the page, search for alternate, and read the list. Count only the entries served from the vendor's own domain, ignore x-default, and note the date. That is the whole method this register uses, applied identically to every vendor.

Writing the rule down matters more than which rule you pick. A count nobody can reproduce is a number this register would have no business publishing.

An explainer about method and structure, not a count. No vendor number appears here that is not also in the register. The sourced material is on the register. Related: Subtitles and localisation, Three layers.