Что такое IndexNow: уведомляйте поисковые системы при публикации контента
Отправляйте обновленные URL-адреса в поисковые системы после развертывания.
Статические сайты и блоги меняются при каждой деплойке. Поисковые системы, поддерживающие IndexNow, могут узнать об этих изменениях, не дожидаясь следующего слепого сканирования.
Эта страница объясняет, почему это важно, что делает протокол и как интегрировать его в реальный рабочий процесс, включая шаблоны, которые вы можете переиспользовать в своей автоматизации или в небольшом Go-клиенте.

Зачем использовать IndexNow на статическом или Hugo-сайте
Если вы разворачиваете Hugo в S3 или аналогичное хранилище, вы уже отправляете HTML-файлы и sitemap.xml. Роботы поисковых систем в конце концов прочитают карту сайта, но вы не контролируете время. После миграции или добавления пачки новых публикаций для вас важнее свежая индексация, чем «где-то на следующей неделе».
IndexNow — это канал push. Вы отправляете POST-запрос со списком канонических URL, которые вас интересуют. Участвующие поисковые системы (включая Microsoft Bing и другие, перечисленные на indexnow.org) могут приоритизировать запрос этих URL. Это не заменяет правильные редиректы или внутреннюю структуру ссылок, но замыкает цикл между git push и осведомленностью поисковой системы.
Что делает IndexNow
На высоком уровне каждое представление представляет собой HTTPS POST с JSON, который концептуально выглядит так:
host— хостнейм вашего сайта (например,www.example.com)key— ваш заранее сгенерированный секретный ключkeyLocation(опционально) — полный URL файла проверки, если он не находится по умолчаниюurlList— один или несколько абсолютных URL на этом хосте, о которых вы хотите сообщить
Поисковые системы отвергают запросы с неверными ключами, неправильными хостами или искаженными полезными данными. Успешный ответ обычно имеет статус HTTP 200 или 202 в зависимости от конечной точки.
Полные правила и список партнеров можно найти на официальном сайте. Важная ментальная модель — доказательство владения доменом через текстовый файл плюс явный список URL, а не ключевые слова или содержимое страниц.
Как подготовить ваш сайт
Файл ключа и хостнейм
- Выберите ключ — длинная случайная строка (относитесь к ней как к секрету).
- Опубликуйте
https://your-domain/<key>.txt, содержащий только ключ в теле файла (одна строка). - Используйте тот же ключ в вашей CLI или автоматизации при отправке POST-запроса.
- Отправляйте только URL на этом хосте, которые вы хотите пересканировать (новые посты, обновленные страницы или цели редиректов).
После того, как вы переместили множество URL одновременно, вы можете захотеть отправить групповое уведомление путей. IndexNow принимает несколько URL в одном запросе с учетом лимитов каждой поисковой системы.
Способы отправки URL
- Ручной POST — подходит для отладки, используйте
curlс JSON. - Плагины — некоторые CMS и панели хостинга включают переключатели IndexNow.
- Скрипт развертывания — после выполнения
hugoи загрузки вызовите небольшую утилиту со списком измененных URL или URL вашей карты сайта.
Для рабочего процесса Hugo естественными триггерами являются «после сборки» или «после синхронизации с bucket». Передавайте полные HTTPS URL, соответствующие вашему рабочему сайту, включая www или апекс, если это то, что вы обслуживаете.
Небольшой Go-клиент (опционально)
Возможности, которые можно реализовать
Минимальная командная утилита на Go хорошо подходит для IndexNow, так как полезная нагрузка представляет собой небольшой JSON POST, и её можно интегрировать в скрипты развертывания. Типичный дизайн включает:
- Один или несколько URL в качестве позиционных аргументов
--sitemapдля полученияsitemap.xmlи отправки каждого<loc>(с опциональным--limit)- Несколько поисковых систем параллельно через
--engines(например,indexnowдля глобального агрегатора или конечные точки конкретных провайдеров) - Флаги или переменные окружения, такие как
INDEXNOW_KEY,INDEXNOW_WEBSITE_URLиINDEXNOW_ENGINES - Подробный вывод с флагом
-vдля отладки ответов 403 или 422
Скомпилируйте с помощью go build или go install, установите бинарный файл в ваш PATH, затем вызовите его после публикации:
indexnow --key YOUR_KEY --website https://www.example.com https://www.example.com/new-post/
Для полной перезагрузки сайта после развертывания можно передать --sitemap с URL вашей публичной карты сайта. Задокументируйте коды ответов и списки поисковых систем в своем README и сохраните фрагмент оболочки publish-then-index рядом с тем, что запускает развертывание статического сайта.
Пост Лучшие LLM для OpenCode — протестировано локально использовал «реализовать notifier IndexNow на Go» в качестве кодовой контрольной точки — полезно, если вы хотите увидеть, как разные модели справляются со спецификацией и структурированными задачами.
Практические советы
- Предпочитайте целевую поисковую систему
indexnow, когда вы хотите, чтобы одна отправка рассылалась через общую инфраструктуру (см. searchengines.json и зеркальте этот список в своем клиенте, если вы поддерживаете несколько конечных точек). - 429 означает замедлить темп. 403 обычно означает несоответствие ключа или хоста. Сначала исправьте расположение файла ключа или хостнейм.
- IndexNow не заменяет 301 редиректы, когда вы переименовываете пути. Уведомляйте после того, как редиректы станут активными.
См. также
- Веб-инфраструктура — полный кластер для развертывания статических сайтов и индексации
- Лучшие LLM для OpenCode — протестировано локально — включает реальную кодовую контрольную точку вокруг этого протокола
- Развертывание сайта Hugo в AWS S3 — поток развертывания, где подходят пост-публикационные хуки
- Официальный протокол — indexnow.org