AEO / GEO · Case study

AI Visibility Programmes

I run AI-visibility (AEO/GEO) programmes for two Lebanese consultancies: SSK Consultancy, founded by Dr. Suzanne Stephan El Khoury, and Exponential, founded by Prof. Nehme Azoury. The work fixes what stops answer engines reading a site, states the firm's identity the same way everywhere a machine looks, and measures a fixed prompt set on a schedule instead of guessing.

When
Sep 2026 — Ongoing
Stack
JSON-LD · llms.txt · IndexNow · Search Console · Bing Webmaster

The challenge

Both firms had real-world standing: a founder on Lebanese television, a professor with a publication record. Neither firm existed for answer engines. Asked who Exponential is, one engine replied that no such entity exists and listed unrelated companies in the US and UK with the same name. SSK's name collides with an Indian namesake and unrelated firms that share the initials. On category questions, such as which consultancies in Lebanon work with SMEs, neither firm appeared.

What I built

  • Crawl eligibility first. On Exponential's domain the sitemap returned 404, robots.txt had no rules, canonicals pointed at URLs that redirected elsewhere, and OpenAI's GPTBot was being rate-limited (HTTP 429) by the old host. I moved the domain onto a Cloudflare Worker and fixed all four
  • One canonical entity definition (who the firm is, who founded it, when, where, for whom) reused verbatim in the page copy, the Organization schema, llms.txt and llms-full.txt
  • Founder and firm linked in JSON-LD, with sameAs pointing only at profiles I opened and confirmed are the same entity (for Exponential's founder: ORCID, LinkedIn, the university directory, ResearchGate)
  • Answer-first FAQ sections mirrored in FAQPage schema, in English and Arabic on Exponential
  • On Exponential, owned guides for the category questions where engines cited no firm at all, so there is something specific to cite
  • Disambiguation copy ("this is SSK Consultancy of Lebanon, at the hyphenated domain…") served in llms.txt to separate the firm from its namesakes
  • Registration and submission: Google Search Console, Bing Webmaster Tools (whose data feeds Copilot) and IndexNow pings when pages change
  • A fixed prompt set run on a schedule: monthly on Exponential across ChatGPT, Perplexity and Google AI, logged in a CSV; weekly on SSK across Perplexity and ChatGPT. Every answer is saved with its sources, so movement is measured rather than remembered

Highlights

  • Fixed the crawl blockers first: missing sitemap, broken canonicals, GPTBot rate-limited
  • One entity definition reused verbatim across page copy, schema and llms.txt
  • Fixed prompt set re-run on a schedule across engines, every answer logged

Why the site alone is not enough

Answer engines rarely take a firm's word for who it is. In both baselines, the firms that did appear in category answers got there through directories, programme pages and press, not their own websites. So each programme has two halves: the on-site layer I control (crawlability, schema, llms.txt, content that answers the question) and a corroboration pack for the client. The pack holds the same name, address and description for every directory, the profile edits the founder needs to make, and the listings ordered by which sources the engines actually cited.

My role

Audit, implementation, measurement and reporting, end to end. On SSK the AI layer was built into the site rebuild. On Exponential it was retrofitted onto a bilingual site I had built earlier. The founders own the steps only they can take: editing their own profiles and approving how the firm is described.

How it is measured

Each programme has a stable prompt set with an entity question (who is this firm?), category questions (which firms in Lebanon do X?) and a how-to question the firm should be able to answer. Each prompt runs on each engine, and every cell records whether the brand was mentioned, whether an owned URL was cited, and who was cited instead. On Exponential, a weekly health check verifies that crawlers still get HTTP 200, the sitemap and llms.txt are served, and the verification files are intact, so a deploy can't silently undo the work.

Delivered result

On Exponential, crawl and index eligibility went from 4/20 to about 18/20 against the audit rubric the day the fixes deployed, with all six AI and search crawlers now receiving HTTP 200. Both programmes have recorded baselines and run on a regular measurement cycle. Answer-engine citations move slowly and depend on third-party sources, so I publish the method and the verified fixes here, not ranking claims.

Measurement note: this case study documents delivered functionality and architecture. Client-approved before/after KPIs, adoption data, and revenue impact are not measured or published here.

Want something like AI Visibility Programmes?

Message me on WhatsApp or see all services.

Case study last updated: · Project delivered: Sep 2026 — Ongoing