Generative Engine Optimization (GEO) Services
Generative engine optimization (GEO) is the practice of making a website easy for AI answer engines such as ChatGPT, Perplexity, Gemini and Google's AI Overviews to read, understand and cite. RAIN Design Studio in Casablanca builds GEO into every site it ships: answer-first content, JSON-LD entity graphs, llms.txt files and AI-crawler-aware robots.txt. On Media Progetti, 66 of 69 pages carry structured data.
Media Progetti pages with JSON-LD
Media Progetti pages with FAQPage schema
GEO content pages on Origin Element
City pages on shi
Generative engine optimization starts from a simple observation: a growing share of questions are answered by AI systems that read the web and write a summary, often with a handful of cited sources. If your site is hard to parse, vague, or blocked from those systems, it is unlikely to be one of those sources. RAIN Design Studio treats GEO as part of how a site is built, not as a campaign added later.
What generative engine optimization is
Generative engine optimization (GEO) is the practice of structuring a website’s content and code so that generative AI engines can find it, understand who and what it describes, and quote it accurately. It is sometimes called AI search optimization or answer engine optimization.
The term comes from the research paper “GEO: Generative Engine Optimization” by Pranjal Aggarwal and colleagues, first published in 2023. The authors built a benchmark of queries and measured how content changes affected a source’s visibility in generated answers. Among the methods they tested, adding citations, quotations from relevant sources and statistics were among the most effective, and results varied by subject. The lesson for site owners is practical: clear, sourced, specific writing is easier for a machine to reuse.
For a longer explanation, read our guide What is generative engine optimization?.
GEO and SEO: what changes and what does not
GEO does not replace search engine optimization. Most AI answer engines still depend on crawling and search indexes, so the SEO foundations remain essential.
| Classic SEO | Generative engine optimization | |
|---|---|---|
| Goal | A high position in a list of links | Being cited or summarized inside an AI answer |
| Unit of content | The page | The passage, fact or table row |
| Key signals | Relevance, links, page experience | Clarity, verifiable facts, unambiguous entities, freshness |
| Technical base | Crawlable HTML, sitemap, speed | The same, plus structured data, llms.txt and AI crawler access |
| Measurement | Rankings and clicks | Referral traffic from AI tools and manual citation checks |
If you need local search work in French, see our agence SEO au Maroc service.
What RAIN implements: the GEO checklist
These are the practices we build into every site. Each one is checkable in the source code.
| Practice | What we ship | Why it helps AI engines |
|---|---|---|
| Answer-first content | A 2–3 sentence summary at the top of every key page that names the organization, the offer and one fact | Gives engines a self-contained passage to quote |
| Entity graph | JSON-LD Organization, WebSite, Service and BreadcrumbList linked by @id |
Removes ambiguity about who the business is and what it offers |
| Q&A markup | FAQPage JSON-LD generated from the visible FAQs |
Pairs real buyer questions with concise answers |
| llms.txt | llms.txt and llms-full.txt generated from site data |
Gives language models a curated map of the site |
| Crawler policy | robots.txt with explicit rules for GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended | Makes access a decision, not an accident |
| Citable facts | Numbers, names and comparisons in tables and lists | Short, verifiable units are easier to extract |
| Freshness | Visible “last updated” dates, dateModified and sitemap lastmod |
Signals that facts are current |
Answer-first writing
Every page opens with an answer, then the detail. We write leads and FAQ answers so each one makes sense on its own, because an AI engine may show a single passage with no surrounding context.
Entity graphs in JSON-LD
Structured data is generated from the same typed content as the page, so the schema cannot drift from the visible text. Google limited FAQ rich results in 2023, but FAQPage markup still describes the question-and-answer structure of a page clearly.
llms.txt
llms.txt was proposed by Jeremy Howard in 2024 as a Markdown file that summarizes a site for language models. It is not an official standard, and support across AI providers is uneven. We ship it because, when generated at build time, it costs almost nothing to keep accurate.
AI crawler access
robots.txt is where the policy becomes real. Training crawlers such as GPTBot and search-time agents such as OAI-SearchBot or PerplexityBot can be treated differently, and Google-Extended is a separate token that governs use by Google’s AI models without affecting Google Search. We list each one explicitly so the decision is visible and easy to change.
Citable facts, tables and freshness
AI answers favor short, checkable units: a number with its unit, a named standard, a row in a comparison table. We write facts that way and keep claims we cannot verify off the page. Every page shows its “last updated” date, and the same date feeds dateModified in JSON-LD and lastmod in the sitemap, so people and machines see one consistent signal.
GEO in our portfolio
- Media Progetti. 68 pages with JSON-LD on 66 of 69 HTML files, including FAQPage on 59 and LocalBusiness on 12. Its llms.txt carries guardrails on official commercial data, such as brand naming and no published prices. Its robots.txt explicitly allows GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and other AI crawlers. The delivery statement reported a Semrush audit of 100% site health and 100% AI search, with 0 errors on 78 crawled pages.
- Origin Element. 36 SEO and GEO content pages across services, regions, industries and guides. The homepage carries an entity graph of 11 JSON-LD blocks, and llms.txt is generated from the same data. The client chose to allow PerplexityBot and Google-Extended while disallowing GPTBot and ClaudeBot, which shows that crawler policy is a business decision.
- shi — Smart & High IT. 215 pages, including 155 city pages across 9 Moroccan cities, with ITService and FAQPage JSON-LD and llms.txt linked from the page
<head>.
All three run on Astro. Static HTML is the easiest format for any crawler to read, which is why we pair GEO with Astro web development.
What GEO cannot promise
Honest generative AI optimization has limits, and we state them up front:
- No guaranteed citations. AI engines choose sources with their own systems, and answers vary by query, user and day.
- No invented metrics. We report what was shipped and what tools measure, not projected traffic.
- Content still matters most. Markup helps engines understand good content; it cannot make thin content authoritative.
How a GEO engagement works
- Audit. We review crawlability, robots.txt, structured data, llms.txt, page speed and how your key pages answer real questions.
- Fix the foundations. Schema, entity graph, sitemap and crawler policy, ideally generated from one data source.
- Rewrite key pages. Answer-first leads, FAQs, comparison tables and dated facts.
- Monitor. Track AI referral traffic in analytics and check citations manually for your priority questions.
For French-speaking teams buying from abroad, our agence SEO offshore page explains how we work remotely from Casablanca.
Talk to us about GEO
Book a free 15-minute call and we will look at how AI engines can currently read your site. New RAIN sites include GEO by default; for an existing site, fixed-scope work starts at $10,000, or it can run on the Growth retainer at $7,500 per month.
Related work
Frequently asked questions
Generative engine optimization (GEO) is the work of making content easy for AI systems that generate answers, such as ChatGPT, Perplexity, Gemini and Google's AI Overviews, to find, understand and cite. The term comes from the 2023 research paper "GEO: Generative Engine Optimization" by Aggarwal et al. It builds on SEO rather than replacing it.
GEO shares SEO's foundations: crawlable pages, clear structure, authority and fast delivery. The difference is the target. SEO aims at a ranked list of links, while GEO aims at being quoted or cited inside a generated answer, which rewards self-contained statements, verifiable facts and unambiguous entities.
No. Nobody outside those companies controls which sources an AI engine cites, and answers change from one query to the next. RAIN implements the technical and editorial practices that make a site easier to read and quote, and reports what was shipped, not invented ranking results.
llms.txt is a plain Markdown file at the root of a website that gives language models a short, curated summary of the site and links to its key pages. It was proposed by Jeremy Howard in 2024 and is a community proposal, not an official standard. RAIN ships llms.txt and llms-full.txt on every site because they are cheap to maintain when generated from the site's own data.
It depends on whether you want your content used for model training, for AI search answers, or both. Crawlers such as GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot can be allowed or blocked separately, and Google-Extended controls use of content by Google's AI models. RAIN sets the policy with you and documents it in robots.txt.
On a new RAIN site, GEO is included: every build ships with JSON-LD, a sitemap, llms.txt and an AI-crawler-aware robots.txt. For an existing site, GEO work is scoped as a fixed project from $10,000 or run continuously on the Growth retainer at $7,500 per month.
Related pages
Let's build what's next.
Custom projects from $10,000, monthly plans from $7,500. Kickoff within 3–5 business days.