Главная Статьи Технический чек-лист: не блокируете ли вы себя сами

Технический чек-лист: не блокируете ли вы себя сами

Почти каждый второй аудит сайта, который проседает в видимости — будь то классическая выдача Google или ответы ChatGPT и Perplexity — упирается в одну и ту же банальную причину: сайт сам себя выключил из игры. Не конкурент обошёл, не алгоритм наказал — просто где-то в robots.txt, мета-тегах или конфигурации CDN стоит директива, которая молча отсекает нужного краулера. Разберём по пунктам, где искать такие самострелы.

1. robots.txt: кто на самом деле у вас в чёрном списке

Первое, с чего стоит начать — открыть site.ru/robots.txt и построчно свериться с реальным списком краулеров, а не с тем, что «вроде бы» там прописывал разработчик три года назад.

Частая ловушка: многие SEO-плагины для WordPress и Shopify в 2024–2025 годах добавили переключатель «блокировать AI-ботов», который во многих случаях включён по умолчанию. Владельцы сайтов обновляли плагин и незаметно для себя обрубали доступ ChatGPT, Claude и Perplexity к своему контенту.

Ключевой момент, который часто упускают: у крупных провайдеров краулеры для обучения моделей и краулеры для поиска/цитирования — это разные user-agent’ы, и их можно настраивать независимо друг от друга. Например, OpenAI прямо указывает, что можно разрешить OAI-SearchBot, чтобы попадать в результаты поиска ChatGPT, но при этом запретить GPTBot, если контент не должен использоваться для обучения генеративных моделей — настройки друг от друга не зависят.

Проверьте, что в вашем файле нет случайных Disallow на следующие токены (если вы, конечно, не запрещаете их осознанно):

Классический поиск и индексация:

  • Googlebot, GoogleOther — второй часто блокируют по ошибке вместе с «AI-ботами», хотя это внутренний краулер Google для продуктовых и R&D-задач, не связанных напрямую с обычным поиском
  • Bingbot

AI-поиск и цитирование (retrieval/agent) — от них напрямую зависит, будете ли вы упоминаться в ответах:

  • OAI-SearchBot, ChatGPT-User (OpenAI)
  • Claude-SearchBot, Claude-User (Anthropic)
  • PerplexityBot, Perplexity-User

Обучение моделей (training) — блокировка не влияет на цитирование, но лишает контент шанса попасть в датасет:

  • GPTBot, ClaudeBot, CCBot, Bytespider, Meta-ExternalAgent, Amazonbot

Отдельные «опт-аут»-токены без реального краулера за ними:

  • Google-Extended — управляет использованием контента для обучения Gemini и Vertex AI, не влияя на обычную выдачу Google
  • Applebot-Extended — аналогичный опт-аут для Apple Intelligence

Важно понимать: Google-Extended и Applebot-Extended — это, по сути, флаги в robots.txt, а не реальные user-agent’ы, которые будут светиться в логах сервера — они существуют исключительно для управления обучением.

Практический вывод

Определитесь сознательно: хотите ли вы попадать в ответы AI-поисковиков — тогда retrieval- и agent-боты должны быть разрешены; не хотите отдавать контент на обучение — блокируйте training-ботов отдельно, не трогая поисковые. Смешивать эти две категории в одну строку «запретить всех ИИ» — самая частая техническая ошибка 2026 года.

2. robots.txt — это просьба, а не замок

Стоит держать в голове важную оговорку: сам по себе robots.txt не аутентифицирует посетителя и не блокирует доступ на сетевом уровне — это добровольное соглашение, которое честные краулеры соблюдают, а нечестные могут игнорировать. Крупные игроки вроде Google, OpenAI и Anthropic публично документируют свои краулеры и в целом следуют правилам, но, например, у Bytespider (краулер ByteDance) есть задокументированная история несоблюдения robots.txt, а часть краулеров Perplexity уличали в обходе директив через маскировку под обычный браузерный трафик.

Практический вывод: то, что действительно критично закрыть от нежелательных ботов, стоит дублировать на уровне сервера или CDN (правила файрвола, rate-limiting), а не полагаться только на текстовый файл.

3. Мета-теги robots и X-Robots-Tag — тихие убийцы страниц

Помимо файла robots.txt, страницу может выключать из индекса тег на самой странице или HTTP-заголовок:

html

<meta name="robots" content="noindex, nofollow">

или заголовок ответа сервера:

X-Robots-Tag: noindex

Проверьте ключевые страницы — особенно те, что генерируются шаблонами или CMS — на предмет:

  • случайно оставленного noindex после переноса сайта с тестового домена на боевой (классика: staging-настройки «уехали» в продакшен);
  • nofollow на внутренних ссылках, из-за которого краулер не может добраться до глубоких разделов;
  • противоречий между robots.txt и мета-тегом (например, robots.txt разрешает сканирование, а мета-тег на странице говорит «не индексировать» — в этом случае страница может сканироваться, но не попадать в индекс, что сбивает с толку при диагностике).

