Xposio
SEO· Xposio Team· 5 October 2026· 6 min read

Bilingual SEO: Hreflang, Canonical and URL Structure Guide

Running an Arabic and English website is easy to get wrong: duplicate pages, wrong-language results and broken hreflang. This guide explains URL structure, hreflang, canonical tags and a checklist for both languages.

Introduction

  • The problem: many bilingual sites show the wrong language in search results, or Google treats the Arabic and English pages as confusing duplicates.
  • Why it matters: a visitor who lands on the wrong language usually leaves. Clean signals help search engines send each person to the right version.
  • What this article covers: how to structure URLs, how hreflang and canonical tags work, how to avoid common errors, and a checklist to test your site.

First, decide what "bilingual" means for your site

SetupDescriptionTypical use
Fully translated pagesEvery page exists in Arabic and English with the same contentServices, company pages, blog
Partly translatedSome pages exist in one language onlyLocal news, region-specific offers
Different content per languageArabic and English pages differ in message or offersDifferent audiences or markets
One page, language toggle with no separate URLContent swaps with JavaScript on the same addressHard for search engines; usually avoid

The key rule: each language version needs its own crawlable URL. If switching language changes the text but not the address, search engines see only one version.

URL structure options

OptionExampleProsCons
Subfolderexample.com/ar/ and example.com/en/Simple to maintain, shares the domain's strength, easy to trackSame server and hosting for both
Subdomainar.example.comCan separate infrastructureTreated more separately, more setup
Country domainexample.om, example.aeStrong country signalCostly, each domain builds its own authority
URL parameterexample.com/page?lang=arQuick to buildMessy, easy to mishandle; generally not recommended

For most small and mid-size businesses in Oman and the Gulf, subfolders are the practical choice. Keep the structure the same in both languages, so /ar/services/seo pairs with /en/services/seo.

How hreflang works

Hreflang is a tag that tells search engines which language or regional version of a page to show to which user. It does not change rankings by itself; it helps the right version appear for the right person.

The rules

  1. Every page lists all its language versions, including itself.
  2. The links must be reciprocal: if the English page points to the Arabic page, the Arabic page must point back.
  3. Use correct codes: ar for Arabic, en for English, or ar-OM / en-OM when you target a country. Language comes first, then the optional region.
  4. Use full absolute URLs.
  5. Add an x-default for pages that serve users who match no version, often your language chooser or main version.

Example in the page head

<link rel="alternate" hreflang="ar" href="https://example.com/ar/services/seo" />
<link rel="alternate" hreflang="en" href="https://example.com/en/services/seo" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/services/seo" />

You can place hreflang in the HTML head, in HTTP headers, or in the XML sitemap. Choose one method and keep it consistent.

Canonical tags and how they relate

A canonical tag tells search engines which URL is the main version of a page when similar versions exist.

  • Each language page should usually have a self-referencing canonical: the Arabic page points to itself, the English page to itself.
  • Do not point the Arabic canonical to the English page. That tells Google to ignore the Arabic page, and hreflang then conflicts.
  • Canonical and hreflang must agree: the URL in hreflang should be the canonical URL of that page.
  • Remove tracking parameters and duplicate paths (with and without trailing slash, http and https) with canonicals and redirects.
SignalJobCommon error
hreflangMatch each user to the right language versionMissing return links
canonicalChoose the main URL among duplicatesPointing the translation to another language
lang attributeDeclares the page language to browsers and toolsLeft as en on Arabic pages
SitemapLists all URLs, optionally with hreflangLists redirected or noindexed URLs

Language handling that does not hurt SEO

  • Do not redirect automatically by browser language or IP. Search engine crawlers may not see all versions, and users may want the other language. Offer a visible language switcher instead; a gentle suggestion banner is safer than a forced redirect.
  • Make the switcher link to the equivalent page, not always to the home page.
  • Translate everything that matters: title, meta description, headings, image alt text, button labels, schema and error pages.
  • Keep the menus and internal links within the same language. An Arabic page should link mostly to Arabic pages.
  • Mark untranslated pages honestly. If a page exists only in English, do not create an empty Arabic twin; skip the hreflang for it.

Checklist you can apply today

  1. Confirm every language version has its own URL, opening without JavaScript.
  2. Check each page's <html lang> and dir values.
  3. Open one page and verify the hreflang block lists itself and the other language.
  4. Open the paired page and confirm the links point back.
  5. Confirm each page's canonical points to its own URL.
  6. Check the sitemap contains both language URLs and no redirected or blocked ones.
  7. Search site:yourdomain.com and see whether the wrong language appears for a query in the other language.
  8. In Google Search Console, review the pages report for "duplicate" or "alternate page with proper canonical tag" notes and check they make sense.
  9. Test the language switcher from five different pages.

Common mistakes

  • Missing return links in hreflang, so the signal is ignored.
  • Wrong language codes, such as ar-SA for a page that targets all Arabic speakers, or invented codes.
  • Canonical to the English page from every Arabic page.
  • Hreflang pointing to redirected or noindexed URLs.
  • Auto-redirecting visitors by location, hiding versions from crawlers.
  • Translated text but untranslated titles and descriptions.
  • Different structures per language, so pairs cannot be matched.
  • Assuming hreflang boosts rankings. It guides which version appears; it is not a ranking trick.

What does Xposio do?

  1. We map your pages to their equivalents in Arabic and English before touching any tag, so every page has a clear pair or a clear exception.
  2. We design a clean subfolder structure and decide the canonical rules with you.
  3. We implement hreflang, lang and dir, and sitemap entries consistently, then test the reciprocal links.
  4. We review titles, descriptions, alt text and schema in both languages so the translation is complete.
  5. We watch Search Console after launch for duplicate or wrong-language signals and fix what we find, being honest that search engines may take time to reflect changes.

Internal link: Learn about the Technical SEO service at /en/services/technical-seo and the Website Design & Development service at /en/services/website-design-development.

For the Arabic-specific side of search, see /en/blog/arabic-seo-challenges.

Conclusion

  • Give every language version its own crawlable URL, ideally in subfolders such as /ar/ and /en/.
  • Use hreflang with return links, correct codes and an x-default where it makes sense.
  • Give each page a self-referencing canonical that agrees with its hreflang.
  • Avoid forced redirects by language or location; offer a clear switcher.
  • Translate titles, descriptions, alt text and schema, not only the visible text.
  • Hreflang guides which version shows; it does not guarantee rankings.

Related reading

FAQ

Frequently asked questions

+What is hreflang and do I need it?

Hreflang is a tag that tells search engines which language version of a page suits which user. If your site has the same content in Arabic and English, it is strongly recommended.

+Should I use subfolders, subdomains or separate domains for Arabic and English?

For most small and mid-size businesses, subfolders like /ar/ and /en/ are the simplest to maintain and track. Separate country domains can send strong signals but cost more and split authority.

+Should the Arabic page canonical point to the English page?

No. Each language page should normally have a canonical that points to itself. Pointing it to another language tells search engines to ignore the Arabic page.

+Can I redirect users automatically based on their browser language?

It is safer not to. Crawlers and some users may never reach other versions. Offer a visible language switcher or a polite suggestion banner instead.

+Does hreflang improve my Google ranking?

Not directly. It helps the right language version appear for the right user and reduces confusion between versions, but it is not a ranking booster.

+How long until hreflang changes take effect?

It depends on how often Google recrawls your pages, so it can take days or weeks. Check Search Console after publishing and be patient before changing things again.

Ready to apply what you read?

Let's build your next digital project together.