The Jerusalem Post'They sent missiles, we sent a bill': Bat Yam mayor serves Iranian diplomat with NIS 250m. lawsuitPunchBEDC raises staff salariesInquirerErwin Tulfo seeks safeguards for workers displaced by AISky TG24Ecuador, migliaia in piazza contro il governo di NoboaBollywood HungamaHrithik Roshan attends LACMA Art + Film Gala 2026, becomes first mainstream Indian actor to grace eventZDF heuteEntdecken Sie das ZDF-NachrichtenstudioWirtualna PolskaPo zamachu w Krakowie. Kto biegł na pomoc, a kto po zasięgi [OPINIA]BBC NewsWalsh-inspired Australia crush irate Samoa to reach World Cup finalStraits Times SportSingapore runner Shaun Goh lowers 10,000m mark for his seventh national record of 20267sur7“C’est un co*****”: un enfant de 8 ans insulte Macron en direct, franceinfo réagitالشرقسامر المصري لـ"الشرق": "أبو جانتي" نضج.. والجزء الثالث مغامرة محسوبةEl Comercio“Stephen Miller encabeza la estrategia de Trump para gobernar sin el Congreso”
The Daily Newsstand · Free, Always
Sunday, November 8, 2026

AI-краулеры и GEO: почему robots.txt разрешает обход, а сайт остаётся недоступным

Translate

Открытый robots.txt ещё не означает, что робот получил страницу. Между ним и приложением стоят CDN, WAF, ограничения частоты и кеш. Ошибка на этом участке превращает обсуждение цитируемости в AI-поиске в спор о контенте, который система могла вообще не прочитать.

Разберём проверку доступа по слоям: назначение робота, подтверждение его происхождения, HTTP-ответ и содержимое документа. Отдельно — экспериментальный Web Bot Auth и небольшой Python-разборщик наблюдений, который не выдаёт подмену User-Agent за настоящий визит поисковика.

1. Что изменилось: робот становится субъектом политики доступа

В документации Google появился отдельный практический контур для AI-агентов: криптографическая проверка запросов через Web Bot Auth. Руководство обновлено 13 октября 2026 года. Важно его ограничение: механизм экспериментальный, используется для части агентов на инфраструктуре Google, причём подписывается не каждый запрос. Это не объявление о переводе всего Googlebot на обязательные подписи. Первоисточник: Google, Web Bot Auth.

Для технического SEO здесь интересна смена вопроса. Недостаточно спросить, есть ли слово Googlebot в заголовке запроса. Нужно понимать, кто пришёл, какую функцию выполняет и каким правилом получил доступ. Мой практический вывод: настройки обхода стоит учитывать как конфигурацию продукта, с владельцем, журналом изменений и проверкой после релиза.

При этом доступность не равна видимости. Для ссылки в AI Overviews или AI Mode Google требует индексируемую страницу, допущенную к показу со сниппетом. Отдельной обязательной AI-разметки нет; выполнение требований не гарантирует включения. В рекомендациях прямо упомянуты robots.txt, CDN и хостинговая инфраструктура. Первоисточник: AI features and your website.

Поэтому ниже — протокол диагностики доступа. Он не предсказывает вероятность цитирования и не распространяет поведение Google на все генеративные системы.

2. Разделите назначение, идентификацию и разрешение

Сначала заполните реестр потребителей контента. Не переносите готовый список «запретить все AI» на рабочий сайт без проверки назначения каждой записи.

Объект

Что документировано Google

Что проверять в проекте

Googlebot

Поисковый обход

Нужны ли публичные страницы в поиске; не перекрыт ли доступ инфраструктурой

Google-InspectionTool

Инструменты проверки, включая URL Inspection; отдельный токен

Не отличается ли доступ тестового инструмента от регулярного обхода

Google-Extended

Токен управления использованием контента; отдельного HTTP User-Agent нет

Соответствует ли настройка политике использования контента

Google-Extended управляет обучением будущих моделей Gemini и grounding в указанных Google продуктах. Он не влияет на включение сайта в Google Search и не является сигналом ранжирования. Поэтому поиск строки Google-Extended в access.log не проверяет применение этой политики. Первоисточник: каталог Google common crawlers.

