We Audited the Language Setup of 123 Major Websites: What 78 Homepages Revealed
We checked 123 major brand sites: 78 homepages read, 58% use hreflang, 14 of 45 skip x-default. Original data, limits and a 10-minute checklist.

Among the 78 major brand homepages we could read, 45 (58%) declare hreflang for two or more languages and 31 declare none. Of those 45, 14 (31%) leave out x-default, one publishes three invalid language and region codes, and one uses relative URLs. Language setup is common at large brands and uneven in the details. Here is what we found on 25 October 2026.
How we ran the audit
We picked 123 well-known consumer and B2B brands across retail, travel, SaaS, banking, manufacturing and FMCG. For each one we sent a single plain HTTP GET to the homepage. The request used a generic browser-like user agent and an Accept-Language: en header, came from one server location and followed redirects. We then read the head of the page: the lang attribute on the html element, the hreflang alternate links and the canonical tag.
One request per site. No login, no browser rendering, no crawl.
78 of the 123 sites returned a readable homepage. The other 45 did not. Most answered HTTP 403 to a plain request, and a few returned 429 or 202 or timed out. We did not test whether the same blocking affects search or AI crawlers, so we draw no conclusion about them. Every number below refers to the 78.
The numbers at a glance
Each percentage uses the base named in its row.
Metric | Result |
|---|---|
Brands requested | 123 |
Readable homepages | 78 |
Blocked or failed (mostly HTTP 403) | 45 |
Sites declaring hreflang for 2+ languages | 45 of 78 (58%) |
Sites declaring no hreflang | 31 |
hreflang sites with an x-default entry | 31 of 45 (69%) |
hreflang sites without x-default | 14 of 45 (31%) |
hreflang sites with a canonical tag | 44 of 45 |
hreflang sites with invalid values | 1 of 45 (three values) |
hreflang sites using relative URLs | 1 of 45 |
Sites with no lang attribute on html | 3 of 78 |
Sites redirecting the bare domain to a locale URL | 30 of 78 (38%) |
Hreflang is common and often incomplete
45 of the 78 sites (58%) declare hreflang for two or more languages. That fits large brands with several markets. 31 sites declare none, which does not make them monolingual. A brand can run separate country domains, or serve one language to everyone. We only know what the page head says.
Canonical tags are almost universal in the hreflang group: 44 of 45. The basic hygiene is in place. The gaps sit in the details.
x-default is missing on 14 of 45 sites
31 of the 45 (69%) include an x-default entry. 14 (31%) do not. The entry names the page to show when none of your language versions fits the visitor, usually a language selector or a global page. Leave it out and the search engine makes that choice for you.
One site publishes three invalid values
A hreflang value is a language code, optionally followed by a region: fr, fr-BE, es-ES. One of the 45 sites publishes three values that break the pattern. es-CE names a region that does not exist. in-ID uses in, a retired code for Indonesian, which is id today. es-SP uses SP, which is not an ISO 3166 country code, because Spain is ES. A search engine may ignore a value it cannot parse, so each of these alternates can do nothing while no error message tells anyone.
One site uses relative URLs
One of the 45 sites writes its hreflang links as relative URLs. They must be absolute, with protocol and host. A template that builds these links the way it builds navigation produces this mistake easily. A view-source check catches it in seconds.
Three homepages have no lang attribute
3 of the 78 homepages have no lang attribute on the html element. It is a small number and a one-line fix. Browsers, screen readers and translation tools read that attribute to choose pronunciation, hyphenation and the offer to translate the page. It should match the language of the page, not the default of the CMS.
38% redirect the bare domain to a locale URL
30 of the 78 sites (38%) send the bare domain to a locale-specific URL: a country path, a regional subdomain or another host. A redirect is fine when it lands people somewhere useful. The risk starts when a rule forces it from the visitor's IP address or language header. Our request came from one location and asked for English, so we cannot say which rule triggered each redirect.
Crawlers make this matter. Google documents that its crawlers visit from few locations and often send no language preference. A root that always redirects to one version may show them only that version. Forced redirects belong to the same family of mistakes we describe in why software fails internationally.
What these numbers do not tell you
Read the results with these limits in mind.
- Homepages only. Deeper pages can be configured differently.
- Large, well-known brands. The sample says little about small businesses.
- Blocked sites are excluded. The 45 we could not read may differ from the 78 we could, which can bias the results.
- No hreflang is not monolingual. Some of those 31 sites may serve several languages by other means.
- One location, one day. A different server or date could return different redirects.
- Reciprocity and self-reference are not reported. Redirects and tracking parameters made that check unreliable, so we left it out rather than guess.
A 10-minute checklist for your own site
Language tags are one layer of internationalization. Our explainer on software internationalization covers the layers underneath. The checks below cover only the head of your homepage.
- Find the tags. View the page source and search for
hreflang. Every language version should appear, including the page you are on. - Check each code. Use an ISO 639-1 language code, optionally followed by an ISO 3166 region:
fr-BE,nl-BE,es-ES. Tag the language you serve, not the country you hope to reach. - Add x-default. Point it at your selector or fallback page.
- Use absolute URLs. Include
https://and the host. - Link back. Every alternate must list the others and itself.
- Match html lang. The attribute should name the language of the page.
- Test the root. Open the bare domain in a private window with no language preference, from another country if you can. If you always land on one version, so will a crawler.
Selling online multiplies these checks across every product and category page. Our post on the multilingual ecommerce website shows where the work goes. At Globaprom we build i18n-first, so language codes, fallbacks and routing exist from the first sprint and nobody retrofits them later.
Frequently Asked Questions
What is hreflang?
Hreflang is a set of annotations, placed in the page head or in the sitemap, that tell search engines which language or regional version of a page suits which audience. Each version lists all the others and itself. A site with a single language does not need it.
Do I need an x-default entry?
Add one if visitors can arrive in languages you do not serve. It names the fallback, usually a selector or a global page. 14 of the 45 hreflang sites we read leave it out, and it takes one line to add.
Is it safe to redirect visitors to their country version automatically?
Not on the root. IP and language-header redirects can show crawlers a single version. Suggest the local version with a banner or a selector and let people choose. 30 of the 78 sites (38%) redirect the bare domain, so it is common, but common is not the same as safe.
Which hreflang codes are valid?
A language in ISO 639-1, optionally followed by an ISO 3166-1 region, joined by a hyphen: pt-BR, fr-BE, nl-BE. The three invalid values in our audit show the usual errors: a region that does not exist (es-CE), a retired language code (in-ID, now id) and a wrong country code (es-SP, Spain is ES).
Keep reading
Need software that speaks every market from day one?
Tell us what you need built. We reply with a fixed scope, a fixed price, and a delivery date measured in weeks.

