The expert's paradox
I advise businesses on revenue growth through AI. At some point I noticed something awkward: when I asked ChatGPT, Perplexity, Gemini, or Yandex Neuro "who is Roman Denisov?", they didn't surface my site. At best, a namesake. At worst, nothing.
Technically the site worked. It opened in a browser, it looked clean. But for AI-driven search engines, it might as well not have existed. The cobbler with no shoes.
More and more people skip the "ten blue links" and ask an AI directly. The AI gives one answer — and either cites you, or it doesn't. If it doesn't, you don't exist for that audience. I broke my own site apart and rebuilt it for AI readers. Here is what I did, in plain language.
Diagnosis: why AI couldn't see the site
Before changing anything, I ran a GEO audit — about thirty checks of how visible a site is to generative search. The starting score was low. The main barriers:
Content was being assembled inside the visitor's browser.
This is a standard architecture for modern sites: the page arrives almost empty, JavaScript fills in the content. Humans don't notice. AI bots do — they get a blank page.
AI bots were blocked at the server level.
OpenAI, Anthropic, Perplexity, Google, and Yandex crawlers were being refused. Not on purpose — just default hosting settings.
No machine-readable description.
The site didn't tell AI in plain terms: "this is the author, these are the services, here are answers to common questions."
What I did — six layers of a GEO foundation
1. Made content visible to crawlers
The site moved from client-side rendering to pre-rendering. Every page now ships with full content from the server. An AI bot arrives, receives the complete text, and can read, cite, or quote it in an answer.
This is the single most important change. Without it, everything else is window dressing.
2. Opened the door to AI bots
Added explicit allowlists in robots.txt for the crawlers that matter for GEO: GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended, YandexGPT, and others. In parallel, tuned server rules so these bots don't get caught by anti-scraping protection.
This is a strategic decision, not just a technical one. I want AI engines to cite my site. Not everyone does — some companies and experts deliberately block AI crawlers. I opened the door.
3. Added a machine-readable structure
Schema.org markup describes content in a language AI understands unambiguously:
- Person — who Roman Denisov is, what he does, where he is based.
- Service — what services exist, for whom, in what format.
- FAQPage — frequently asked questions and answers.
- Article — for blog posts like this one.
On top of that, a separate llms.txt file — an emerging standard, essentially a "table of contents for large language models." It briefly explains what the site is about, who the author is, and which pages are worth reading.
4. Built proper bilingual handling
The site runs in two languages: EN (primary) and RU. Previously the two versions were getting tangled in the index. I set up hreflang markup, browser-based language detection, and canonical links. AI now understands these are two versions of the same content, not two duplicate sites.
5. Sped up load time
Page speed affects both classical ranking and whether a page gets pulled into an AI answer — slow sites get skipped. Optimized images (WebP, lazy loading), trimmed JavaScript, enabled HTTP/2 and caching. Core Web Vitals moved from the amber zone into green.
6. Set up instant pings to search engines
Wired up the IndexNow protocol — the site now pings search engines directly on every update: "new page, come grab it." Submitted the site to Google Search Console, Yandex Webmaster, and Bing Webmaster Tools. Sitemap.xml is in place.
This is the nervous system of GEO. Without it, new content takes weeks to appear in indexes. With it, minutes.
Results — honestly, without invented numbers
Two key barriers are gone:
- AI bots can now physically access the site's content.
- They are explicitly permitted to read it.
The technical GEO foundation is fully in place. Indexing has started.
I'm deliberately not posting "citation rate up N×" or "GEO score moved from X to Y" here. Those numbers are coming — after a re-audit in two weeks. I will update this article with real metrics then. Inventing before/after figures on launch day is marketing, not a case study.
GEO is the new SEO
Ten years ago, you could afford to ignore Google optimization. Today, you can't afford to ignore optimization for AI search. The share of queries flowing through ChatGPT, Perplexity, and neural search grows every month. If your brand is not mentioned in AI answers — for that audience, your brand doesn't exist.
GEO (generative engine optimization) is not "SEO with a new label." It is a different signal set: machine-readable structure, bot access, correct rendering, authoritative citations, FAQ formats. The old SEO toolkit only covers half of it.
The same approach I applied to my own site works for any business — from a private clinic to a B2B service.
Want to check your site?
I run GEO diagnostics — a short PDF report with the three biggest visibility barriers in your site and a prioritized improvement list. The first diagnostic is free.