A visitor in the United Kingdom shouldn’t land on an affiliate page showing US prices, unavailable merchants, and links in dollars. Yet that happens often when one site targets several countries without clear regional signals.
Hreflang helps Google connect equivalent pages for different languages and regions. It can guide searchers toward the version with the right currency, merchant, product availability, and affiliate links. It doesn’t replace good content, canonical tags, or sensible site architecture.
The setup becomes much easier when you plan regional URLs before adding annotations.
What hreflang does for affiliate sites
Hreflang is an HTML attribute, HTTP header, or XML sitemap annotation that tells search engines about alternate versions of a page.
A page can target:
- A language, such as
en - A language and country, such as
en-US - A country-specific variation that shares the same language, such as
en-GBanden-AU
For affiliate sites, the regional difference often affects more than spelling. A US page may promote Amazon.com, while a UK version links to Amazon.co.uk. Prices, tax treatment, shipping, warranties, product selection, and merchant approval can also differ.
Hreflang gives Google a relationship between these pages. When the searcher appears to be in the UK and searches for a relevant topic, Google can choose the UK page instead of showing the US version.
That relationship works both ways. Every regional page should identify itself and the other valid alternatives. If the US page points to the UK page, but the UK page doesn’t point back, Google may ignore the connection.
Hreflang is a signal, not a command. Google still considers page quality, relevance, indexing, canonicalization, language, location, and the searcher’s query. Correct annotations improve the chances of the right page appearing, but they don’t guarantee a particular result.
The pages also need real value for their intended audience. Changing only an affiliate tracking parameter usually doesn’t justify a new regional page. A useful regional version might include a local merchant, local currency, region-specific availability, or country-specific buying advice.

