Bilingual websites in the UAE: hreflang, URLs and what breaks
How to set up an Arabic and English website so Google shows the right version: URL structure, hreflang pairs, canonicals and the mistakes that break them.
The short answer
Put each language on its own crawlable URLs, usually a subfolder such as /ar/, and create an Arabic page only when it has real Arabic content. Link each pair of pages to each other with hreflang (en-AE and ar-AE, plus x-default), give every page a canonical pointing at itself, and offer a language switch that links to the matching page instead of redirecting visitors automatically.
On this site, Arabic exists only on the pages that have real Arabic content: the home page, services, pricing, the emirate pages and a few more. Those pages and their English twins point at each other with hreflang, and every other page carries none at all. That restraint is the most useful rule in this guide, because each pair you declare is a promise to Google that the two pages say the same thing.
Should Arabic live in a folder, on a subdomain or on its own domain?
A subfolder on your main domain, such as /ar/, is the right answer for most UAE businesses. It keeps every link pointing at one site, it's among the cheapest structures to maintain, and nearly every platform supports it. Google's multilingual guidance lists a separate country domain as the clearest geotargeting signal but the more expensive one to run, and URL parameters as the option it doesn't recommend.
A .ae domain makes sense if you sell only in the UAE. If you also sell in Saudi Arabia or Kuwait, one domain with language and country folders is easier to run than a separate site for each country.
What does a correct hreflang set look like?
Every page lists itself, its counterpart and a fallback, each with a full URL, and the counterpart lists the same set back. For a services page on a made-up site, example.com, the set is:
- en-AE: https://example.com/services/seo
- ar-AE: https://example.com/ar/services/seo
- x-default: https://example.com/services/seo
The x-default line is the fallback for visitors whose language matches neither version, and this site points it at the English page. The country part of the code is AE, the ISO code for the UAE. Google supports only codes from the ISO language and country lists, so a tag reading ar-UAE has nothing valid to work with.
Missing return links are a common reason an hreflang setup does nothing. If the English page lists the Arabic one and the Arabic page doesn't list the English one back, Google ignores the pair.
How do you set it up, in order?
- Put each language on its own URLs. Don't switch language with a cookie, a browser setting or JavaScript on a single address, because Googlebot crawls without a language header and may never see the other version. Check: open the Arabic page in a private window. The address should differ from the English one and load without a click. If your platform switches in place, change that setting or plugin first.
- Create an Arabic URL only where Arabic content exists. If the text isn't ready, don't publish the URL and don't put hreflang on the English page. This site follows that rule, which is why an unknown /ar/ address returns a real 404 in an Arabic layout instead of English content under an Arabic address. The blog you're reading is English only, so it carries no hreflang either.
- Translate the whole page: menu, footer, buttons, form labels, error messages, image alt text, title, description, structured data and the pre-filled text in your WhatsApp button. Google's guide to localised versions treats a page as a duplicate when its main content stays untranslated, and an Arabic reader who lands on a half-English page has no reason to stay.
- Declare the pairs in the page head, the XML sitemap or an HTTP header. Google treats the three methods as equivalent, so use the one your platform generates reliably and keep any other copy identical. Check: view the Arabic page's source, find its hreflang lines, and confirm the English page lists the Arabic page in return.
- Give every page a canonical tag that points at itself. The Arabic page's canonical is the Arabic address, never the English one. Check: search the Arabic page's source for rel="canonical". If it names an English address, fix that before anything else, because Google may drop the Arabic page and show only the English one.
- Set language and direction in the page itself: lang="ar" and dir="rtl" on the html element of Arabic pages. Google reads the visible text to decide a page's language, so these attributes serve browsers, screen readers and translation tools. This site uses a separate root layout for Arabic, which keeps both attributes on the html element. The layout work is in what breaks in a right-to-left website.
- Add a language switch that links to the matching page. Use an ordinary link, and send visitors to the other language's home page only when no matching page exists. Don't redirect by IP address or browser language, because Google advises against automatic redirects: they can keep visitors and crawlers from seeing every version. Check: switch language from three pages deep and confirm each lands on its twin.
- Add the Arabic folder to Search Console as its own property and watch its indexing separately. Blended reports hide the problem when the Arabic pages are the ones failing. If you see many Arabic pages marked as crawled but not indexed, suspect thin or duplicated Arabic content before suspecting hreflang.
What breaks, and how do you spot it?
Each failure leaves a symptom you can see, so the table starts from the symptom rather than the cause. Find yours in the left column and read across.
| Symptom | Likely cause | Fix |
|---|---|---|
| The English page ranks for Arabic searches | The Arabic URL is missing, noindexed, blocked or canonicalised to the English page | Inspect the Arabic URL in Search Console and correct the canonical, noindex tag or robots.txt rule |
| Hreflang appears to do nothing | No return link, relative URLs, or URLs that redirect | List the same full set on both pages, using addresses that load directly |
| The tags read ar-UAE or en-UAE | Country typed as UAE instead of AE | Change them to ar-AE and en-AE |
| The Arabic page has an Arabic menu and an English body | The template was translated and the content wasn't | Translate the content or take the Arabic URL down |
| Visitors land in the wrong language from a shared link | An automatic redirect by IP address or browser language | Remove the redirect and offer a visible switch |
| Arabic redirects fail after a site move | Arabic characters mangled in the redirect file, or encoded two different ways | Keep the file in UTF-8 and test every Arabic redirect by hand, as the migration guide describes |
| Any /ar/ address you type shows a page | The server falls back to English content under any Arabic address | Return a real 404 for Arabic addresses that have no Arabic page |
When is a bilingual site not worth building?
When you can't staff it. Every Arabic page invites Arabic enquiries, and an enquiry nobody can answer in Arabic is a lost lead and a poor first impression. A short, well-made Arabic section covering your top pages beats a full mirror nobody can maintain, and the same advice runs through our guide to Arabic SEO.
If you're planning a build or a rebuild, write the language structure into the brief before design starts, because retrofitting right-to-left layouts and URL rules costs more than designing them in. Whoever you hire, ask for it in writing. Our own web design starts from AED 35,000 before VAT.
One check tells you most of what you need. Open an Arabic page on your site, view the source and search for canonical. If the address it names is the English page, that single line is probably why your Arabic page isn't showing.
Questions people ask
Do I need hreflang for an Arabic and English website?
If both language versions exist as separate pages, yes. Hreflang tells Google the pages are alternates of each other, so the right one is shown to the right searcher, and it reduces the chance that Google treats them as duplicates. A site in one language doesn't need it.
What are the correct hreflang codes for the UAE?
Use en-AE for English and ar-AE for Arabic, where AE is the country code for the UAE, not UAE. A language code alone, such as en or ar, is also valid, but a country code on its own isn't. Add x-default as the fallback, usually your English home page.
Should Arabic be a subfolder or a separate domain?
For most UAE businesses a subfolder such as /ar/ on the main domain, because it's the simplest to maintain and keeps links pointing at one site. A separate country domain gives a clear country signal but costs more to run and targets only one country.
Can I use Google Translate to create my Arabic pages?
You can use it for a rough draft, but unreviewed machine output gives Arabic readers a poor page and gives Google little reason to prefer it. Have a native writer edit every page, and leave pages unpublished rather than half-translated if they can't be finished.
Why is my Arabic page not showing in Google?
Check the Arabic URL in Search Console's URL Inspection tool first. Common causes are a noindex tag left over from staging, a canonical pointing at the English page, a robots.txt block, or hreflang with no return link. Fix the cause, then request indexing once.