robots.txt, Sitemap, IndexNow и AI crawlers
Как «Матчасть» сообщает поисковикам и AI-системам о новых, обновлённых и удалённых страницах; какие разделы должны быть доступны роботам; чем crawling отличается от indexing; как организовать XML Sitemap, IndexNow, OAI-SearchBot, GPTBot, Claude-SearchBot, PerplexityBot, Google-Extended, Bing/Copilot и WAF так, чтобы максимизировать обнаружение публичного контента и не открыть административную часть сайта.
1. Главное решение
2. Crawling, indexing и ranking — разные этапы
| Этап | Что означает | Контролируем? |
|---|---|---|
| Discovery | Система узнала URL | Во многом да: ссылки, sitemap, IndexNow |
| Crawling | Робот запросил страницу | Можем разрешать/ограничивать, но не назначаем момент визита |
| Indexing | Система решила хранить/использовать страницу в индексе | Можем сделать страницу eligible, но не гарантировать включение |
| Ranking / citation | Страница показана/процитирована по конкретному запросу | Не контролируем напрямую |
3. robots.txt управляет crawling, а не секретностью
Google прямо указывает, что robots.txt в первую очередь управляет crawler traffic и не является надёжным способом скрыть web page из результатов поиска. URL, запрещённый robots.txt, всё ещё может быть обнаружен по внешним ссылкам. Яндекс аналогично предупреждает: запрещённая robots.txt страница может участвовать в поиске.
4. noindex должен быть доступен роботу
Google и Яндекс отмечают важный нюанс: если страница закрыта robots.txt, робот может не увидеть noindex внутри неё.
noindex.| Задача | Правильный механизм |
|---|---|
| Private cabinet | Authentication / authorization |
| Public URL, но не нужен в поиске | noindex, crawler должен суметь его прочитать |
| Удалён навсегда | 404/410 |
| Переехал | 301/308 |
| Снизить обход мусорных URL | Не создавать crawlable links; при необходимости robots rules |
| Спрятать секретные данные | Никогда не полагаться на robots.txt |
5. Приватная часть «Матчасти»
6. Публичные классы URL
| Класс | Crawl | Index | Sitemap | IndexNow |
|---|---|---|---|---|
| Published article/case/research/news | Allow | Indexable | Да | Publish/update/delete |
| Eligible company/expert/topic | Allow | Indexable | Да | При важных изменениях |
| Shell entity | Allow if public | Noindex | Нет | Нет |
| Internal search | Allow for noindex recognition or avoid links | Noindex | Нет | Нет |
| Facet/filter explosion | Minimize / potentially restrict crawling | Не indexable | Нет | Нет |
| Private/admin | Auth + disallow | Нет | Нет | Нет |
7. Базовый robots.txt для MVP
Файл должен оставаться коротким и понятным. Яндекс требует размещать robots.txt в корне и обрабатывать его как текстовый файл; для Яндекса размер не должен превышать 500 КБ.
8. Не закрывать публичные assets
Особенно важно для:
- hero images;
- Article images;
- logo;
- structured content rendering;
- public downloadable datasets;
- critical CSS/JS, если страница зависит от рендера.
9. Но публичный сайт должен быть HTML-first
10. Sitemap architecture
Это повторяет информационную архитектуру документа 18 и позволяет отдельно мониторить каждый page class.
11. Лимиты Sitemap
Google ограничивает один Sitemap 50 000 URL и 50 МБ в несжатом виде. Если сайт превышает лимит, используются несколько файлов и sitemap index.
12. В Sitemap только canonical URLs
| URL | В Sitemap? |
|---|---|
| Published canonical 200 | Да |
| Noindex URL | Нет |
| 301 redirect | Нет |
| 404/410 | Нет |
| Tracking URL | Нет |
| Filter result | Нет |
| Duplicate profile before merge | Нет |
13. lastmod
Google использует lastmod, если он точен. Значение должно отражать последнее значительное изменение страницы: основной контент, structured data или ссылки. Изменение copyright date значимым не считается.
14. changefreq и priority
<priority> и <changefreq> игнорируются. Для «Матчасти» не строить сложную систему генерации этих полей.15. Sitemap event rules
16. Sitemap как состояние, а не статический файл
17. Sitemap validation
В production monitor:
- HTTP 200 самого sitemap;
- валидный XML;
- каждый URL принадлежит ожидаемому host;
- нет redirects/noindex/404;
- нет duplicates;
- lastmod не находится в будущем;
- файл не превысил лимиты.
18. IndexNow: зачем он нам
Яндекс поддерживает IndexNow для автоматического уведомления о новых, изменённых и удалённых URL без ожидания очередного обычного обхода. Bing также рекомендует IndexNow и использует его для Bing/Copilot discovery.
19. IndexNow не гарантирует indexing
Яндекс прямо предупреждает: передача URL по IndexNow не гарантирует, что страница будет проиндексирована.
20. Какие события отправлять в IndexNow
| Событие | Отправлять? |
|---|---|
| Новая indexable публикация | Да |
| Существенное обновление | Да |
| URL удалён и теперь 404/410 | Да |
| URL перенесён 301/302 | Да |
| View count изменился | Нет |
| Каждый autosave draft | Нет |
| Каждые 2 минуты повторно тот же URL | Нет |
21. Яндекс: до 10 000 URL одним POST
Актуальная документация Яндекса разрешает передавать до 10 000 URL в одном IndexNow POST. При этом Яндекс не рекомендует отправлять один и тот же URL слишком часто; если повтор нужен, документация приводит интервал около 10 минут как допустимый ориентир.
22. IndexNow key
Для отправки URL Яндекс требует подтверждающий ключ, размещённый на сайте. Для subdomains Яндекс рекомендует отдельный ключ на каждый subdomain.
23. IndexNow architecture
24. IndexNow и Google
25. Bing и Copilot
Актуальные Bing Webmaster Guidelines отдельно рекомендуют:
- IndexNow;
- XML sitemap;
- crawlable internal links;
- точные freshness signals;
- понятную структуру контента.
Bing связывает качественную discovery architecture не только с Search, но и с grounding/видимостью в AI-powered search experiences, включая Copilot.
26. OpenAI: OAI-SearchBot и GPTBot — разные цели
OpenAI в актуальном FAQ для издателей разделяет два сценария:
| Robot | Цель | Для «Матчасти» |
|---|---|---|
| OAI-SearchBot | Обнаружение/использование публичных страниц для ChatGPT search summaries/snippets и ссылок | Разрешить |
| GPTBot | Контроль потенциального использования web content для обучения | Отдельное business-policy решение |
27. Рекомендуемая OpenAI policy на старте
Почему: основной продукт «Матчасти» требует search discoverability/citations, а потенциальное model training не является необходимым условием ChatGPT Search. Поэтому консервативный launch policy может разрешать SearchBot и блокировать GPTBot. Если позже появится осознанная политика лицензирования/обучения, GPTBot rule можно изменить.
28. ChatGPT referrals
OpenAI сообщает, что переходы из ChatGPT Search автоматически получают utm_source=chatgpt.com.
chatgpt.com как отдельный acquisition/referral source в analytics. Это будет одним из first-party signals AI Visibility, а не модельной оценкой.29. OAI-SearchBot и noindex
OpenAI указывает: если OAI-SearchBot заблокирован, но URL получен от стороннего search provider или через другие страницы, в ChatGPT Atlas может быть показана только ссылка и title. Если владелец не хочет и такого отображения, используется noindex; чтобы OpenAI смог прочитать noindex, crawler должен иметь доступ к странице.
30. WAF для OpenAI
OpenAI публикует стабильные IP ranges для SearchBot и рекомендует проверять не только User-Agent, но и инфраструктурные сигналы. User-Agent можно подделать.
Официальный endpoint диапазонов: https://openai.com/searchbot.json. Обновление allowlist автоматизировать периодически.
31. Не whitelist по User-Agent без IP verification
32. Anthropic: три разных робота
Anthropic в актуальном Help Center разделяет:
| Bot | Назначение | Рекомендация |
|---|---|---|
| ClaudeBot | Сбор публичного web content, потенциально используемого для model training | Можно блокировать отдельно |
| Claude-SearchBot | Поиск/индексация для улучшения search answers | Разрешить |
| Claude-User | Получение web content по запросу конкретного пользователя Claude | Разрешить для максимальной user-directed visibility |
33. Рекомендуемая Anthropic policy
Это аналогична OpenAI-модели: разрешить search/user retrieval, training crawler держать отдельным политическим решением.
34. Anthropic Crawl-delay
Anthropic сообщает, что поддерживает non-standard Crawl-delay. На старте он нам не нужен: публичный сайт и CDN должны выдерживать нормальный crawler traffic. Использовать только если реальная нагрузка в логах подтверждает проблему.
35. Perplexity
Perplexity в документации 2026 года сообщает, что PerplexityBot используется для surface/link websites в поисковых ответах и не предназначен для pre-training foundation models. Perplexity также публикует IP ranges и рекомендует сочетать User-Agent и IP verification в WAF.
36. Важный nuance Perplexity
Perplexity Help Center указывает, что при запрете PerplexityBot система не индексирует полный или частичный текст страницы через этого crawler, хотя может сохранять домен, headline и краткое factual summary. Поэтому «запретили crawler, но хотим полноценные citations» — противоречивая стратегия.
37. Perplexity WAF
Официальная документация публикует актуальные IP ranges для PerplexityBot и рекомендует периодически обновлять allowlist.
38. Googlebot и Google-Extended — разные вещи
| Token | Назначение | Влияние на Google Search |
|---|---|---|
| Googlebot | Search crawling/indexing | Да |
| Google-Extended | Publisher control для использования уже crawled content в training future Gemini models и в grounding Gemini/Vertex AI | Не влияет на inclusion/ranking в Google Search |
Google прямо пишет, что Google-Extended не является отдельным HTTP User-Agent: crawling выполняется существующими Google user agents, а Google-Extended работает как robots.txt control token.
39. Google-Extended: важный trade-off
| Policy | Плюс | Минус |
|---|---|---|
Google-Extended Allow | Максимальная потенциальная совместимость с Gemini grounding/use cases | Разрешается также соответствующее использование для future Gemini model training |
Google-Extended Disallow | Training opt-out для указанного Google use | Одновременно ограничивает указанные Google grounding use cases |
40. Рекомендация Google-Extended для «Матчасти»
Google Search останется доступным независимо от решения по Google-Extended, если Googlebot не заблокирован.
41. Bing/Copilot и robots
Для Bing/Copilot основной discovery layer — нормальный Bing crawl, Sitemap и IndexNow. Не создавать отдельную «Copilot-only» архитектуру без официальной необходимости.
42. Recommended AI/search robots policy
Это рекомендуемая launch-конфигурация «Матчасти», а не универсальная настройка для любого сайта. Перед production перепроверить официальные bot names и политику каждого провайдера.
43. Почему не блокировать все training bots автоматически
Для OpenAI и Anthropic separation достаточно ясный: search и training разнесены. Для Google Extended — нет. Кроме того, «Матчасть» должна решить собственную publisher policy: хотим ли мы запрещать потенциальное training use, разрешать его полностью или позже лицензировать отдельно.
44. AI crawler registry внутри проекта
Провайдеры меняют user agents и правила. Значит crawler policy должна быть данными/конфигом с review date.
45. Quarterly crawler review
46. WAF architecture
47. 403 и 429 — важные crawler incidents
OpenAI отдельно рекомендует проверять 403/429, firewall/CDN logs, bot mitigation и rate limits, если crawler не может получить страницу.
| Signal | Что означает |
|---|---|
| 403 verified crawler | WAF/access misconfiguration |
| 429 occasional | Rate-limit tuning |
| 5xx crawler | Origin reliability problem |
| 200 but empty content | Rendering/application problem |
| 200 + correct HTML | Access layer healthy |
48. Crawler logs — отдельный data stream
Это позволит измерять фактический crawl, а не только настройки robots.txt.
49. AI/Search crawler dashboard
50. Robots configuration test in CI
51. robots.txt deploy — критическое изменение
Disallow: / может отключить discovery всего продукта. Изменения robots.txt должны проходить code review, automated tests и monitoring.52. Robots history
Яндекс Вебмастер хранит историю изменений robots.txt; внутри «Матчасти» тоже хранить deployment history и diff.
53. Staging
54. Preview links
Client preview URL:
55. UTM и Clean-param
Яндекс поддерживает Clean-param в robots.txt для URL parameters, которые не меняют содержание страницы. Однако «Матчасть» уже строит canonical и tracking rules на application layer.
56. Sitemap + IndexNow + links работают вместе
57. RSS как дополнительный discovery channel
Google принимает RSS/Atom feed как один из sitemap-like вариантов для свежих URL, но такие feeds обычно содержат только недавний контент. Для «Матчасти» RSS полезен прежде всего как distribution interface, а XML sitemap остаётся полным inventory.
58. Publication lifecycle integration
| Lifecycle state | Discovery action |
|---|---|
| PUBLISHED | Sitemap add + IndexNow submit |
| UPDATED | lastmod + IndexNow if significant |
| ARCHIVED | Обычно остаётся sitemap/indexable, если страница ценна |
| MOVED | Old 301, new sitemap, IndexNow old+new |
| REMOVED | Remove sitemap, IndexNow deleted URL, 404/410 |
| NOINDEX | Remove sitemap, allow crawl until noindex observed |
59. Entity index eligibility integration
60. Search Console / Webmaster integrations
| Platform | Launch |
|---|---|
| Google Search Console | Обязательно |
| Yandex Webmaster | Обязательно |
| Bing Webmaster Tools | Обязательно |
| OpenAI-specific webmaster console | Нет предположений; использовать crawler logs + analytics + official bot controls |
| Perplexity/Anthropic webmaster console | Не строить зависимость от отсутствующего/неподтверждённого продукта |
61. Google crawl budget: нам пока не проблема
Google говорит, что advanced crawl-budget optimization в основном актуальна для очень больших сайтов — например, около 1 млн+ страниц с регулярными изменениями или 10 000+ URL с очень высокой ежедневной динамикой.
62. HTTP caching
Для больших сайтов Google рекомендует поддерживать HTTP caching и 304 Not Modified, чтобы экономить crawl resources. Это полезная хорошая практика, но не P0 SEO-задача MVP.
63. Crawl traps, которых нельзя допустить
| Trap | Решение |
|---|---|
| Бесконечные filters | Не делать crawlable URL graph |
| Calendar infinite navigation | Не нужен |
| Search result pages | Noindex / no public discovery |
| Tracking parameters | Canonical clean URL |
| Duplicate pagination routes | Consistent pagination |
| Random AI-generated tags | Не создавать public routes автоматически |
64. AI crawler access не должен обходить paid/private access
65. Что входит в Publication Health
66. Что измерять как факт, а что как предположение
| Метрика | Тип |
|---|---|
| IndexNow 200 response | Факт: submission accepted |
| URL in Sitemap | Факт |
| OAI-SearchBot requested URL | Факт из server log |
| Googlebot crawled URL | Факт |
| Page indexed | Observed external state |
| «IndexNow ускорил indexing на 3 дня» | Требует экспериментальных данных |
| «OAI crawl вызвал citation» | Не доказывать причинность без методологии |
67. Crawler policy и клиентские материалы
В коммерческой оферте указать:
- публичные публикации доступны стандартным поисковым/AI-search crawlers согласно policy площадки;
- клиент не управляет robots rules конкретной публикации;
- AI training policy устанавливается издателем централизованно;
- private/pre-publication material не открыт crawler’ам.
68. AI crawler policy как публичный документ
69. Change management
70. MVP implementation components
71. P0 / P1 / P2
| Приоритет | Функция |
|---|---|
| P0 | robots, sitemap, canonical consistency, index/noindex states, Google/Yandex/Bing Webmaster, IndexNow, OAI-SearchBot allow, staging protection |
| P1 | Anthropic/Perplexity explicit policies, verified bot WAF/IP updates, crawler dashboard |
| P1 | ChatGPT referral analytics by utm_source=chatgpt.com |
| P2 | Automated policy review, crawler-specific anomaly detection, advanced crawl-budget tooling |
72. Launch robots policy — рекомендуемая версия
73. Что НЕ делать
| Ошибка | Почему |
|---|---|
User-agent: * Disallow: / случайно в production | Катастрофический discovery incident |
| Закрыть noindex URL robots.txt | Crawler не увидит noindex |
| Положить drafts в sitemap | Протечка/duplicate risk |
| Отправлять весь сайт IndexNow каждый час | Бессмысленно и шумно |
| Whitelist OAI по UA без IP verification | Spoofing risk |
| Блокировать все AI bots, а потом продавать AI Visibility | Стратегическое противоречие |
| Разрешить public crawler доступ к private cabinet | Security failure |
74. Ключевой продуктовый вывод
75. Решение документа
76. Что этот документ разблокирует
Источники исследования
- Google Search Central — robots.txt controls crawling and is not a reliable deindexing mechanism
- Google Search Central — noindex must be crawlable to be read
- Google Search Central — robots meta / X-Robots-Tag
- Google Search Central — Sitemap limits, lastmod, ignored priority/changefreq
- Google Crawling Infrastructure — crawl budget guidance, 304 caching and scale thresholds
- Google Crawling Infrastructure — Google-Extended, Gemini training/grounding and no effect on Google Search ranking/inclusion
- Google Crawling Infrastructure — Google-Extended publisher controls
- Яндекс Вебмастер — robots.txt, noindex nuance, file requirements and Clean-param
- Яндекс Вебмастер — IndexNow: new/updated/deleted URL notification and no indexing guarantee
- Яндекс Вебмастер — IndexNow API: up to 10,000 URLs per POST, 404/410 and redirects supported
- Яндекс Вебмастер — IndexNow verification key and separate keys for subdomains
- Яндекс Вебмастер — Sitemap submission and processing
- OpenAI — Publishers and Developers FAQ: OAI-SearchBot, GPTBot separation, noindex nuance and utm_source=chatgpt.com referrals
- OpenAI — crawler/WAF guidance and official SearchBot IP ranges
- OpenAI — official OAI-SearchBot IP ranges
- Anthropic — ClaudeBot, Claude-User and Claude-SearchBot roles and robots controls
- Perplexity — PerplexityBot, Perplexity-User and WAF/IP guidance
- Perplexity Help Center — robots.txt policy, search indexing and no foundation-model pre-training via PerplexityBot
- Bing Webmaster Tools — IndexNow
- Bing Webmaster Guidelines — Sitemap, IndexNow, crawlable links and AI-powered search/grounding discoverability
- Bing Webmaster Tools — IndexNow strongly recommended for automated multi-engine URL notification
Recommended robots.txt, training opt-out policy, Google-Extended choice, queue architecture, crawler registry, WAF workflow, monitoring fields and P0/P1/P2 priorities are product decisions «Матчасти» based on the official crawler documentation current on 02.09.2026. Because AI crawler policies change quickly, this document requires regular revalidation and must not be treated as permanent configuration without review.