AI Website Building

Hreflang Audit Checklist: Test Every Language Version

Audit hreflang with a three-language example, reciprocal-link checks, canonical tests, and a release checklist for finding errors across localized pages.

October 8, 2026 / 7 min read

AI-generated editorial illustration of three equivalent webpage panels linked across language versions.
In this article
  1. 01 Build the equivalence table first
  2. 02 Inspect the annotations actually delivered
  3. 03 Check canonical and alternate relationships separately
  4. 04 Use an expected-versus-actual audit matrix
  5. 05 Verify language content and the full reader journey
  6. 06 Frequently asked questions
  7. 07 Make locale correctness part of every release
  8. 08 Sources

A hreflang audit checks that equivalent language or regional pages identify one another correctly and remain accessible at the intended URLs. Start with a page-equivalence table, inspect the delivered annotations, verify return links and canonical choices, then check the actual translated content. Valid-looking tags cannot compensate for linking unrelated pages.

This checklist is for teams auditing an already localized business website. If you are still choosing URL structure or translating the first version, begin with our website localization launch checklist. Here, the deliverable is a repeatable expected-versus-actual test for each language set.

  • Group equivalent pages before checking tags.
  • Test self-references, return links and final destinations.
  • Keep canonicalization and language alternatives consistent.
  • Verify the content and user journey, not just the markup.

Build the equivalence table first

Export the intended localized URLs from your CMS or content inventory. Assign a stable content key to each group, such as product-overview or installation-guide. The key represents the reader's task, not a translated slug that might change.

Consider this fictional product-page set:

Content keyLanguage or regionExpected URL
product-overviewEnglish, United Stateshttps://example.com/en-us/product
product-overviewEnglish, United Kingdomhttps://example.com/en-gb/product
product-overviewGermanhttps://example.com/de/produkt

Before adding tags, open all three pages. They should serve equivalent purposes, even if pricing, terminology or examples differ by market. A German homepage is not an appropriate substitute for a missing German product page. If a translation does not exist, omit that nonexistent variant instead of inventing an alternate URL.

English US, English UK and German product pages form a reciprocal alternate set with self-references.
Check the intended destinations, not merely the number of hreflang tags.

Inspect the annotations actually delivered

Google supports language annotations in HTML, HTTP headers or sitemaps. Its localized-version guidance describes equivalent methods, fully qualified URLs, self-references and reciprocal links. Choose a maintainable implementation; multiple methods do not create an extra search benefit.

For the fictional set, the following HTML alternate block belongs in the head of each of the three pages. All destinations are illustrative and must be replaced with real URLs.

<link rel="alternate" hreflang="en-US"
      href="https://example.com/en-us/product">
<link rel="alternate" hreflang="en-GB"
      href="https://example.com/en-gb/product">
<link rel="alternate" hreflang="de"
      href="https://example.com/de/produkt">

Use en-GB, not en-UK, for that regional target. Use a language-only value when the page is intended for speakers of that language generally. Add x-default only when you have an intentional fallback, such as a suitable language selector; it is not mandatory decoration.

Compare the live output with the inventory rather than checking only the CMS field. A template bug can render the correct saved configuration incorrectly. If you use HTML annotations, inspect the head. If you use sitemap or HTTP annotations, inspect that actual source as well.

Test both directions

For each pair, record A points to B and B points to A. A one-way link is not a complete relationship. In a three-page set, confirm each page's own entry and the two other entries. If your implementation deliberately covers only some language pairs, record that design explicitly and verify reciprocity for the pairs you expect Google to process.

Do not reduce the test to counting three tags. Three tags can all point to the same URL, use duplicate language values, or name unrelated pages. Compare each language code and destination against the expected table.

Check canonical and alternate relationships separately

The canonical identifies a preferred representative among duplicate or very similar URLs; hreflang describes localized alternatives. They answer different questions. Google's canonicalization guidance explains that a declared canonical is a signal rather than a command.

For the distinct translated pages in this example, expect each page to identify its own intended canonical URL. A German page that unexpectedly canonicalizes to the English page is a conflict to investigate. Do not fix every real site by blindly forcing self-canonicals: same-language regional duplicates and other URL variants may need a considered consolidation strategy.

Canonical identifies a preferred representative, while hreflang identifies language and regional alternatives.
Investigate conflicts; do not blindly force a single canonical strategy onto every site.

