Hreflang and international SEO: a guide for multilingual South African sites
Hreflang is an HTML attribute that tells Google which language and regional version of a page to show to which users. It is a targeting signal, not a redirect, and it does not change rankings. For multilingual South African sites and brands exporting to other markets, hreflang keeps the right language or regional version in front of the right searcher.
If your site serves English, Afrikaans, and isiZulu audiences, or targets customers beyond South Africa, hreflang is how you tell Google which version to show whom. Done right, it stops the wrong language version outranking the right one. Done wrong, it does nothing or actively confuses Google.

TL;DR: Quick Answer
Hreflang is an HTML attribute that tells Google which language and regional version of a page to serve to which users. It signals that several URLs are equivalent versions of the same content in different languages or for different regions. It is a targeting signal, not a redirect, and it does not boost rankings. Implement it via in-head link tags, HTTP headers or your XML sitemap, then follow four rules: tags must be reciprocal, point to canonical URLs, use correct ISO codes, and include an x-default fallback. Multilingual or multi-region South African sites need it; single-language, single-market sites do not.
Key takeaways
- Hreflang matches a searcher to the right language or regional version; it does not change rankings or pass authority
- South Africa has 11 official languages, so multilingual sites in English, Afrikaans and isiZulu benefit most
- Choose one implementation method (in-head tags, HTTP headers or XML sitemap) and apply it consistently
- Every page in a set must list all versions, including itself, and tags must be reciprocal both ways
- Use ISO 639-1 language and ISO 3166-1 Alpha-2 region codes, such as en-za, af-za and en-gb
- Verify with Google Search Console and a crawler such as Screaming Frog after any migration or URL change
South African businesses serving English, Afrikaans and isiZulu audiences, or exporting to markets like Namibia, Botswana and the UK, run into the same problem: Google sometimes shows the wrong language or regional version of a page. Hreflang is the technical signal that fixes this. It is one of the most misunderstood parts of technical SEO, and getting it wrong is common enough that audits routinely find errors serious enough to nullify it entirely.
What is hreflang?
Hreflang is an HTML attribute that tells Google which language and regional version of a page to show to which users. It signals that several URLs are equivalent versions of the same content in different languages or for different regions, so Google can serve the most relevant one in search results. It is a targeting signal, not a redirect.
Crucially, hreflang does not change rankings or consolidate signals between pages. It does not boost authority. Its single job is to help Google match a searcher in Johannesburg searching in Afrikaans to your Afrikaans page rather than your English one. Get the matching right and you reduce bounce, improve relevance, and avoid duplicate-content confusion across versions. If you are still building out the fundamentals, our on-page SEO checklist for South African sites covers the groundwork hreflang builds on.
Why hreflang matters for South African sites
South Africa has 11 official languages, and many businesses publish in English, Afrikaans, and isiZulu, or expand into SADC and other markets. Hreflang is what keeps these versions from competing against each other in search and ensures the right audience lands on the right page. It is essential for any genuinely multilingual or multi-region site.
Two distinct scenarios trigger the need for it. First, multilingual targeting within South Africa: serving the same products in English and Afrikaans to local users. Second, multi-region targeting: a South African brand exporting to Namibia, Botswana, or the UK, where the same English content needs region-specific versions (pricing in Rand vs. Pula, local shipping info). Without hreflang, Google may show your .co.za English page to a Namibian customer, or your generic page to an Afrikaans speaker who would convert better on the localised one.
Official languages in South Africa, which is why multilingual sites publishing in English, Afrikaans and isiZulu rely on hreflang to keep each version in front of the right audience.
Source: Constitution of the Republic of South AfricaHow do you implement hreflang?
There are three valid methods, and you pick one based on your setup. You can place rel="alternate" hreflang tags in the <head> of each page, send them via HTTP headers (for non-HTML files like PDFs), or list them in your XML sitemap. The XML sitemap method is often easiest to maintain on large sites because it centralises all the relationships.
A basic in-head implementation for an English/Afrikaans South African site looks like this:
| Hreflang value | Targets | Example URL |
|---|---|---|
| en-za | English, South Africa | https://example.co.za/en/product |
| af-za | Afrikaans, South Africa | https://example.co.za/af/product |
| x-default | Everyone else (fallback) | https://example.co.za/product |
Every page in the set must list all versions, including itself. Whichever method you choose, do not mix them for the same pages, as that creates conflicting signals. Pick one and apply it consistently across the entire set.
Hreflang can be implemented three ways: link tags in the page head, HTTP headers, or annotations in the XML sitemap. Each page in a language set must reference every version, including itself, and you must not mix methods for the same pages. For South African sites, a typical set uses en-za, af-za and zu-za plus an x-default fallback. The XML sitemap method scales best on large or frequently changing sites. Source: Google Search Central documentation on localised versions, 2026.
The rules hreflang must follow
Hreflang has four non-negotiable rules: tags must be reciprocal, they must point to canonical URLs, they must use correct ISO language and region codes, and the set should include an x-default. Break any one and Google will likely ignore the entire cluster, wasting the effort.
Reciprocal (bidirectional)
If page A points to page B as an alternate, B must point back to A. Confirmation must be mutual or Google discards the relationship.
Match canonical URLs
Each hreflang URL must be the canonical version of that page. Pointing hreflang at a non-canonical or redirecting URL breaks the signal.
Correct ISO codes
Use ISO 639-1 for language and ISO 3166-1 Alpha-2 for region: en-za (English/South Africa), af-za (Afrikaans), zu-za (isiZulu), en-gb (English/UK). The language comes first, region second, and region is optional.
Include x-default
The x-default value sets the fallback page for users whose language or region you have not explicitly targeted.
What are the most common hreflang mistakes?
The most common hreflang mistakes are non-reciprocal tags, wrong language or region codes, and conflicting canonicals. Audits of hreflang implementations consistently find that a large share of sites have errors serious enough to nullify it. These three account for the majority of broken implementations.
| Mistake | What happens | Fix |
|---|---|---|
| Non-reciprocal tags | Page A references B, but B does not reference A, so the pair is ignored | Ensure every version references every other version, both ways |
| Wrong codes | Invalid values such as en-uk, invented region codes or country-first order are silently dropped | Use en-gb, language first then region, validated ISO codes |
| Conflicting canonicals | Hreflang points to one URL while the canonical tag points to another, contradicting Google | Each language version should self-canonicalise, not canonicalise to another language |
| Missing return tags or self-reference | A version is omitted from the cluster, or the page leaves itself out of its own set | Include every version, including the page itself, in each set |
“Most hreflang problems we audit come down to two things: tags that do not point back at each other, and invalid region codes like en-uk. Both fail silently, so the site owner has no idea Google is ignoring the whole cluster. A single crawl usually surfaces every error in an afternoon, and fixing them in batches is far cheaper than the lost relevance.”
Cobus van der Westhuizen, CEO, Juicy Designs, reviewed and verified April 2026
How do you verify hreflang is working?
Verify hreflang through Google Search Console and dedicated crawl tools. While the standalone International Targeting report has been retired, Search Console still surfaces hreflang issues in its reports, and a crawler like Screaming Frog will flag missing return tags, invalid codes, and canonical conflicts across your whole site at once. Always test before assuming it works.
A practical verification routine: run a full crawl with an SEO spider configured to extract hreflang, filter for errors (non-reciprocal, invalid codes, non-canonical targets), and fix them in batches. Then spot-check live URLs by viewing source to confirm tags render correctly, especially if they are injected by JavaScript. Re-check after any site migration or URL change, since those frequently break hreflang clusters that were previously valid. This pairs naturally with a wider technical SEO audit, where hreflang is one of several signals worth re-validating after structural changes.
Frequently asked questions
Do I need hreflang if my site is only in English?
Only if you target multiple English-speaking regions with different content, such as a South African site with separate UK or Namibian versions. A single English site serving one market does not need hreflang. Multilingual or multi-region sites do; single-language, single-market sites can skip it entirely.
Is hreflang a ranking factor?
No. Hreflang does not improve rankings or pass authority between pages. It only helps Google serve the correct language or regional version to the right searcher. The benefit is better relevance, lower bounce rates, and avoiding your own versions competing against each other, not a direct rankings boost.
What is the difference between hreflang and canonical tags?
Canonical tags tell Google which version of duplicate content to index. Hreflang tells Google which language or regional version to show to which user. They work together: each language version should canonicalise to itself, then use hreflang to declare the other language versions as alternates, not duplicates.
What are the most common hreflang mistakes?
The most common hreflang mistakes are non-reciprocal tags, wrong language or region codes, and conflicting canonicals. Non-reciprocal tags happen when page A references B but B does not reference A, so the pair is ignored. Wrong codes, such as using en-uk instead of the correct en-gb, are silently dropped. Conflicting canonicals send Google contradictory instructions.
How do you verify hreflang is working?
Verify hreflang through Google Search Console and dedicated crawl tools. While the standalone International Targeting report has been retired, Search Console still surfaces hreflang issues, and a crawler such as Screaming Frog will flag missing return tags, invalid codes and canonical conflicts across your whole site at once. Always test before assuming it works.
