Serving Dubai & all UAE
RATH Infotech
Home / Guides / Hreflang for UAE Websites: The Arabic–English Implementation Guide

Hreflang for UAE Websites: The Arabic–English Implementation Guide

Hreflang tells Google which language version of a page to put in front of each searcher. For most UAE websites, that means linking Arabic and English versions with `ar-AE`, `en-AE` and `x-default` values. This guide walks through the exact implementation: codes, placement options, code samples, validation, and the errors that quietly break the whole thing.

This guide comes from the RATH Infotech team, led by founders Sumeet Mehta and Manish Doshi. We work with businesses across Dubai and the wider UAE, and hreflang is one piece of the broader work covered on our technical SEO services page. Still, you can put it into practice yourself using the samples and checks below.

What hreflang is: and what it is not

Hreflang is a `rel="alternate"` annotation, placed in the HTML head, an HTTP header, or an XML sitemap, that names the language and region variants of a page so Google can serve the right one to each searcher. Each URL declares all of its alternates, including itself, and the annotations must point back at each other. Google treats it as a signal, not an absolute directive.

Here is the honest part most tutorials skip: hreflang is not a ranking boost. It does not lift a page higher in the results. What it does is make sure the correct language version appears for the right user, so your Arabic page shows to Arabic searchers instead of the English one ranking in its place. That improves click-through and user experience and prevents wrong-language pages competing with each other, but if you are hoping it will move you up the page on its own, it will not. Treat it as a targeting tool, not a growth lever.

Does your UAE website need hreflang?

Not every UAE site needs hreflang. Here's the test: do you have more than one language or country version of the same page? If not, skip it.

  • Single language, single country (an English-only Dubai site, say): skip hreflang. Adding it to a one-version site just creates extra work and error risk, with nothing to show for it.
  • Arabic and English versions of the same pages: use it. This is the standard UAE case, and the rest of this guide is written for it.
  • Same language across more than one country (an English UAE site and a separate English Saudi site, for instance): you need hreflang here too, so each country gets served the right version.

If what you are actually deciding is whether to publish in Arabic, English or both, that strategy question is answered in our English vs Arabic SEO guide. This page assumes the bilingual decision is made and covers how to wire it up correctly.

Choosing the right codes: ar, ar-AE, en-AE and x-default

Hreflang values draw on two separate standards. There's the ISO 639-1 language code, things like `en` or `ar`, and then, optionally, an ISO 3166-1 alpha-2 country code such as `AE` for the United Arab Emirates. You can target just a language, or narrow it down to that language within a particular country.

The decision that matters most on a UAE site comes down to bare `ar`/`en` versus `ar-AE`/`en-AE`. Go with bare `ar` and `en` when each version needs to serve all Arabic or English speakers worldwide. Choose `ar-AE` and `en-AE` when the versions are built specifically for the UAE market, with other countries planned for later. Most UAE businesses that operate only in the Emirates are better off with the country-qualified set. It's the safer default, and it leaves room to expand across the GCC without reworking everything.

X-default is the fallback. It names the version shown to searchers who don't match any of your declared language/region pairs. It's optional, but recommended, on a typical UAE site, point it at the English version as the broadest catch-all.

Invalid codes are silent killers. `en-uae`, `en-dubai`, or a bare `ae`, none of these count as valid hreflang. The region unit has to be the country, written as a two-letter ISO code (`AE`). Not a three-letter name. Not a city, either. Google simply ignores anything invalid, and that quietly kills your targeting. You won't see an error in the browser to warn you.

ValueMeaningWhen to use on a UAE site
`en`English, any countryEnglish content aimed at all English speakers, not the UAE specifically
`ar`Arabic, any countryArabic content aimed at all Arabic speakers worldwide
`en-AE`English, United Arab EmiratesEnglish pages targeted at the UAE market, the recommended UAE default
`ar-AE`Arabic, United Arab EmiratesArabic pages targeted at the UAE market, the recommended UAE default
`en-SA` / `ar-SA`English / Arabic, Saudi ArabiaOnly when you add a genuinely separate Saudi version (GCC expansion)
`x-default`Fallback for unmatched usersRecommended once, point it at your primary (usually English) version
`en-uae`, `en-dubai`, `ae`Invalid, ignored by GoogleNever. Use `en-AE`; the region is a two-letter country code, not a city or name

