Связаться
CZ EN RU
Пн-Пт 10-17
00:00:00

GEO на практике: Как мы оптимизировали Zenitho.ai под ChatGPT и Perplexity в апреле 2026

За 48 часов (21–22 апреля 2026) мы прогнали собственный сайт через полный GEO-стек (Generative Engine Optimization): ускорили First Contentful Paint с 4,3 с до 1,7 с, добавили 17 JSON-LD блоков, зарегистрировали сайт в четырёх поисковиках, расширили robots.txt директивами для AI-краулеров и выпустили llms.txt. Ниже — каждый шаг, что сработало, что удивило, и цифры, которые мы реально замерили.

Уточнение сразу на старте. Эта статья документирует технический и структурный фундамент, который мы заложили за 48 часов — Core Web Vitals, индексация, JSON-LD, robots.txt, llms.txt, IndexNow, middleware. Чего мы ещё не можем доказать: реальную частоту цитирования в ChatGPT, Perplexity и Gemini. Это измеряем в части 2 через 30 дней — AI-цитации требуют другого временного горизонта, чем одноразовый технический спринт. Так что читайте эту первую часть как «как мы построили взлётку», а не «сколько раз AI нас цитирует прямо сейчас».

Почему эта статья существует

В апреле 2026 каждое крупное чешское SEO-агентство опубликовало теоретический гайд по GEO — SEO Consult, MARF, Inpage, SEOkonzult, Symbho, Digichef. Тексты хорошие, но почти все заканчиваются одинаково: «вот определение, вот 10 советов». Чего между ними нет — так это конкретной имплементации с данными. Кого-то, кто реально сделал это на своём сайте и опубликовал цифры.

Поэтому мы решили это сделать. За два дня мы взяли Zenitho.ai — сайт, который до этого прошёл только лёгкую SEO-гигиену — и прогнали его через весь GEO-стек. Эта статья — буквальный дневник той работы: что мы меняли, почему выстроили именно в таком порядке, что сломалось, и какую пользу это несёт вам, если хотите то же самое на своём сайте.

Что такое GEO (и чем оно отличается от классического SEO)

GEO (Generative Engine Optimization) — это оптимизация контента и технического слоя сайта так, чтобы большие языковые модели вас цитировали — ChatGPT, Perplexity, Google AI Overviews, Gemini, Claude, Microsoft Copilot. Синонимы: AEO (Answer Engine Optimization), LLMO (Large Language Model Optimization), AIO (AI Optimization).

Отличие от классического SEO — в цели:

Почему это важно сейчас: к концу 2025 года более 40% запросов в Google (в США) заканчивались так называемым «zero-click» — пользователь получал ответ в AI Overview и ни на один результат SERP не кликал. В ČR цифра ниже, но тренд идентичен. Если AI-модели вас не цитируют, ваша видимость в ближайшие 12 месяцев будет падать, даже если классические SEO-позиции останутся теми же.

Исходное состояние Zenitho.ai (утро 21 апреля 2026)

Профиль сайта до вмешательства:

Иными словами: типичное состояние сайта, над SEO которого никто системно не работал. Хорошая стартовая точка для эксперимента — любое движение отсюда покажет, что вмешательства работают.

Стратегия: 5 слоёв, в таком порядке

Мы не хотели действовать наугад. Решили пройти по пяти чётко разделённым слоям, в таком порядке:

  1. Технический базис — Core Web Vitals, чистые URL, корректный язык
  2. Классическая индексация — Google, Bing, Seznam
  3. AI-специфичные файлыrobots.txt директивы для AI-ботов + llms.txt
  4. Структурированные данные — JSON-LD схема на каждой странице
  5. Внешние сигналы и мониторинг — каталоги + детекция краулеров

Почему именно в таком порядке: скорость и индексация — это предпосылки. Если краулеры таймаутят или Google вас вообще не знает — всё остальное напрасно. Схема и AI-файлы — ядро: без них AI не получает структуру. Каталоги и детекция — усиливающий слой: повышают сигнал, но сами по себе не работают.

