عWork with me

hreflang for Arabic and English sites: common mistakes

How to set up hreflang correctly for bilingual and multi-region sites, and the errors that make Google ignore it.

Ahmed Ali · 1 min read

hreflang tells search engines which version of a page to show to which audience. It is simple in principle and easy to get wrong. Here are the mistakes I see most often on Arabic and English sites.

If the English page points to the Arabic page, the Arabic page must point back. Google treats one-way annotations as unreliable. Every version should list every other version, and itself.

Wrong language or region codes

Use ISO 639-1 language codes and ISO 3166-1 region codes: ar, en, ar-SA, en-AE. Region codes on their own are not valid, and made-up values are ignored.

Pointing to redirected or noindex pages

hreflang URLs should return 200, be indexable and match the canonical URL. Annotations pointing at redirects, errors or noindex pages are wasted.

Canonical and hreflang that disagree

Each language version should canonicalize to itself. If the Arabic page canonicalizes to the English one, the Arabic version will not be indexed as its own page.

Translating badly or partially

hreflang links equivalent pages. If the Arabic page is a thin stub or the content differs a lot, the mapping is misleading. Also do keyword research in Arabic; do not just translate English keywords.

Choosing where to put it

You can place hreflang in the HTML head, in HTTP headers, or in the XML sitemap. Pick one method and keep it consistent, especially on large sites where the sitemap is easier to maintain.

Add x-default deliberately

An x-default entry, often your language selector or main version, gives a fallback for everyone else.

Test after launch

Crawl the site to verify return links and codes, use the URL Inspection tool to confirm the indexed canonical, and spot-check results in the target market.

Need this done cleanly across markets? Let’s talk.

FAQ

Do I need a region in the hreflang value?

Only if you have different versions for different regions of the same language, such as ar-SA and ar-AE. Otherwise a language code like ar or en is enough.

Is x-default required?

It is optional but useful as a fallback for users whose language or region you do not target.

Related glossary terms

Want this applied to your site?

Tell me about your site and I’ll suggest the next step.

Work with me Services
Book a free audit call

Work with me

Tell me about your site and goals. I usually reply within 24 hours.

Your message comes straight to me. I usually reply within 24 hours.

Esc

↑↓ move · Enter open · Esc close