Three ways to implement hreflang

There are three places hreflang can live: HTML `<link>` tags in the page head, HTTP response headers, or annotations inside your XML sitemap. Google treats all three as equally valid. What matters is this: pick exactly one method and don't mix conflicting sources. Contradictory annotations across methods are a common source of errors.

MethodBest forProsCons / limits
HTML `<link>` in `<head>`Small sites, simple bilingual setupsEasiest to read, edit and verify with view-sourceAdds weight to every page; tedious to maintain at scale
HTTP headerNon-HTML files such as PDFsThe only option for files with no HTML headNeeds server configuration; harder to inspect and audit
XML sitemapLarge sites, many language pairsKeeps pages light; scales and centralises maintenanceLarger sitemaps; changes can take longer for Google to pick up

HTML head tags are the simplest route for a small bilingual site. A large catalogue calls for something else: the sitemap keeps every page light and gathers all the annotations in one spot. The HTTP header's only real use is hreflang on non-HTML files, like PDFs.

Content management systems don't all handle this the same way. Platforms like WordPress and Shopify, through their multilingual extensions, generate the tags automatically on some setups; on others, you're expected to add them yourself. Check what your particular stack actually outputs before assuming it's correct. Whichever way they're generated, the annotations still have to follow every rule below.

HTML head sample, an `en-AE` / `ar-AE` / `x-default` trio on the English page:

<link rel="alternate" hreflang="en-AE" href="https://www.example.ae/page/" />
<link rel="alternate" hreflang="ar-AE" href="https://www.example.ae/ar/page/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.ae/page/" />

The Arabic page (`/ar/page/`) needs to carry those same three lines. That way the pair points back at each other, and each page references itself.

XML sitemap sample, the same pair, using `xhtml:link` entries:

<url>
  <loc>https://www.example.ae/page/</loc>
  <xhtml:link rel="alternate" hreflang="en-AE" href="https://www.example.ae/page/" />
  <xhtml:link rel="alternate" hreflang="ar-AE" href="https://www.example.ae/ar/page/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.ae/page/" />
</url>
<url>
  <loc>https://www.example.ae/ar/page/</loc>
  <xhtml:link rel="alternate" hreflang="en-AE" href="https://www.example.ae/page/" />
  <xhtml:link rel="alternate" hreflang="ar-AE" href="https://www.example.ae/ar/page/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.ae/page/" />
</url>

Note both URLs turn up as separate `<url>` entries, and each one carries the full set of alternates. That reciprocity is what makes the annotation valid.

Step-by-step: hreflang for a bilingual Arabic–English UAE site

This is the full process for the standard UAE setup: an English site paired with an Arabic version. The example uses an English URL alongside its Arabic counterpart, filed under an `/ar/` subfolder. That's the exact structure our Arabic SEO guide walks through in full.

StepActionOutput / check
1Map every URL pairA list matching each English URL to its Arabic equivalent (e.g. `/page/` ↔ `/ar/page/`)
2Choose your codesDecide `en-AE`/`ar-AE` (UAE-specific) vs bare `en`/`ar`, and confirm an `x-default` target
3Choose one placement methodHTML head, HTTP header, or sitemap, one only, never mixed
4Generate the annotationsFor each page, list all alternates plus a self-reference to itself
5Add return tagsConfirm each page in a pair points back at the other, reciprocity is mandatory
6Deploy and crawl-validateShip the change, then crawl the site to confirm every pair resolves with no errors
7Monitor over timeWatch country/query data to confirm the right versions are being served

The two spots where this usually breaks are step 4, where people forget the self-reference, and step 5, where the return tags go missing. Nail those two and everything after is just mechanical.

The rules that make or break it: return tags, self-reference, canonicals

Three rules decide whether Google honours your annotations at all.

Return tags must be bidirectional. Point the English page at the Arabic page, and the Arabic page has to point back. Skip that, and Google treats the annotation as broken, often ignoring the whole pairing. It's the single most common hreflang error you'll see reported: "no return tags."

Every page has to point back to itself. Each URL needs to list all of its alternates, and that list has to include the page's own address. Skip the self-reference and the cluster falls apart, it can't be trusted.