Реализация, шаг за шагом

Шаг 0: Технический базис (21.04.2026, 16:00–23:43)

Семь часов работы, 20+ коммитов. Самый болезненный слой, потому что PageSpeed не прощает.

До:

Метрика (мобайл)До
First Contentful Paint4,3 с
Largest Contentful PaintError (NO_LCP)
Total Blocking TimeError (NO_LCP)
Speed Index8,8 с
Cumulative Layout Shift0

LCP вообще не измерялся. Причина: анимация fade-in на viewport использовала opacity: 0, а PageSpeed интерпретирует это как «никакого видимого LCP-кандидата». Решение: заменить на opacity: 0.01. Не измерялось → измерилось. И это была только первая из двадцати подобных оптимизаций:

После:

Метрика (мобайл)ДоПослеИзменение
First Contentful Paint4,3 с1,7 с−60%
Largest Contentful PaintError4,2 сизмеряется
Total Blocking TimeError0 мсзелёное
Speed Index8,8 с1,8 с−80%
CLS00,033зелёное

LCP 4,2 с всё ещё в красном — это следующий этап. Но три из четырёх метрик зелёные, краулеры не таймаутят, и Googlebot может обойти весь сайт.

Почему это важно для GEO: AI-краулеры напрямую не измеряют скорость. Но AI Overviews берут данные из индекса Google, а Google весит Core Web Vitals как ранкинговый фактор. Медленный сайт = ниже в индексе = ниже шанс попасть в AI-ответ.

Шаг 1: Индексация в поисковиках

Недооценённый слой. Большинство GEO-гайдов его пропускает, а он критический: большинство AI-моделей (Gemini, AI Overviews, Copilot) берёт данные из индекса Google или Bing. Если вас там нет — AI вас не видит.

Что сделали:

  1. Чистые URL — убрали .html расширения на canonical. /portfolio вместо /portfolio.html. Настройка через Vercel rewrites.
  2. sitemap.xml — добавили /sluzby/web, /sluzby/kliniky (их не было)
  3. html lang="cs" — исправили с невалидного cz (BCP 47 требует двухбуквенный ISO 639-1 код языка; cz — код страны, а не языка)
  4. Canonical + title — почистили на всех страницах
  5. Регистрация, submit sitemap:
    • Google Search Console → submit sitemap, Request indexing каждой ключевой страницы
    • Bing Webmaster Tools → submit sitemap (Bing важен и в ČR — Copilot оттуда)
    • Seznam WMT → верификационный файл загружен в корень + meta-тег, submit sitemap

За 24 часа после Request indexing все ключевые страницы были в индексе Google. Seznam — 3 дня. Bing — 2.

IndexNow — автоматизированный push-сигнал

Вручную сабмитить sitemap в каждом WMT после каждого изменения — не масштабируется. Во второй день вечером (22 апреля, уже после публикации этой статьи) мы добавили IndexNow — открытый протокол, где один POST-запрос на api.indexnow.org форвардится в Bing, Seznam, Yandex и Naver. Пингуете один раз — получают все участвующие поисковики.

Почему это важно для GEO: плановый обход Bingbot/SeznamBot обнаружит новую версию страницы через дни или недели. IndexNow — это push, он говорит поисковику: «зайди сюда ещё раз, прямо сейчас». Быстрее индекс Bing = быстрее в Copilot, быстрее Seznam = быстрее видимость в чешских AI-ассистентах, которые его краулят.

Реализация: Python-скрипт на stdlib (0 зависимостей) + GitHub Actions workflow, триггер на каждый push в main, меняющий HTML или sitemap:

on:
  push:
    branches: [main]
    paths: ['**.html', 'sitemap.xml']
  workflow_dispatch:

jobs:
  ping:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 2 }
      - name: Wait for Vercel production deploy
        run: sleep 90
      - name: Ping IndexNow (changed URLs)
        run: python3 indexnow.py