A regional site structure works best when each URL has a clear audience and offer.
Choose regional URLs before adding hreflang
Hreflang cannot repair a confusing URL structure. First decide how visitors and search engines will identify each regional page.
Common options include:
- Country subdirectories, such as
example.com/us/andexample.com/gb/ - Country subdomains, such as
us.example.comandgb.example.com - Separate country domains, such as
example.comandexample.co.uk
For most growing affiliate sites, subdirectories are the easiest option. They keep the site under one domain and simplify analytics, internal linking, content management, and reporting.
Suppose a site reviews running shoes and sends visitors to regional retailers. Its structure could look like this:
| Audience | Example URL | Main offer difference |
|---|---|---|
| United States | https://www.example.com/us/en/best-running-shoes/ | US retailers and USD pricing |
| United Kingdom | https://www.example.com/gb/en/best-running-shoes/ | UK retailers and GBP pricing |
| Australia | https://www.example.com/au/en/best-running-shoes/ | Australian retailers and AUD pricing |
| Germany | https://www.example.com/de/de/beste-laufschuhe/ | German content and EUR pricing |
| France | https://www.example.com/fr/fr/meilleures-chaussures-running/ | French content and French retailers |
The country and language folders are optional naming choices. Google doesn’t treat /us/ as a complete targeting instruction by itself. The page content, links, structured data, domain signals, and hreflang annotations still matter.
A regional URL should stay stable. Avoid creating many URLs based on temporary campaign IDs, browser settings, or changing affiliate sub-IDs. Those variations can create duplicate pages and make reporting difficult.
Plan the page relationship before publishing:
- Decide which pages are genuine equivalents.
- Assign each page a language and, where needed, a country.
- Map each page to the merchants and offers available in that market.
- Choose one implementation method for hreflang.
- Set the canonical URL for every regional page.
- Test the links before indexing the pages.
Regional pages also need consistent internal links. A US article should usually link to other US pages when the offer changes by country. A language switcher can help visitors move between versions, but it shouldn’t replace crawlable links in the page source.
If you’re building the site around affiliate content, a focused publishing process helps prevent thin regional duplicates. Goho Money’s 30 day affiliate content plan provides a useful framework for choosing high-intent pages before expanding into multiple markets.
Add accurate hreflang annotations
You can implement hreflang in three places: the HTML head, HTTP response headers, or an XML sitemap. Most content sites use HTML or sitemaps. Large sites often prefer sitemaps because one central file is easier to manage than editing every page template.
Don’t combine several methods without a strong reason. Multiple systems can drift apart and create conflicting annotations.
HTML head example
For the US running-shoe page, the document head could include these alternate references:
<link rel="alternate" hreflang="en-US" href="https://www.example.com/us/en/best-running-shoes/" />
<link rel="alternate" hreflang="en-GB" href="https://www.example.com/gb/en/best-running-shoes/" />
<link rel="alternate" hreflang="en-AU" href="https://www.example.com/au/en/best-running-shoes/" />
<link rel="alternate" hreflang="de-DE" href="https://www.example.com/de/de/beste-laufschuhe/" />
<link rel="alternate" hreflang="fr-FR" href="https://www.example.com/fr/fr/meilleures-chaussures-running/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/best-running-shoes/" />
Every one of those pages should contain the same complete set, including its own URL.
Use valid language and country codes. The language portion uses ISO 639-1 codes, while the country portion uses ISO 3166-1 alpha-2 codes. Write the country code in uppercase, such as en-US, en-GB, and pt-BR.
A language-only value works when the page applies to speakers of that language regardless of country. For example, fr can target French speakers when you don’t maintain separate French pages for France, Belgium, Canada, or Switzerland.
Country-specific values are better when the offer changes by market. The difference between en-US and en-GB isn’t only spelling. It can tell Google that each page has a distinct commercial destination.
Include a self-reference and x-default
A self-referencing annotation tells Google that the current page belongs in the alternate group. Without it, the cluster is incomplete.
The x-default value points to a general page for visitors who don’t match one of the listed language or country options. That page might include a country selector or explain that the site serves several markets.
Don’t use x-default as a substitute for missing regional pages. If you have a German page, list it as de-DE. Use x-default for the fallback experience.
Each URL must be absolute and publicly accessible. Avoid relative paths, fragments, URLs blocked by robots.txt, and pages that require a login. Google needs to fetch the target page to evaluate the relationship.
Use an XML sitemap on larger sites
An XML sitemap can list the alternate URLs for each page. The syntax uses an xhtml:link element inside each URL entry. In practical terms, the sitemap entry for the US page includes one alternate link for the US URL, one for the UK URL, and the other available versions.
The sitemap method is useful when:
- A CMS makes head changes difficult
- You manage thousands of localized pages
- Regional pages come from a product database
- Developers can generate the file automatically
Keep the sitemap data synchronized with the live pages. A sitemap that lists deleted URLs or outdated merchant pages creates the same problems as incorrect HTML annotations.
Hreflang, canonical tags, and geo-targeting do different jobs
These three systems often get mixed together because they all affect how Google interprets regional content. Their roles are separate.
| Signal | Main purpose | Correct regional use |
|---|---|---|
| Hreflang | Connects equivalent language or country versions | Link the US, UK, and Australian versions together |
| Canonical tag | Identifies the preferred URL for duplicate or near-duplicate content | Usually point each useful regional page to itself |
| Geo-targeting | Helps indicate a market through broader site signals | Use local content, currency, links, domain choices, and business details |
A canonical tag does not tell Google which country should see a page. It tells Google which URL should represent duplicate or closely similar content.
For example, the US page might use rel="canonical" with its own US URL. The UK page should generally use its own UK URL when it has different retailers, prices, and availability. Then hreflang connects the two pages as regional alternatives.
Pointing every page’s canonical tag to the US version can cause trouble. Google may treat the UK and Australian pages as duplicates of the US page and leave them out of search results. Hreflang cannot reliably overcome a conflicting canonical setup.
A canonical tag also doesn’t replace a redirect. It is a search signal, not a visitor instruction.
Geo-targeting includes many signals beyond hreflang. A country-code top-level domain can indicate a market, while local spelling, currency, shipping information, local backlinks, and merchant references provide additional context. Google Search Console’s old International Targeting report is no longer available, so site owners shouldn’t depend on a dashboard setting to solve regional targeting.
Hreflang also doesn’t translate content. If the German page contains English copy with a German affiliate button, the annotation won’t make it a proper German result. Translate the page where the audience needs it, then label it accurately.
Match regional offers without deceptive redirects
Affiliate sites often need different merchant links for each country. That requirement can tempt owners to serve different content based only on the visitor’s IP address.
Avoid forced redirects that make regional alternatives difficult to reach. A UK visitor who requests the US page should still be able to access it. Googlebot should also be able to crawl the same stable URLs as regular visitors.
A safer setup uses a visible country selector or a small recommendation banner. For example, the US page can say that a UK version is available, with a normal link to /gb/en/best-running-shoes/. The visitor makes the choice, and the selected market can be remembered with a cookie if the visitor agrees.
Do not create one URL that sends users to different pages based on IP while showing a different version to Google. That can look like cloaking, especially when the content, affiliate destination, or commercial message changes substantially.
If you use location detection, keep it limited and transparent:
- Suggest a regional page instead of blocking the requested URL.
- Give visitors a country selector that remains easy to find.
- Keep every regional URL crawlable without JavaScript.
- Don’t return different SEO content to Googlebot and human visitors.
- Avoid redirect chains through several geo-detection services.
- Let users change their market after the first suggestion.
A regional affiliate page should also explain why its recommendations differ. A UK reader may see UK retailers because shipping and returns matter. A German reader may need German-language support or local pricing. Those details make the page useful and help distinguish legitimate regional content from copied pages with swapped links.
Affiliate tracking needs the same discipline. Use the correct network link for each market, test that it lands at the intended merchant, and disclose the commercial relationship. If you manage many links, affiliate marketing tools for beginners can help with link organization and performance tracking.
Regional performance also deserves separate reporting. Track clicks, conversions, revenue, and EPC by country URL and merchant. A page may receive fewer visits but earn more because its local offer converts better.
Build a repeatable implementation process
A reliable hreflang setup starts with a page map. Create a spreadsheet with one row per content group and columns for language, country, URL, canonical URL, primary merchant, and publication status.
For the sample running-shoe site, one content group contains the five URLs shown earlier. If the Australian version doesn’t exist yet, don’t invent its annotation. Add it after the page is published, accessible, and ready for users.
Next, add the annotations through the method your team can maintain. A small WordPress site may use a trusted multilingual SEO plugin, such as those that support language and country alternates. A custom site may generate sitemap annotations from its database. The tool matters less than the output.
Review the rendered page source, not only the CMS editor. Check that:
- The final URLs use HTTPS.
- Each alternate URL returns a successful response.
- No URL redirects to another country page.
- The pages are indexable.
- Every page lists itself.
- Every page lists the same valid alternatives.
- Language and country codes use the correct format.
- The canonical tag doesn’t point to an unrelated regional version.
- Internal links support the intended market.
For a site with a few dozen pages, manual review may be enough after each release. Larger sites need automated checks in the deployment process. A missing return link can affect an entire cluster, so a template change deserves the same attention as a broken affiliate redirect.
Hreflang should also survive URL changes. If you move /gb/en/best-running-shoes/ to /gb/en/running-shoe-guide/, update the canonical, internal links, sitemap, and every alternate reference. Set a relevant redirect from the old URL, then remove the old URL from the hreflang group after the new page is live.
Don’t use hreflang to connect unrelated pages. A US “best credit cards” article shouldn’t point to a UK “best bank accounts” page because both pages target financial products. The pages need to be alternate versions of the same user need.
Hreflang implementation checklist
Use this short review before publishing a regional affiliate page:
- Confirm the page has a real audience and offer for its target country.
- Choose a permanent, descriptive URL.
- Add the correct language-country value, such as
en-GB. - Add a self-referencing hreflang annotation.
- List every available equivalent page.
- Add reciprocal references on all listed pages.
- Add
x-defaultwhen a general fallback page exists. - Use absolute HTTPS URLs.
- Set a self-canonical when the regional page has distinct value.
- Check that the page, affiliate links, and merchant offer work in the target market.
- Submit the sitemap and inspect important URLs in Google Search Console.
- Record the page group so future edits don’t break the relationship.
The page should still make sense when someone arrives without clicking a language switcher. Searchers may enter through Google, an email, a social post, or an internal link.
Troubleshooting common hreflang errors
Most problems come from incomplete clusters, incorrect URLs, or conflicting signals.
Google shows the wrong country page
First check whether both pages are indexed and whether the target URL returns a successful response. Then inspect the canonical tags. If the UK page canonicals to the US page, Google may choose the US URL despite the hreflang relationship.
Review the content as well. A page with no UK pricing, retailer, spelling, or buying information gives Google little reason to treat it as a useful UK result.
The alternate pages are missing in the source
JavaScript-based language switchers don’t always create crawlable hreflang annotations. Look at the raw HTML or generated sitemap. If the tags appear only after a browser script runs, move them into the server-rendered head or XML sitemap.
Google reports missing return tags
This usually means one page lists another page, but the second page doesn’t list the first. Compare the complete annotation set across the cluster. A typo in one country code or a trailing slash difference can also break the match.
For example, https://www.example.com/gb/en/best-running-shoes/ and https://www.example.com/gb/en/best-running-shoes may resolve to the same visible page, but they are different URLs to a crawler.
A page has no hreflang benefit
Check whether the page is blocked by robots.txt, carries a noindex directive, redirects, or returns an error. Also check whether the page appears in the XML sitemap with a different URL.
Google can ignore annotations when pages are inaccessible or when the relationship doesn’t make sense. Correct syntax cannot fix a page that has no indexable content.
Regional pages compete with one another
Compare their titles, headings, copy, internal links, and affiliate destinations. Some shared text is normal, but each page should serve its named market. Add useful local information instead of changing a few currency symbols.
Use Search Console’s URL Inspection tool to review indexing and selected canonical information for individual URLs. Third-party crawlers such as Screaming Frog or Sitebulb can find broken return links across a large set of pages. Since Google no longer provides the former dedicated hreflang report, your own crawl and release checks matter more.
Conclusion
Hreflang helps Google connect the right affiliate page with the right language and market. It works best when regional URLs contain genuine local value, canonical tags identify the correct page, and visitors can choose their market without forced redirects.
Keep the system consistent: every page references itself and its alternatives, every alternate references back, and every merchant link matches the country shown on the page. When those details align, regional affiliate sites become easier for search engines to interpret and more useful for the people ready to click.