Hreflang
Hreflang Audit Checklist for Casino and Sportsbook Sites
An hreflang set works when every code is valid, every page lists itself and every alternate, the canonicals agree, and each targeted market is one you are licensed to serve. These twelve checks test all four.
In brief
- Google supports three equivalent ways to declare alternates: link tags in the HTML head, HTTP headers and XML sitemaps.
- Each version must list itself and every other version. If two pages do not point to each other, Google ignores the tags.
- Values are an ISO 639-1 language code with an optional ISO 3166-1 Alpha 2 region code. A region on its own is not valid.
- For gambling sites, add a legal check: only target a country where the brand holds the license that country requires.
Run this checklist on one page template at a time, such as the home page, a sportsbook hub or a slots category. Hreflang is set per page, so a set that is correct on the home page can still be broken on every game page. Record the result of each check with the date and the URL you tested.
Before you start: collect three lists
- A URL inventory per locale. For each template, the URL of every language and country version. Use the final URLs, after redirects.
- The license position per market. Which brand holds which license, and which domains it covers. In Spain the regulator's register lists each operator's domains; in Germany the GGL whitelist lists permitted websites.
- The canonical URL of each version, taken from the rendered page, not from the CMS settings screen.
Codes and values (checks 1 to 3)
1. Language codes are ISO 639-1
Google's documentation states that only ISO 639-1 language codes are supported. That means two letters: en, de, es, fr. Three-letter codes from ISO 639-2 or 639-3 fail this check even though they are valid elsewhere. Watch for country codes typed as languages: jp for Japanese (it is ja) or dk for Danish (it is da).
2. Region codes are ISO 3166-1 Alpha 2, and never stand alone
The optional second part is a two-letter country code. The classic error is en-UK: the United Kingdom's code is GB, so the value is en-GB. Google also says you cannot give the country code by itself, so hreflang="es" means Spanish speakers everywhere, never "Spain". The numeric region 419 (Latin America) is valid under BCP 47, the IETF standard for language tags, but Google's documentation says region codes such as es-419 are not supported.
3. x-default points to a real fallback
Google describes x-default as the value used when no other language or region matches the user's browser setting, and says it was designed for language selector pages. It is optional. If you use it, point it at a page that works for everyone, such as a country selector, and never at a market page whose content is restricted to one jurisdiction.
The set itself (checks 4 to 7)
4. Every page lists itself
Google is explicit: each language version must list itself as well as all other language versions. A German page that lists the English and Spanish versions but not itself is incomplete.
5. Every pair links both ways
If page X lists page Y, page Y must list page X. Google says that if two pages do not both point to each other, the tags are ignored. Missing return links are the first item on Google's own list of common hreflang mistakes. They usually appear when one market's CMS is updated and another's is not.
6. The set is identical on every member
Checks 4 and 5 together mean every page in a cluster carries the same list. Compare the sets as data: sort each page's annotations and diff them. A difference of one URL, a trailing slash or http against https breaks the pairing for that page.
7. URLs are fully qualified and final
Google requires fully qualified alternate URLs, including the protocol. Use the final URL each version resolves to. An alternate that redirects or returns an error wastes the pairing; this is our recommendation rather than a quoted Google rule, and it follows from how return links are matched.
| hreflang | URL | Why it is there |
|---|---|---|
x-default | https://example.com/ | Country selector for unmatched visitors |
en-GB | https://example.com/en-gb/ | Great Britain, under a Gambling Commission license |
de-DE | https://example.com/de-de/ | Germany, on a whitelisted website |
es-ES | https://example.es/ | Spain, on the .es site the license requires |
en-CA | https://example.com/en-ca/ | Canada (a licensed province), English |
fr-CA | https://example.com/fr-ca/ | Canada, French |
Canonicals and content (checks 8 and 9)
8. Each canonical stays in its own language
Google's canonicalization guide asks you to specify a canonical page in the same language when you use hreflang. A Spanish page whose rel="canonical" points to the English page tells Google the Spanish page is a duplicate, which works against the annotation. The same guide notes that link annotations carrying hreflang are not used for canonicalization, so the canonical tag has to be right on its own.
9. The main content is actually translated
Google says localized versions are only considered duplicates if the main content remains untranslated. Translating the menu and footer while the body stays in English does not make a separate language version, and Google calls boilerplate-only translation a bad user experience. Same-language versions for different countries (en-GB and en-CA) are allowed; make the country differences real, such as license details, age limits and help lines.
Delivery method (check 10)
10. One method per set, written correctly
Google treats HTML link tags, HTTP headers and sitemaps as equivalent, so pick the one your platform can keep in sync. HTTP headers are meant for non-HTML files such as PDFs. In June 2024 Google clarified that link tags for alternate versions must not be combined, so write one <link> element per alternate. If you use sitemaps, follow the format in our multilingual sitemap guide. Running two methods at once is not forbidden, but every disagreement between them is a bug to find, so we advise one source of truth.
Market checks for gambling sites (checks 11 and 12)
11. Every targeted country is a licensed market for that brand
An en-GB or de-DE annotation is a statement that the page is meant for that country. For a gambling brand, that statement should match its license position. The Gambling Commission says a license is needed to provide remote gambling facilities to consumers in Great Britain. Germany's GGL publishes a whitelist of permitted operators. In Canada each province decides. If the brand is not licensed for a country, do not annotate a version for it, and keep any information pages free of calls to play.
12. Spain points to the .es site, and Québec gets French where required
Spain's gambling law (Ley 13/2011, art. 10.4) requires licensed operators to run a dedicated website under a .es domain and to redirect connections from Spain and Spanish user accounts to it. So the es-ES alternate of a licensed brand normally lives on the .es site, which makes the set cross-domain and means both hosts carry the full list. For Canada, Québec's language office says a website used by a business established in Québec to market goods or services there must be in French. Check with counsel whether that applies before you publish an English-only Canadian version.
How to test without overclaiming
- Crawl your own site and export every page's annotations, canonical and status code. Google notes that many third-party hreflang tools exist and that it does not maintain or check them, so treat any tool's verdict as a lead, not a ruling.
- Check syntax on our workbench. It validates codes and URLs in your browser, but it cannot confirm return links or status codes because it fetches nothing.
- Search Console no longer helps here: Google deprecated the International Targeting report and its country-targeting setting, while saying it continues to support and use hreflang. Your own crawl data is now the main evidence.
- When something fails, use the diagnosis guide to separate a broken annotation from a page Google never crawled.
Questions
Does hreflang improve rankings?
Google describes hreflang as a way to help Search point users to the most appropriate version of a page by language or region. It does not describe it as a ranking boost, so measure success as the right version appearing in each market.
Do I need x-default?
No. It is optional. Use it when you have a page that suits visitors whose language or country matches none of your versions, such as a country selector.
Can one URL carry two hreflang values?
Yes. One page can serve, for example, English speakers in two countries. List the URL once per value in every member's set, and make sure the page really fits both audiences, including license and age information.
Sources
- Google Search Central, Tell Google about localized versions of your page, last updated September 21, 2026.
- Google Search Central, How to specify a canonical with rel="canonical" and other methods, last updated July 10, 2026.
- Google Search Central, Managing multi-regional and multilingual sites, last updated December 10, 2025.
- Google Search Central, Latest Google Search documentation updates (entry of June 12, 2024, "Clarifying link tag attributes").
- Google Search Console Help, The International Targeting report is deprecated, no date shown.
- IETF, RFC 5646: Tags for Identifying Languages (BCP 47), September 2009.
- Gambling Commission, Remote sector guidance, no date shown.
- Gemeinsame Glücksspielbehörde der Länder, Whitelist of permitted operators, checked October 26, 2026.
- BOE, Ley 13/2011, de 27 de mayo, de regulación del juego (consolidated text), art. 10.4, last amended December 31, 2022.
- Office québécois de la langue française, Sites Web, no date shown.
Spotted an error? Tell the editors and include a link to the source. Corrections are noted on the page they change (corrections policy).