Ключевая деталь: sleep 90. Ждём 90 секунд перед пингом, чтобы Vercel успел задеплоить новую версию на CDN. Если пингануть сразу после merge, поисковик зафетчит ещё старую версию — и IndexNow сработает против нас. workflow_dispatch также позволяет вручную пингануть всю sitemap (python3 indexnow.py --all) — полезно после большой ревизии или добавления новой локализации.

Аутентификация через статичный ключ-файл в корне сайта (<key>.txt, содержимое = сам ключ). Поисковик его фетчит, чтобы подтвердить, что вы владелец домена — стандартный ownership proof.

Google IndexNow не принимает. У него своё Indexing API, но оно ограничено JobPosting и BroadcastEvent — для обычных страниц не подходит. Для Google остаётся классика: submit sitemap + Request indexing в Search Console. Не критично — Googlebot в любом случае самый агрессивный краулер из группы.

Итог: каждый merge в main теперь автоматически уведомляет Bing, Seznam и Yandex. Ноль ручных шагов, ноль шансов забыть — и эта статья, которую вы читаете, была первым URL, который workflow пингнул в проде.

Шаг 2: AI-специфичные файлы

robots.txt для AI-краулеров

Расширили robots.txt явными User-agent директивами для основных AI-краулеров:

Явные Allow директивы AI-краулерам говорят «да, можете тренироваться и цитировать». OpenAI и Anthropic публично подтверждали, что robots.txt уважают.

llms.txt

llms.txt — неофициальный стандарт (Mintlify, апрель 2025). Цель: дать LLM-моделям структурированный текстовый обзор сайта — как robots.txt, но для контента. В наш файл положили:

Важная оговорка: llms.txt пока официально не уважает ни один крупный AI-провайдер. Ни OpenAI, ни Anthropic, ни Google. Perplexity якобы экспериментально читает, но публично не подтверждали. Почему всё равно делаем: создание — 15 минут, и когда стандарт получит трекшн, мы готовы. Ставка с ассиметричным профилем risk/reward.

Шаг 3: Структурированные данные (17 JSON-LD блоков)

Ядро GEO-работы. Без схемы машина читает сайт как неструктурированный текст. С JSON-LD («это Organization, это её Service с прайсом, это FAQPage с 11 вопросами, это Person за фирмой») AI распознаёт сущности и связи — и их может цитировать.

Что добавили, по страницам:

СтраницаТипы schema
index.htmlOrganization, WebSite, WebPage, ProfessionalService
sluzby.htmlBreadcrumbList, CollectionPage, ItemList (услуги)
sluzby/web.htmlBreadcrumbList, Service, 3× Offer (прайс Starter/Business/Premium)
sluzby/kliniky.htmlBreadcrumbList, Service, FAQPage (11 Q&A)
portfolio.htmlBreadcrumbList, CollectionPage, ItemList (6 кейсов)
o-nas.htmlBreadcrumbList, AboutPage, 4× Person с knowsAbout
kontakt.htmlBreadcrumbList, ContactPage, ContactPoint, OpeningHoursSpecification

Всего 17 блоков, 0 ошибок в валидаторе Google Rich Results Test. Во втором заходе добавили optional поля: logo, address, image, priceRange (Google флагнул их как рекомендуемые, не обязательные).

Конкретный E-E-A-T трюк: в AboutPagePerson-записях используйте свойство knowsAbout со списком предметных навыков. Этот сигнал Google Knowledge Graph использует для определения авторитета сущности. У нас у каждого человека 3–5 knowsAbout-записей (например, «конверсионная оптимизация», «B2B lead generation», «маркетинг для клиник»).

Шаг 4: Edge Middleware для детекции AI-краулеров

Vercel Web Analytics фильтрует ботов by design (трекает людей через JS-пиксель, боты JS не выполняют). Для мониторинга AI-краулеров — бесполезен. Решение: Vercel Edge Middleware, 14 строк кода:

export const config = {
  matcher: '/((?!assets|api|_vercel).*)'
};