Для каждого потребителя я рекомендую хранить четыре поля: функция, источник документации, желаемая политика и способ проверки. Отдельно — дату последнего пересмотра. Это позволяет заметить ситуацию, когда редакция хочет сохранить поисковую доступность, а инфраструктурная команда применяет общий запрет по категории трафика.

3. robots.txt — только один слой

robots.txt сообщает правила обхода, но не обеспечивает защиту закрытых данных. Добросовестный робот соблюдает инструкции; сам файл не принуждает клиента к этому поведению. Запрет обхода также не является надёжным способом удалить URL из Google. Для исключения из индекса Google документирует noindex при доступности страницы для обхода либо другие подходящие механизмы. Первоисточник: введение в robots.txt.

Диагностику удобно представить как цепочку независимых вопросов:

Назначение клиента → подтверждение происхождения
                              ↓
robots.txt → CDN / WAF → HTTP-ответ → нужный контент
                              ↓
             отдельная проверка индексации и видимости

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

Особенно легко перепутать ответ самой страницы и ответ robots.txt. Для Google ошибка 403 у robots.txt трактуется как отсутствие действующего файла с ограничениями; 5xx запускает другой сценарий с остановкой обхода и использованием последней успешной версии. Файл также привязан к конкретным протоколу, хосту и порту. Первоисточник: спецификация robots.txt в реализации Google.

Практическая проверка: включите в выборку robots.txt каждого используемого публичного хоста. Если каталог живёт на поддомене, одного файла главного домена недостаточно для заключения о нём.

4. User-Agent не доказывает происхождение

Запрос с заголовком Googlebot, отправленный с ноутбука, остаётся запросом с ноутбука. Такой тест полезен, чтобы обнаружить ветку обработки по заголовку. Он не показывает, как CDN обработает реальный адрес робота, другой регион или другое состояние лимита.

Для Google есть два документированных пути: сопоставление IP с опубликованными диапазонами соответствующей категории либо обратное DNS-разрешение с проверкой допустимого имени и последующим прямым разрешением обратно в исходный IP. Категории обычных краулеров и пользовательских fetcher различаются. Первоисточник: Verify requests from Google crawlers and fetchers.

В реестре аудита стоит различать три результата: подтверждён, не подтверждён, данных недостаточно. Последний нужен, когда IP отсутствует, источник лога ненадёжен или актуальность диапазонов неизвестна. Не превращайте отсутствие доказательства в доказанную подделку.

Web Bot Auth добавляет ещё один способ подтверждения, но не отменяет эту дисциплину. Наличие заголовка Signature-Agent само по себе не означает проверенную подпись: верификатор должен проверить её по ключам и параметрам протокола. Из-за неполного покрытия Google рекомендует сохранять установленные способы проверки. Первоисточник: экспериментальный Web Bot Auth.

5. Сопоставьте edge и приложение

Начните с небольшой выборки: главная, категория, карточка, статья, страница с важными условиями и robots.txt. Для каждого URL зафиксируйте время, хост, тип клиента, способ идентификации и результат.

Наблюдение

Следующий шаг расследования

На edge 403, обращения к приложению не видно

Проверить действие WAF и идентификатор сработавшего правила; учесть полноту логирования

На edge 200, нужного текста нет

Открыть сохранённое тело: это документ, пустой шаблон, ошибка или challenge?

Приложение ответило 200, внешний ответ отличается

Сопоставить кеш, преобразования и правила на периметре

Локальный тест успешен, подтверждённые визиты дают ошибки

Сравнить время, регион, IP-категорию, лимиты и маршрут

URL Inspection успешен, регулярный обход не подтверждён

Проверять фактические визиты Googlebot отдельно

Это направления проверки, а не автоматические диагнозы. Отсутствие записи на origin бывает связано с кешем или выборочным сбором логов. Не объявляйте WAF причиной по одному пропущенному событию.

Google отдельно описывает обработку HTTP-кодов: успешный ответ сам по себе не гарантирует индексацию, а 429 и серверные ошибки могут снижать интенсивность обхода. Поэтому полезнее сопоставлять типы ответов и их содержимое, чем считать общий процент 200. Первоисточник: HTTP status codes and network errors.