Canonicals have to stay within the same language. Each version points to itself: the English page's canonical is the English URL, and the Arabic page's canonical is the Arabic URL. Don't point one language's canonical at another language's URL. Do that, and you're telling Google to drop that version from the index entirely, which defeats the purpose of publishing it in the first place. Hreflang and canonical only work together when each sticks to its own job. Hreflang says here are the alternates. Canonical says this is the definitive version of this page.

Last, set `x-default` to point at whichever version best serves users who don't match any of your pairs. For a UAE site, that's usually the English page.

Beyond the UAE: hreflang across the GCC

Hreflang is also the tool to reach for when you're rolling the same language out across more than one GCC country. Say you launch an English page for Saudi Arabia to sit alongside your English UAE page, declare them as alternates of each other, `en-AE` and `en-SA`, and let each page's canonical point back to itself. That pattern holds as you add more markets: Qatar gets `en-QA`, Kuwait gets its own tag, and so does whatever GCC country comes next.

This is exactly the case where people reach for a canonical tag and get it wrong. Canonicalise the Saudi page to the UAE page, and the Saudi version drops out of search. Hreflang exists for precisely this reason: it lets near-identical country pages coexist, each one served to its own market.

A word of caution here: variants multiply fast. Pages times languages times countries grows combinatorially, and each new variant means more annotations you have to keep reciprocal and error-free. Only create a country variant when the content genuinely differs, different currency, offers, contact details or regulation. If two country pages would end up identical, you probably don't need the second one.

Common hreflang errors and how to fix them

Most hreflang problems don't show up on screen. The page looks fine in a browser, but the targeting fails without anyone noticing. Below are the errors that turn up in crawler reports, along with how to fix each one.

ErrorWhat it looks likeWhy it breaks targetingFix
No return tagsPage A points to B, but B does not point back to AGoogle treats one-way annotations as invalid and may ignore themAdd the reciprocal annotation on every page in the pair
Invalid language/region codeValues like `en-uae` or misspelled codesInvalid codes are ignored, silently disabling targetingUse ISO codes only, `en-AE`, `ar-AE`
Region-only value`hreflang="ae"` with no languageRegion alone is not a valid hreflang valueAlways lead with a language: `en-AE`, `ar-AE`
Conflicting canonicalLanguage version canonicalises to a different languageTells Google to drop that version from the indexCanonicalise each version to itself
Mixed methods disagreeingHead tags and sitemap declare different alternatesContradictory signals confuse or invalidate the annotationPick one method and remove the others
Annotation on noindex/redirected URLAlternate points to a noindexed or redirecting pageGoogle cannot serve a page it is told not to indexPoint annotations only at indexable, live, canonical URLs
Relative URLs`href="/"` instead of a full URLRelative paths are unreliable for hreflangUse absolute URLs with protocol and host
Missing x-defaultNo fallback declared for unmatched usersUsers outside your declared pairs get no defined versionAdd one `x-default`, usually to the English version

If a page isn't showing up in search results at all, rather than showing up with the wrong language, that points to an indexing problem, not hreflang. To sort that out, see our guide on why Google isn't indexing your site.

How to test and validate hreflang

Hreflang tags are easy to get subtly wrong, so check them rather than assume they worked. We use the full industry-standard stack to do it.

  • Crawl the site. Screaming Frog reports hreflang clusters and flags missing return tags, invalid codes and non-reciprocal pairs. Ahrefs and Semrush site audits run the same hreflang checks and catch those same error classes on large sites.
  • Check the live pages. Pull up view-source on a rendered page to confirm the head tags are there and correct. Or fetch your XML sitemap directly and confirm the `xhtml:link` entries resolve.
  • Monitor in Search Console. Watch performance by country and query, and use that to sanity-check that the right versions are reaching the right audiences over time. Search Console's old International Targeting report was retired, so don't go looking for it. Validation now runs through crawlers and the performance reports, not a dedicated hreflang panel.

For crawl-and-index health checks beyond hreflang, see our technical SEO checklist.

Hreflang implementation checklist

Run this ten-point checklist before you consider a hreflang setup finished.