const BOT_RE = /GPTBot|OAI-SearchBot|ChatGPT-User|PerplexityBot|ClaudeBot|anthropic-ai|Google-Extended|Googlebot|Bingbot|SeznamBot|Applebot/i;

export default function middleware(request) {
  const ua = request.headers.get('user-agent') || '';
  const match = ua.match(BOT_RE);
  if (match) {
    const path = new URL(request.url).pathname;
    console.log(`[bot] ${match[0]} -> ${path}`);
  }
}

Middleware срабатывает на каждом non-static запросе. Логи видны в Vercel Observability → Middleware. На Hobby-плане агрегированные (количество вызовов, пути, actions), на Pro — с текстом логов. За первый день увидели 14 middleware-вызовов: соотношение bot/human прослеживается, но детальный UA-текст остаётся за paywall.

Шаг 5: Внешние сигналы (каталоги и платформы)

Entity recognition в AI-моделях опирается на то, что о вас говорит остальной интернет. Чем больше независимых доменов цитируют сущность «Zenitho», тем сильнее entity signal.

Зарегистрировались:

Каждая платформа = ещё один authority-домен, подтверждающий «это агентство Zenitho, предлагает X, находится в Y». AI-модели при entity resolution эти cross-references собирают.

Результаты за 48 часов

ОбластьДо (утро 21.04)После (вечер 22.04)
FCP (мобайл)4,3 с1,7 с
LCP (мобайл)Error (NO_LCP)4,2 с
Speed Index8,8 с1,8 с
JSON-LD блоков на сайте017
Schema errors (Rich Results Test)0
Индексация в GoogleНетДа (24 ч)
Индексация в BingНетДа (2 дня)
Индексация в SeznamНетДа (3 дня)
AI crawler директивы в robots.txt08
llms.txtНе существовалВыпущен, 4,4 kB
Регистраций в каталогах1 (Maps)5
Мониторинг AI-краулеровНетEdge Middleware

Чего пока не измерили: реальную частоту цитаций в ChatGPT/Perplexity/Gemini. Это имманентно сложно: инструменты для этого (Otterly, Peec AI, AthenaHQ) платные и нужно 2–4 недели для значимого тренда. Опубликуем follow-up через 30 дней.

Что нас удивило

1) Vercel Web Analytics фильтрует ботов. Мы думали, включение Analytics покажет AI-краулеров. Не показало — Analytics трекает людей через JS-пиксель, боты JS не выполняют. Решение: Edge Middleware.

2) llms.txt официально не уважает никто. OpenAI, Anthropic, Google его официально не обходят. Perplexity якобы да (публично не подтверждали). Всё равно рекомендуем — минимальная инвестиция, асимметричный апсайд.

3) JSON-LD сам по себе недостаточен. Это, пожалуй, самое частое ментальное сокращение. Схема говорит машине структуру, но содержимое она всё равно читает. Если у вас схема Service, а описание услуги — шаблон («профессиональные сайты на заказ»), AI процитирует конкурента со слабой схемой, но уникальными данными и конкретными числами, а не вас.

4) Чешский рынок спит на практике. Большие CZ-агентства в 2026 году написали теоретические гайды по GEO. Но конкретную имплементацию с цифрами почти никто не опубликовал. Это пробел, который заполняет наша статья — и надеемся, вдохновляет вас на такую же открытость.

Ключевые выводы

  1. Скорость — предпосылка, а не GEO-фича. Без быстрого сайта краулеры таймаутят. Но сама по себе скорость вас не цитирует — контент цитирует.
  2. Индексируйтесь везде, откуда AI берёт. Google, Bing, Seznam. Без классической индексации вы невидимы для 80% AI-систем.
  3. Схема — must-have, но не серебряная пуля. 17 JSON-LD блоков сами по себе не увеличат AI-цитации. Нужен ещё контент, который стоит цитирования.
  4. llms.txt — инвестиция в будущее. Сегодня официально не уважает никто. Через пару месяцев может быть иначе. 15 минут работы, пренебрежимый риск.
  5. Детектируйте краулеров, не надейтесь. Без собственных логов вы не знаете, кто к вам ходит. Edge Middleware за 14 строк даст ответ.