4. Sitemap.xml: карта, которая должна совпадать с реальностью

Отдельная категория самоблокировки — рассинхронизация между sitemap.xml и фактической структурой сайта:

  • в карте сайта перечислены страницы, которые сами закрыты через noindex или Disallow — краулер тратит время и «доверие» на противоречивые сигналы;
  • в sitemap отсутствуют новые важные разделы;
  • ссылка на sitemap не указана в robots.txt (директива Sitemap: в конце файла).

5. Schema.org: разметка, которая либо помогает роботу понять контент, либо валяется мёртвым грузом

Структурированные данные — это то, через что и классические поисковики, и AI-системы понимают контекст страницы: что это — статья, товар, рецепт, часто задаваемые вопросы, организация. В эпоху AI-поиска (GEO/AEO) роль разметки только выросла: базовые принципы «классического» SEO и оптимизации под AI-ответы во многом пересекаются, но AI-движки сильнее опираются именно на структурированные данные и чёткие, самодостаточные фрагменты текста, из которых удобно собирать цитируемый ответ.

Что стоит проверить:

  • Валидность разметки. Синтаксическая ошибка в JSON-LD может привести к тому, что вся схема просто игнорируется парсером, даже если визуально страница выглядит нормально.
  • Соответствие видимому контенту. Схема не должна декларировать данные (цену, рейтинг, дату), которых нет на самой странице — это триггерит ручные санкции и подрывает доверие к разметке в целом.
  • Актуальность типов схемы под тип контента: Article/BlogPosting, Product, FAQPage, HowTo, Organization, BreadcrumbList — используется ли то, что реально соответствует странице, а не скопированный шаблон «на всякий случай».
  • Дублирование или конфликт схем на одной странице (например, два разных Organization с разными данными).

6. llms.txt — новый, но пока нишевый сигнал

Помимо robots.txt, часть сайтов уже публикует файл llms.txt — своего рода путеводитель для AI-систем по самому релевантному контенту сайта. Пока это скорее нишевая практика с невысоким уровнем внедрения, но как дополнительный слой навигации для AI-краулеров он не помешает, особенно если у сайта сложная структура.

7. Проверка на практике, а не в теории

Прочитать файл — не то же самое, что проверить, как его на самом деле трактует бот. Рекомендуемый порядок действий:

  1. Ручная проверка через тестировщики robots.txt (в Google Search Console есть встроенный инструмент; аналогичные есть у сторонних SEO-сервисов).
  2. Проверка серверных логов. Посмотрите, какие user-agent’ы реально заходят на сайт и получают ли они код 200 или блокируются на уровне сервера/CDN — иногда правило в robots.txt разрешает бота, а файрвол молча режет его по IP.
  3. Помните про спуфинг. User-agent — это просто текстовый заголовок, который может подделать кто угодно; сам по себе он не доказывает, что запрос действительно пришёл от заявленного бота. Для по-настоящему точной верификации нужно сверять IP-адрес запроса с официально опубликованными диапазонами конкретного провайдера (у большинства крупных AI-компаний такие списки публикуются официально).
  4. Регулярный аудит, а не разовая настройка. Ландшафт AI-краулеров меняется быстро — появляются новые боты, провайдеры разделяют функции между разными user-agent’ами. Разумная периодичность проверки — раз в квартал, плюс обязательно после смены SEO-плагина, миграции сайта или обновления CMS.

Краткий итоговый чек-лист

  • Открыли реальный robots.txt на боевом домене и построчно проверили список Disallow
  • Убедились, что не заблокирован GoogleOther вместе с «AI-ботами» по ошибке
  • Осознанно решили, какие training-краулеры (GPTBot, ClaudeBot, CCBot и др.) разрешены, а какие нет
  • Отдельно проверили retrieval/agent-краулеров (OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot) — от них зависит цитирование в AI-ответах
  • Проверили мета-теги noindex/nofollow на ключевых страницах и сравнили их с директивами robots.txt
  • Свежий sitemap.xml без противоречий с robots.txt и мета-тегами, ссылка на него указана в robots.txt
  • Провалидировали Schema.org — синтаксис, соответствие видимому контенту, корректные типы
  • Проверили, не блокирует ли что-то на уровне CDN/файрвола то, что разрешено в robots.txt
  • Свежие серверные логи подтверждают реальные заходы нужных ботов, а не только теорию из файла
  • Настроили регулярную (хотя бы ежеквартальную) переоценку конфигурации после апдейтов CMS и плагинов

Такой аудит занимает от получаса до нескольких часов в зависимости от размера сайта, но именно он чаще всего вскрывает причину, по которой сайт «варится в собственном соку» — невидимый ни классическому поиску, ни AI-ответам не из-за качества контента, а из-за одной забытой строчки в конфигурации.