#CheckPass condition
1Language codes are valid ISO 639-1Only `en`, `ar` etc., no invented codes
2Region codes are valid ISO 3166-1 alpha-2`AE` for the UAE, never `uae`, `dubai` or a country name
3Every URL pair is mappedEach English URL has its Arabic counterpart identified
4Every page references itselfSelf-referencing annotation present on each URL
5Return tags are reciprocalEach page in a pair points back at the other
6One placement method onlyHTML head, HTTP header or sitemap, not a conflicting mix
7Canonicals stay within languageEach version canonicalises to itself, never cross-language
8`x-default` is declaredOne fallback, usually the English version
9All hreflang URLs are absolute and indexableFull URLs, no noindex, no redirects, no relative paths
10Crawl validation passesScreaming Frog / Ahrefs / Semrush report no hreflang errors

FAQ

What is hreflang?

Hreflang is a `rel="alternate"` annotation. You'll find it in the HTML head, in an HTTP header, or in an XML sitemap, and it tells Google which language or region version of a page to show a given searcher. On UAE sites, it usually links the English and Arabic versions of the same page, so each audience lands on the right one.

Does hreflang improve rankings?

No, hreflang won't boost your rankings. What it does is make sure the right language version shows up for each user, so the wrong-language page doesn't rank in its place. That alone helps click-through rates and the overall user experience. Google treats hreflang as a signal, not a strict directive. It targets the right audience; it doesn't lift you higher.

Does a UAE website need hreflang if it is only in English?

No. If your site runs in a single language for a single market, you don't need hreflang. The moment that changes, hreflang becomes necessary, say you launch an Arabic version alongside the English one, or you set up a same-language variant for another country, like a separate Saudi English site. Curious about the Arabic-versus-English question itself? Our English vs Arabic SEO guide covers that decision in detail.

What hreflang codes should a UAE website use?

For a bilingual UAE site, the standard set is `en-AE` and `ar-AE`, plus `x-default`. Swap in bare `ar` and `en` when each version needs to serve all Arabic or English speakers worldwide, not just those in the UAE. AE, incidentally, is the ISO country code for the United Arab Emirates.

Is "en-uae" a valid hreflang value?

No, region values have to be ISO 3166-1 alpha-2 codes, and the UAE's code is AE, so the correct value is `en-AE`. City-level values like "en-dubai" don't exist either; hreflang targets countries, not cities. Invalid codes just get ignored, and your targeting quietly stops working with no obvious error.

What is x-default and do I need it?

The `x-default` value tells search engines which version to show visitors who don't match any of your declared language or region pairs, usually that's a language-selector page or your main version. It's optional, but worth setting: on a typical UAE site, point it at the English version, since that's the safest fallback for anyone who doesn't fit your other targeting.

Where should hreflang tags go, head, HTTP header, or sitemap?

Pick exactly one method. HTML `<link>` tags in the head work best for small sites, since they're the simplest to set up. XML sitemap annotations scale better for large sites. For non-HTML files like PDFs, HTTP headers are the only real option. Mixing methods with conflicting values is one of the most common, and easily avoidable, sources of hreflang errors.

Do hreflang tags need to be bidirectional?

If the English page links to the Arabic page, the Arabic page has to link back, and each page needs to reference itself too. Skip the return tags and you invalidate the annotation pair; Google might ignore your targeting altogether. "No return tags" tops the list of hreflang errors crawlers report.

Can hreflang fix duplicate content between UAE and Saudi pages?

Yes, that's exactly the intended job for same-language, multi-country pages. Declare `en-AE` and `en-SA` as alternates of each other, and keep each page's canonical pointing to itself. Don't canonicalise one country's page to the other; doing that would remove it from search entirely.

Who can implement hreflang for a UAE website?

RATH Infotech, a digital agency that has served Dubai and the wider UAE since 2014, handles the tricky part: getting codes, return links and canonicals right, then validating everything with a crawler. Placing the tags themselves is something any competent developer can do. This work sits within its technical SEO services.

RATH Infotech handles hreflang implementation and validation as part of our technical SEO work, so you don't have to sort it out by hand. We can start with a free growth audit of your bilingual setup. Get a free growth audit, or take a look at our technical SEO services. Reach us any time at sales@rath.ae.

Case StudiesGet a Quote