Чеклист: 10 шагов для малого и среднего чешского бизнеса

  1. Прогоните сайт через PageSpeed Insights. Цель: FCP под 2 с, LCP под 2,5 с, CLS под 0,1.
  2. Исправьте html lang="cs" (BCP 47) — не cz.
  3. Введите чистые URL (без .html).
  4. Зарегистрируйте сайт в Google Search Console. Submit sitemap. Request indexing.
  5. Повторите для Bing Webmaster Tools и Seznam WMT.
  6. Дополните robots.txt директивами User-agent: GPTBot / PerplexityBot / ClaudeBot / Google-Extended с Allow: /.
  7. Создайте llms.txt в корне — краткий текстовый обзор фирмы, цен, людей, контакта.
  8. Добавьте JSON-LD схему: минимум Organization, ProfessionalServicepriceRange и areaServed), FAQPage если есть часто задаваемые вопросы.
  9. Валидируйте через Google Rich Results Test и Schema.org Validator. Цель: 0 ошибок.
  10. Зарегистрируйте фирму в firmy.cz, Clutch, LinkedIn Company Page, Google Business Profile.

Для продвинутых: Edge Middleware для детекции AI-краулеров (код выше).

Хотите GEO для своего сайта?

Мы Zenitho — чешское агентство, которое не только учит GEO, но и делает на практике. На собственном сайте и для клиентов из сферы частных клиник, B2B-услуг и локальных фирм.

Заказать GEO для сайта

Часто задаваемые вопросы

Нужно ли малому бизнесу в ČR уже сейчас заниматься GEO?

Если вы работаете в B2B, профессиональных услугах или здравоохранении — да, начинайте сейчас. Доля пользователей, которые на чешском рынке привычно ищут информацию о компаниях в ChatGPT и Perplexity, заметно растёт год к году. В B2C e-commerce срочность меньше, но первые пять шагов (скорость, sitemap, JSON-LD, индексация в Google, чистые URL) окупаются и в классическом SEO — делайте их всё равно.

Каково соотношение усилий между классическим SEO и GEO?

На практике 80% работы — это «классика»: скорость, индексация, качество контента, схема. Оставшиеся 20% специфичны для GEO: llms.txt, директивы для AI-краулеров, упоминания сущности в каталогах. GEO не работает без крепкой классической SEO-базы.

А если AI-системы никогда не признают llms.txt?

Инвестиция: ~15 минут. Тривиальное обслуживание. Даже при полном отказе стандарта вы потратили не больше часа работы. Риск практически нулевой, апсайд ощутимый — поэтому рекомендуем.

Когда ждать результатов?

Классическое SEO (позиции в Google): 2–6 недель после переиндексации. GEO-цитации: очень трудно измерить. Рекомендуем составить таблицу из 20 релевантных запросов (например, «digitální agentura Praha pro kliniky») и раз в месяц тестировать их в ChatGPT, Perplexity и Gemini. Абсолютных чисел не получите, но тренд через 2–3 месяца увидите.

Есть ли инструмент, отслеживающий AI-цитации?

Да — Otterly.AI, Peec AI, AthenaHQ. Платные (~50–200 USD/мес), измеряют, в каких AI-ответах появляется ваш домен. Малому бизнесу окупаются только после 3–6 месяцев GEO-работы, когда есть что измерять.

А если у меня не Vercel?

Edge Middleware — специфика Vercel. Эквиваленты: Cloudflare Workers, AWS Lambda@Edge, Netlify Edge Functions. Концепция везде одинаковая — перехватить запрос, разобрать User-Agent, логировать совпадения с ботами. Код в любой из этих платформ умещается в те же 14 строк.

Управляемый рост начинается здесь

Заполните форму, и на бесплатной консультации, к которой заранее подготовимся, мы покажем,
как получить больше заявок без увеличения рекламного бюджета.

30 мин консультация бесплатно!
OPEN HAPPINESS