Протокол мгновенной индексации IndexNow
1. Архитектура и принцип работы
Архитектура IndexNow основана на push-модели: сервер генерирует ключ (UUID), размещает его в корне домена, затем отправляет POST-запрос на эндпоинт поисковика с перечнем URL (до 10 000 за раз). История протокола началась в 2021 году как инициатива Microsoft Bing и Яндекс, позже присоединились Seznam и Naver. В отличие от классических sitemap и краулинга, IndexNow не гарантирует индексацию, но сигнализирует об актуальности контента. Ключевым элементом является верификация владения доменом через ключевой файл, что предотвращает спам. Протокол работает по HTTPS, поддерживает пакетную отправку и автоматическую дедупликацию запросов на стороне поисковика. Для Яндекса IndexNow интегрирован в API Яндекс.Вебмастера, а Google официально не поддерживает протокол, полагаясь на собственные механизмы обнаружения.
2. Математическая механика и триггеры ранжирования
С технической точки зрения IndexNow не имеет формулы ранжирования — это транспортный сигнал. Однако скорость реакции поисковика на изменение URL влияет на свежесть индекса (QDF — Query Deserves Freshness). Вес фактора «свежесть» в Яндексе оценивается в 5–10% в зависимости от тематики. Триггеры пессимизации: отправка URL, не соответствующих ключу (ошибка 403), массовая отправка нерелевантных страниц (спам-фильтр), игнорирование ответа 202. При корректной настройке IndexNow сокращает время до переобхода с суток до минут, что косвенно улучшает позиции за счёт оперативного обновления контента. Влияние на ранжирование опосредовано: поисковик быстрее видит новые заголовки, цены, события, что повышает CTR и поведенческие метрики. Однако сам по себе протокол не повышает релевантность — только ускоряет доставку сигнала.
3. Специфика в Яндекс (YATI) vs Google
Яндекс учитывает IndexNow как часть краулингового бюджета: через YATI (Яндекс.Турбо-Индексация) и ПФ (поведенческие факторы) скорость обновления влияет на оценку свежести. Яндекс рекомендует отправлять только изменённые URL, чтобы не размывать доверие. Google не поддерживает IndexNow, но использует аналогичные механизмы: Google Indexing API (для JobPosting и BroadcastEvent) и Entity Graph для приоритизации. В Core Updates Google оценивает качество контента, а не скорость уведомления. Таким образом, Яндекс акцентирует оперативность через IndexNow, а Google полагается на внутренние сигналы краулинга и граф сущностей.
4. Нормативы SLA и диагностическая матрица
| Параметр / Метрика | Эталон по SLA | Критическая ошибка |
|---|---|---|
| Время до переобхода (TTFB краулера) | ≤ 15 минут | > 24 часов |
| Доля успешных запросов IndexNow (HTTP 200/202) | ≥ 99% | < 90% |
| Количество ошибок 403 (ключ не найден) | 0 | > 5% от всех запросов |
5. Пошаговый инженерный протокол внедрения
- Сгенерируйте UUID-ключ и разместите его в файле /{key}.txt в корне сайта с содержимым ключа.
- Настройте серверный скрипт для отправки POST-запроса на https://yandex.com/indexnow при каждом обновлении URL.
- Включите пакетную отправку до 10 000 URL в одном запросе для снижения накладных расходов.
- Настройте логирование ответов (200, 202, 403) и мониторинг ошибок через Яндекс.Вебмастер.
- Регулярно проверяйте статус ключа и очищайте очередь от нерелевантных или удалённых страниц.
import requests
key = 'ваш-uuid-ключ'
urls = ['https://site.ru/page1', 'https://site.ru/page2']
endpoint = 'https://yandex.com/indexnow'
payload = {'host': 'site.ru', 'key': key, 'keyLocation': f'https://site.ru/{key}.txt', 'urlList': urls}
r = requests.post(endpoint, json=payload)
print(r.status_code, r.text)
6. Типичные ошибки при оптимизации
- Отправка всех URL подряд без фильтрации приводит к спам-фильтру и игнорированию запросов. Отправляйте только изменённые страницы с уникальным контентом.
- Использование одного ключа для нескольких доменов нарушает верификацию. Ключ должен быть привязан к конкретному хосту и размещён в его корне.
- Игнорирование ответа 403 (ключ не найден) останавливает индексацию. Проверяйте доступность ключевого файла и корректность заголовков.