Для контентной проверки задайте несколько смысловых маркеров: название продукта, условие тарифа, единицу измерения. Полный хеш HTML может меняться из-за персонализации и служебных токенов. Маркер тоже не доказывает полноту документа, но помогает быстро отобрать подозрительные ответы.

6. Небольшой разборщик наблюдений без ложного PASS

Ниже — офлайн-пример. Он не делает сетевых запросов, не разбирает robots.txt и не верифицирует ботов. Поля заполняются после проверки логов и ответов. Значение verified должно приходить из доверенного процесса, а не из имени User-Agent.

from collections import Counter

def classify(row):
    if row.get("identity") != "verified":
        return "IDENTITY_UNKNOWN"
    if row.get("robots_allowed") is False:
        return "POLICY_BLOCK"
    if row.get("robots_allowed") is not True:
        return "POLICY_UNKNOWN"
    status = row.get("edge_status")
    if status in (401, 403, 429):
        return "ACCESS_REVIEW"
    if isinstance(status, int) and 500 <= status <= 599:
        return "SERVER_ERROR"
    if status != 200:
        return "HTTP_REVIEW"
    if row.get("content_ok") is False:
        return "CONTENT_REVIEW"
    if row.get("content_ok") is not True:
        return "CONTENT_UNKNOWN"
    return "FETCH_OBSERVED"

observations = [
    {"identity": "verified", "robots_allowed": True,
     "edge_status": 403},
    {"identity": "verified", "robots_allowed": True,
     "edge_status": 200, "content_ok": False},
    {"identity": "ua_only", "robots_allowed": True,
     "edge_status": 200, "content_ok": True},
    {"identity": "verified", "robots_allowed": True,
     "edge_status": 200, "content_ok": True},
]

for result, count in sorted(Counter(map(classify, observations)).items()):
    print(result, count)

Результат на этой синтетической выборке:

ACCESS_REVIEW 1
CONTENT_REVIEW 1
FETCH_OBSERVED 1
IDENTITY_UNKNOWN 1

Здесь намеренно нет статуса GEO_READY. Даже FETCH_OBSERVED означает только подтверждённое получение проверенного содержания в конкретном наблюдении. Скрипт не устанавливает причину 403, факт индексации или попадание в ответ. Для массовой обработки добавьте к исходным строкам URL, UTC-время, request ID, версию политики и ссылку на свидетельство; агрегируйте по шаблону страниц и проверенному клиенту.

7. Как принять исправление

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

Уровень

Достаточное свидетельство для этого этапа

Что остаётся неизвестным

Политика

Правило для нужного клиента и URL соответствует решению владельца

Дошёл ли реальный запрос

Доставка

Подтверждённый клиент получил ожидаемый ответ и контент

Будет ли документ индексироваться

Индексация

Проверены актуальные данные о странице в Google

Будет ли она выбрана для конкретного ответа

GEO-наблюдение

Сохранены запрос, ответ, источник, дата и условия проверки

Стабильность результата на других запросах

Технические требования Google разделяют доступность, успешный HTTP-ответ и индексируемое содержание; даже их выполнение не гарантирует индексацию. Первоисточник: Google Search technical requirements.

Для Google сначала сопоставляйте отчёт об индексированной версии страницы и текущую проверку, а затем реальные обращения в логах. Свежий тест не переписывает историю последнего обхода. Возможность посмотреть полученный HTML и ресурсы описана в документации инструмента, на которую ссылается руководство Google по AI-функциям.

В отчёте разделяйте два результата: «устранили препятствие для получения документа» и «наблюдаем изменение видимости». Между ними могут быть повторный обход, переобработка и изменение состава ответов. Если после исправления выросло число цитирований, это повод для дальнейшего сравнения, а не готовое доказательство причинности.

Рабочий результат такого аудита — набор проверяемых утверждений: какой клиент пришёл, чем подтверждена его идентичность, какое правило применилось и какой документ он получил. С этого основания уже можно обсуждать качество источника и его присутствие в AI-поиске.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.