Read in Arabic

What makes an Arabic website show up in Google and AI assistants?

The short answer: server-rendered HTML, a separate URL per language, and structured data. Those three matter more than anything else you could do.

If you want your Arabic site to surface in Google and in assistants like ChatGPT, three things matter most: server-rendered pages, a separate URL per language, and structured data that explains the content. Everything else is secondary.

Most Arabic sites that fail to show up don’t have a content problem — the writing is fine. The problem is that the crawler can’t reach it.

Why do JavaScript-heavy pages disappear?

Google can execute JavaScript, but it costs extra time and budget. Assistant crawlers — GPTBot, ClaudeBot, PerplexityBot — mostly fetch the HTML and stop there.

So if your page pulls its text from an API after load, what the crawler sees is an empty shell.

The fix is to build pages at build time, so the text sits in the HTML from the first byte. View source on your own page: if you can’t find your article text in there, neither can a crawler.

How should Arabic and English be structured?

The common mistake is a language toggle that swaps text on one URL. Google then sees a single page with two languages mixed together and can’t tell which to show to whom.

The right structure:

  • A separate URL per language: /ar/... and /en/...
  • Each page declaring its counterpart with hreflang
  • <html lang="ar-KW" dir="rtl"> for Arabic, and the reverse for English
  • A toggle that is a link to the other language, not a script that rewrites text

Then make sure your sitemap lists both language versions.

Which structured data actually matters?

Don’t overcomplicate it. For a blog, this is enough:

  • BlogPosting for the article — title, date, author
  • FAQPage when the page has questions and answers
  • BreadcrumbList so the site hierarchy is legible
  • Person or Organization identifying who you are

Write it as JSON-LD inside a <script type="application/ld+json"> tag. Phrase the questions the way a person would actually type them, because that is what gets matched.

What is the difference between SEO, GEO and AEO?

They point in roughly the same direction:

  • SEO — appearing in Google’s results
  • AEO — being the direct answer (featured snippets)
  • GEO — getting cited inside an AI assistant’s reply

The convenient part is that one set of habits serves all three: answer directly in the first two sentences, phrase headings as questions, and keep the content readable without JavaScript.

Where should you start today?

Work in this order:

  1. View source and confirm your text is in the HTML
  2. Split the languages onto separate URLs and link them with hreflang
  3. Add JSON-LD to every article
  4. Make the first two sentences answer the question outright

The first two are the ones that move the needle. The rest builds on top of them.

Frequently asked questions

Why doesn't my site appear in ChatGPT or Perplexity?
Usually because the content is assembled by JavaScript after the page loads. Assistant crawlers read the HTML and move on, so if the text isn't there from the start, they never see it.
Do I need separate pages for Arabic and English?
Yes. Each language needs its own URL, such as /ar and /en, with the two linked by hreflang tags. A JavaScript button that swaps text on a single URL is not enough for Google.
What is llms.txt and is it worth adding?
It is a plain text file listing your key pages so assistants can find them quickly. It is a new convention and no assistant guarantees it uses it, but it costs almost nothing to publish.
Does structured data guarantee better rankings?
No. It helps engines understand your page more precisely, but the ranking decision is still entirely theirs.