From SEO to GEO: getting found by AI assistants too

4 min read

More and more searches go through ChatGPT, Claude or Perplexity, and they cite only a handful of sources. What we changed on our own site to be one of them.

For twenty years, being found online meant one thing: showing up near the top of Google. These days a lot of searches take a different route.

People put the question to ChatGPT, Claude or Perplexity, or read the AI-generated answer Google places above the links. An assistant replies with a paragraph and cites a few sources, sometimes none. If you are not among them, as far as the person asking is concerned, you do not exist.

What GEO means

GEO stands for Generative Engine Optimisation. It means working on a site so that generative engines, the assistants that write answers, can read it properly, understand it and cite it.

Classic SEO is very much alive. Google still sends visitors, and a slow site with muddled headings or duplicate content does badly in both worlds. You still need it, but on its own it no longer covers everything.

What we did on our own site

We rebuilt bangherangstudio.it with assistants in mind as well as Google. These are the concrete choices.

Complete pages straight from the server

Every page leaves the server fully written, thanks to server-side rendering with Blade, Laravel's templating system. The reason is practical: the GPTBot, ClaudeBot and PerplexityBot crawlers, the programs that read the web on behalf of assistants, do not run JavaScript.

A site built entirely in JavaScript looks fine in a visitor's browser. Those crawlers, though, receive an empty page with a script inside and nothing worth citing.

Open doors in robots.txt

robots.txt is the file that tells crawlers where they may go. Ours invites the assistant bots by name:

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

Sitemap: https://www.bangherangstudio.it/sitemap.xml

The same goes for Google-Extended and Applebot-Extended, the entries Google and Apple use to ask permission to use content for their models.

An llms.txt file

We published an llms.txt, a young proposed standard for giving language models a plain-text summary of a site. Ours explains who we are and what we do, in Italian and English.

Structured data

Information about the studio and its services is also described in JSON-LD, a structured data format that search engines read without having to interpret prose. Name, location and services each sit in a defined field, so nobody has to guess them from a paragraph.

FAQs ready to be quoted

Our FAQs are marked up with FAQPage structured data. The key answers also carry speakable, the property that flags passages suitable for voice assistants to read aloud.

Two languages, declared

Every Italian page is linked to its English version through hreflang, the attribute that tells search engines which version to show to whom. Ask in English and you land on the English page.

Where to start with your own site

The first check takes a minute. Open the source of a page (Ctrl+U in most browsers) and search for a sentence you can see on screen. If it is not in the source, the assistant crawlers cannot see it either.

The second is robots.txt: add /robots.txt to your site's address and see who is allowed in. It is not unusual to find the very bots you want are blocked.

The rest, structured data and copy written to be cited, takes longer. We cover it in our note on how we write pages.

field notes

Fresh from the workshop.

the next story

What's the next story?

Tell us what isn't working. The first meeting is to see whether it's worth doing anything, and if the answer is no, we'll tell you straight away.

Office
Via Vincenzo Arangio Ruiz 83, 80122 Napoli
The message that will be sent Pick something above…
Open WhatsApp with the message ready

Or call us: 351 240 7196 · [email protected]