hreflang mistakes on Russian, English and Arabic sites
Most hreflang mistakes on UAE sites come from wrong language codes, missing return links and canonical tags that point every language to the English page, and each one can be found in under an hour.
The most common hreflang mistakes on Russian, English and Arabic sites in the UAE are invalid language codes, missing return links between versions, and canonical tags that send every language back to the English page. Each of these makes Google ignore the tags, so a Russian or Arabic searcher lands on the English version or on nothing at all.
This article covers how to find and fix those mistakes on a site that already has the languages. If you are still planning the build, with the RTL layout, URL structure and hreflang setup from scratch, the Savage Media journal has a setup guide for EN/AR/RU sites. For the definition and syntax, see the encyclopedia entry on hreflang.
Why this matters for a UAE business
A Dubai site serving three languages is less common than you might think. In the Savage Media study of Dubai restaurant and venue websites (409 sites fully analysed, October 2026), 82 sites (20.0%) had an Arabic version, 50 (12.2%) had a Russian version and only 38 (9.3%) had all three. If you have paid for a second or third language, you are already ahead of most venues in that sample, and broken hreflang throws that advantage away.
hreflang does one job. When Google decides your page is relevant to a search, the tag tells it which language version to show. Someone in Jumeirah searching in Russian should see your /ru/ page; someone in Sharjah searching in Arabic should see /ar/. Google treats the tag as a hint, so any contradiction on the page makes it drop the hint and choose for itself.
Mistake 1: invalid language and region codes
hreflang values follow ISO 639-1 for the language and, optionally, ISO 3166-1 alpha-2 for the region. Google needs the language part. A region code on its own is invalid, and so are made-up abbreviations.
| What you mean | Common wrong value | Valid value |
|---|---|---|
| Arabic for the UAE | ae, ar-UAE |
ar-AE or ar |
| English for the UAE | en-UAE, uae |
en-AE or en |
| Russian for speakers in Dubai | ru-RU |
ru |
| British English | en-UK |
en-GB |
| Default for everyone else | default, all |
x-default |
The ru-RU case deserves attention. The code is valid, so no validator complains, but it tells Google the page is meant for users in Russia. For a business whose Russian-speaking customers live in Dubai, ru is the accurate signal. The same goes for ar-SA copied from a Saudi template onto a UAE site.
Ask your developer: "Which hreflang values does the site output, and why did you choose a region for each one?" If the answer is "the plugin decided," check them yourself.
Mistake 2: missing return links
Every hreflang relationship has to be confirmed from both sides. If your English page says "the Russian version is at /ru/menu/", the Russian page must say "the English version is at /menu/". Google ignores one-way links, since anyone could otherwise claim to be an alternate of your page.
Each page also has to list itself. A correct set for a three-language menu page looks like this, and the same four lines appear on all three versions:
<link rel="alternate" hreflang="en" href="https://example.ae/menu/" />
<link rel="alternate" hreflang="ar" href="https://example.ae/ar/menu/" />
<link rel="alternate" hreflang="ru" href="https://example.ae/ru/menu/" />
<link rel="alternate" hreflang="x-default" href="https://example.ae/menu/" />
Return links break most often when someone adds a new page in one language and forgets the other two, or when a WordPress translation plugin generates tags for the English page but the Arabic page uses a different template.
Mistake 3: canonical tags that point to the English page
This one does the most damage and is the hardest to spot by eye. The canonical tag tells Google which URL is the main one for a piece of content. On a multilingual site, each language version should have a canonical pointing to itself.
If /ar/menu/ has <link rel="canonical" href="https://example.ae/menu/">, you are telling Google that the Arabic page is a duplicate of the English one. Google may then fold the Arabic page into the English URL, and the hreflang tags on it stop counting. The site looks fine to visitors, and the Arabic version gets little or no search traffic.
Ask your developer: "Does every language version have a self-referencing canonical?" Then check three random pages per language in the page source.
Mistake 4: alternates that redirect, return 404 or carry noindex
Every URL in your hreflang set must return a 200 status, be indexable and be the canonical version of itself. Google ignores alternates that fail any of these.
Typical causes on UAE sites:
- The Russian section moved from
/ru-ru/to/ru/, the redirects work, but the hreflang tags still list the old URLs. - The Arabic version was launched half-finished and set to
noindex"for now", while English pages still point to it. - Trailing slash mismatch: tags list
/ru/menuand the server redirects to/ru/menu/. - Mixed protocols or hosts: tags point to
http://or towww.while the live site ishttps://withoutwww.
The fix is mechanical. The URL in the hreflang tag must be the exact final URL that loads, character for character.
Mistake 5: redirecting visitors by IP or browser language
Some sites send a visitor with a Russian-language browser straight to /ru/, or redirect anyone with a UAE IP to the Arabic homepage. This feels helpful and hurts indexing. Google's documentation on locale-adaptive pages notes that Googlebot crawls mostly from US addresses and usually sends requests without an Accept-Language header, so a forced redirect can hide whole language versions from the crawler.
A safer pattern: show a small banner ("This page is available in Русский") and let the person choose. Remember the choice in a cookie, and keep every language URL reachable directly with no redirect.
Mistake 6: Arabic URLs, encoding and RTL mix-ups
Arabic adds two problems the other languages do not have.
First, Arabic slugs. A URL like /ar/قائمة-الطعام/ is stored and sent as percent-encoded characters. If your CMS outputs the hreflang link in one form and the canonical in another, or the sitemap uses a third, Google can treat them as different URLs. Pick one form and use it everywhere. Many sites keep Latin slugs under /ar/ (for example /ar/menu/) to avoid the issue altogether, which is a reasonable choice.
Second, the dir="rtl" attribute. It controls layout direction and has nothing to do with hreflang. The <html> element of an Arabic page should carry lang="ar" dir="rtl". A common mistake is a page with lang="en" in the HTML, Arabic text in the body and hreflang="ar" in the head. Those signals contradict each other. The lang attribute, the hreflang value and the language of the main text should agree.
Mistake 7: partial translations and links to the homepage
Many UAE sites translate the homepage, the menu and the contact page into Arabic and Russian, and leave blog posts or service pages in English only. That is fine. The mistake is listing an alternate that does not exist, usually by pointing the Russian hreflang of an English-only article to the Russian homepage.
hreflang pairs equivalent pages. If an article exists in English only, its hreflang set has one language plus x-default, or no hreflang at all. The same rule applies to the language switcher in the header. It should lead to the same page in the other language, and if that page does not exist, the switcher should say so or lead to the nearest equivalent section. Sending people to the homepage loses them.
Scale makes this harder. Lucent Legal, a site I built, has 213 guides in Russian and 213 in English, with 448 URLs in its sitemap. At that size nobody can check pairs by hand. The safe approach is to store the pairing in the data itself, so each page record names its counterpart and the tags are generated from that field. For large sets, Google also accepts hreflang in the XML sitemap with xhtml:link entries, which keeps the page HTML shorter. Deciding which pages get a full rewrite in the second language and which stay single-language is a separate question, covered in translate or rewrite for RU/EN sites.
Mistake 8: x-default pointing to the wrong place
x-default tells Google what to show a person whose language matches none of your versions, say someone searching in Hindi or French. On a UAE site this usually points to the English page, because English is the shared language in the country. It can also point to a language selection page if you have one.
Two errors appear often. The x-default points to the homepage from every inner page, which breaks the "equivalent page" rule. Or one page carries two x-default lines with different URLs, a contradiction Google then resolves on its own, often not in your favour.
How to audit your site in 30 minutes
You need a browser and access to Google Search Console. For a site under 100 pages, this covers the main risks.
- Pick five pages per language: homepage, a top service or menu page, a contact page and two inner pages.
- Open the page source (Ctrl+U or Cmd+Option+U) and search for
hreflang. Write down every value and URL. - Check each value against the table in Mistake 1.
- Open every listed URL. Confirm it loads with no redirect and lists the original page back.
- On each page, search the source for
canonical. It must point to the page itself. - Search for
noindex. It should not appear on any page in a hreflang set. - In Search Console, run URL Inspection on the Arabic and Russian versions. Look at "Google-selected canonical". If it shows the English URL, Mistake 3 or a duplicate-content problem is in play. Google retired its old International Targeting report, so this is now the most direct check. The Google Search Console entry explains where to find it.
- Change your browser language to Russian, open the English homepage in a private window and see whether you get redirected.
If you plan a rebuild, the site structure guide shows how to lay out language folders so the pairs stay obvious. Multilingual builds are part of website development.
What not to do
- Do not copy hreflang values from a template built for Saudi Arabia or Russia without changing the region.
- Do not machine-translate the whole site overnight and add hreflang to every page. Thin translated pages with English menus and buttons send mixed signals and give Arabic readers a poor first impression.
- Do not set canonical tags on all language versions to the English URL "to avoid duplicate content". Google does not treat proper translations as duplicates.
- Do not force redirects by IP or browser language.
- Do not let a plugin output hreflang and also add tags by hand in the theme. Two sets with different URLs cancel each other.
- Do not ask a developer to "add hreflang" without a list of page pairs. The tags are only as correct as the pairing behind them.
Checklist
| Check | Pass condition |
|---|---|
| Language codes | ISO 639-1 language, optional ISO 3166-1 region: en, ar, ru, ar-AE; no en-UK, no ae |
| Self-reference | Every page lists itself in its own hreflang set |
| Return links | Every alternate lists the original page back |
| Canonical | Each language version has a canonical pointing to itself |
| Status of alternates | 200, indexable, exact final URL, same protocol, host and trailing slash |
| Redirects | No forced redirects by IP or browser language |
| Arabic URLs | One encoding form across hreflang, canonical and sitemap |
lang and dir |
lang matches the content; Arabic pages carry dir="rtl" |
| Partial translations | No alternates pointing to homepages or non-equivalent pages |
| x-default | One per page, pointing to the equivalent English page or a language selector |
| Search Console | URL Inspection shows each language version as its own Google-selected canonical |
Send this table to whoever runs your site. Ask for a pass or fail on each row, with the URL that was checked. A row with no URL next to it has not been checked.
Questions and answers
Do I need hreflang if my site has only English and Arabic?
Yes, if both versions cover the same pages. With two languages you still need tags on every page pair, each page listing itself and its counterpart. Without them Google may show the English page to someone searching in Arabic.
Should I use ru or ru-AE for Russian speakers in Dubai?
Use ru unless you have a separate Russian version for another country. ru-RU tells Google the page is for Russia, which is the wrong signal for a Dubai business. ru-AE is valid but only useful if you also run Russian pages for other markets.
Can hreflang make my Arabic pages rank higher?
No. Google uses hreflang to pick which language version to show, after it has decided the page deserves to appear. Ranking still depends on the content, links and the page itself.
How do I check hreflang without paying for an SEO tool?
Open the page source and read the link tags, then open each listed URL and confirm it lists the first page back. In Google Search Console, the URL Inspection tool shows which canonical Google picked for each language version.