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:
BlogPostingfor the article — title, date, authorFAQPagewhen the page has questions and answersBreadcrumbListso the site hierarchy is legiblePersonorOrganizationidentifying 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:
- View source and confirm your text is in the HTML
- Split the languages onto separate URLs and link them with hreflang
- Add JSON-LD to every article
- 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.