Follow redirects before recording the destination. A stale alternate that redirects to another locale, a generic homepage or a login screen may look syntactically correct while failing the user. Record the original URL, redirect chain and final page so the owner can fix the underlying mapping.

Also inspect indexing controls. A noindex translation linked as an alternate deserves investigation, and a robots block can prevent a crawler from reading page-level signals. Keep these findings separate: an accessible page, a declared alternate and an indexed page are not interchangeable states.

Use an expected-versus-actual audit matrix

Start with a small sample that includes the homepage, one product page and one article or help page. If they use different templates, test each template. Expand the crawl when the sample finds a systematic problem or before a large localized release.

CheckExpected in the fictional setEvidence to save
Final responseEach intended page responds successfullyStatus and final URL
Locale mapCorrect en-US, en-GB and de destinationsExtracted alternate entries
Return linksEach declared pair links both waysPair-by-pair comparison
CanonicalMatches the chosen URL strategyDeclared and, when available, Google-selected canonical
ContentEquivalent task, appropriate language and marketReviewed headings, body and conversion path
Illustrative audit matrix flags a German alternate-set issue and requests canonical and content checks.
An issue should point to a specific correction and a saved retest result.

Keep an issue log with a clear correction:

FailureLikely place to inspectCorrection to verify
German product points to English homepageContent equivalence mappingPoint to the equivalent product page
English page names German; German omits EnglishTemplate or stale locale collectionRestore the intended reciprocal relationship
All locale pages use an English canonicalShared SEO template defaultImplement the approved canonical strategy
Correct tags, mostly untranslated bodyTranslation and editorial pipelineComplete and review the main content
Alternate points to a redirected old slugOld CMS referencesUse the stable intended destination

These are diagnostic examples, not claims about defects on PolyDraft's current site. Save both the failed output and the corrected output when investigating your own implementation. A later template update can otherwise reintroduce a problem without anyone noticing.

Verify language content and the full reader journey

Read the translated page as a visitor. Check the title, headings, body, navigation, image descriptions, form labels and confirmation message. Verify that the call to action leads to a usable destination for that language or clearly explains any limitation. A polished product page followed by an untranslated broken form is an incomplete localization.

Google's multiregional and multilingual site guidance recommends separate URLs and addresses language-routing considerations. Avoid relying exclusively on an IP or browser-language redirect that prevents users or crawlers from reaching a specific version. Provide a usable language switcher.

  1. Save the intended locale set and previous configuration.
  2. Apply the mapping or template correction.
  3. Fetch every affected page and annotation source again.
  4. Repeat canonical, reciprocal-link and content checks.
  5. Verify language navigation and the conversion path.
  6. Use Search Console URL Inspection for selected important URLs and record indexing evidence separately.

The URL Inspection tool can help examine a URL's search status. It is not a complete replacement for the locale matrix, and a live test does not guarantee which regional page Google will serve for every search. Monitor relevant country and page data over time without treating a technical fix as an immediate ranking promise.

Frequently asked questions

Do I need hreflang on a single-language website?

Usually the relevant task begins when you have language or regional alternatives to identify. Do not add nonexistent versions to satisfy a tool's checklist. First decide whether the website actually offers equivalent pages for different audiences and whether those pages are maintained.

Does hreflang translate the page?

No. It describes relationships between versions. The body and user journey still need appropriate localization. Marking an English page as German does not make it German, and the annotation should not be used to conceal unfinished translations.

Should every translation point its canonical to English?

No blanket rule fits every site. For distinct translated pages, that would commonly conflict with the intended localized URL strategy. Review duplicate and regional cases separately, then verify that canonical and alternate signals express the same design.

Make locale correctness part of every release

Keep the equivalence table with your content inventory and rerun the affected checks whenever a page is added, removed or renamed. See PolyDraft's website localization overview for the broader workflow. A useful hreflang audit ends with evidence for each relationship, not simply a count of tags.

About this article: Prepared with AI assistance for PolyDraft. Technical statements are linked to primary documentation checked on October 8, 2026. Worked examples and diagrams are illustrative, not customer results or live-site audit evidence. The hero is an AI-generated editorial illustration. For corrections, contact PolyDraft with the page URL and supporting source.

Sources

Tags hreflang testingmultilingual SEO audithreflang return tags

Put this into practice

Everything above, applied to your site by default

Research-backed copy, a per-page keyword plan, structured data, llms.txt and a robots.txt that welcomes AI crawlers — then one-click deploy to a cloud account you own.