Complete sample lesson · no account required
Find and fix a broken hreflang cluster
Repair reciprocal locale relationships without confusing localization with canonicalization.
Treat the annotations as a set of relationships
Alder’s US, UK, and German pages describe the same Ridge boot, with market-specific language and offers. These are equivalent destinations for different audiences. Hreflang annotations describe that relationship. They are not a translation service, a ranking boost, or a command that overrides every searcher’s context. The content and offer still need to be suitable for the market.
Start by identifying the exact product and equivalent page in each market. A German category is not an equivalent of a US product merely because it contains that product. Missing regional products need an explicit availability or fallback decision. Inventing a broad alternate destination makes the relationship misleading and can hide a broken product mapping.
Separate canonical selection from language alternatives
A canonical link expresses a preferred representative among duplicate or very similar URLs. Hreflang expresses locale alternatives. On this case’s distinct localized product pages, each destination has a self-referencing canonical and names all three locale versions, including itself. That keeps the signals coherent. Do not canonicalize a translated German page to the US original merely because the products are equivalent.
Near-identical same-language regional pages need a considered canonical strategy, particularly when the store cannot maintain meaningful regional differences. Investigate what Google selected and why; do not copy the self-canonical answer blindly to every duplication problem. Here the US and UK pages have distinct purchasable offers and destinations, so the intended indexable set is clear.
A corrected HTML set
<link rel="canonical" href="https://alder.example/uk/products/ridge">
<link rel="alternate" hreflang="en-US" href="https://alder.example/us/products/ridge">
<link rel="alternate" hreflang="en-GB" href="https://alder.example/uk/products/ridge">
<link rel="alternate" hreflang="de-DE" href="https://alder.example/de/produkte/ridge">This is the UK head. Repeat the same three alternate annotations on the US and German pages, changing the canonical to that page’s own URL. The domain is reserved example material, not a live test destination. Use en-GB rather than en-UK; a region alone is not a language code. Use absolute URLs and inspect the final destinations, not just the strings in a spreadsheet.
Choose a method and validate what was delivered
Google supports HTML annotations, HTTP Link headers, and XML sitemap annotations. Choose the method the platform can maintain reliably. Duplicating all three is not required. A syntax validator can detect malformed markup but cannot establish that the pages are equivalent or reciprocal. Fetch the destinations, inspect their status, canonical and indexing controls, and compare the full sets.
An x-default annotation is useful when an appropriate fallback destination exists for unmatched languages. It is not compulsory in every cluster. Do not point every product’s fallback at a generic home page without considering the lost shopping context. This exercise omits x-default because Alder has not yet designed a product-preserving fallback.
Shopify Markets can generate annotations from market and language configuration; inspect those before adding manual tags. On WooCommerce, identify which multilingual integration owns the mapping and whether the theme or another plugin also outputs tags. Repair the owning configuration rather than layering a contradictory second implementation over it. After release, validate representative products and missing-locale cases, and recheck Search Console observations after recrawling.
Repair the supplied cluster
All three case pages return 200 and contain the expected localized Ridge product. The German page is indexable but currently canonicals to the US page. No x-default destination has been designed.
Page | Current alternates | Canonical |
|---|---|---|
/us/products/ridge | en-US → US; en-UK → UK; de-DE → DE | US |
/uk/products/ridge | en-US → US; en-GB → UK | UK |
/de/produkte/ridge | en-US → US; de-DE → DE | US |
Allow about 15 minutes. Alder and all supplied observations and figures are fictional practice material, not measured client results. Use the supplied case or equivalent evidence from your own store.
Identify the code, reciprocity, and canonical defects separately.
Write the expected alternate set for all three pages and the canonical for each.
Specify release checks and explain whether x-default is required here.
Worked solution
Replace en-UK with en-GB. Add the German alternate to the UK page and the UK alternate to the German page. Each page should then list en-US → US, en-GB → UK, and de-DE → DE. The self-reference belongs in each set.
Change the German canonical to its own German URL. Keep the US and UK self-canonicals. Verify that all three final URLs return 200, are crawlable and indexable, describe the same product, and contain the intended offers. Inspect the delivered HTML or chosen annotation method rather than relying on editor settings.
No x-default is required for this repair. Add one later only with a deliberate fallback behavior. Capture before/after evidence, recrawl a sample from each locale, and monitor selected canonicals and market landing pages; passing the checks does not guarantee a particular URL will appear for every search.
Check your reasoning
The repair must address all three independent defects. Merely adding a German tag to the US page leaves broken return relationships.
Your verification must include real destination behavior and canonical consistency, not only valid XML or HTML syntax. Keep implementation correctness separate from observed search outcomes.
Sources & further reading
- Google: localized versions of pages (opens in a new tab)
- Google: managing multilingual and multi-regional sites (opens in a new tab)
- Google: canonical URL guidance (opens in a new tab)
- Shopify: international SEO for markets (opens in a new tab)
Recheck platform controls before implementing a change. Recommendations in the worked case depend on its stated constraints.