Шаблон robots.txt и директив сканирования

Готовые к копированию шаблоны robots.txt для самых распространённых конфигураций сайтов, а также правила, которые уберегут вас от случайной блокировки Google.

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

6 готовых вариантов

Стандартный рабочий сайт

Обычный действующий сайт, которому нужно полное сканирование плюс указатель на карту сайта.

Используйте, когда: у вас исправный рабочий сайт и вы хотите, чтобы поисковые системы свободно сканировали всё и быстро находили вашу карту сайта.

Директивы

  • User-agent: *
  • Disallow: (оставьте значение пустым, чтобы разрешить всё)
  • Sitemap: [https://example.com/sitemap.xml]

Пустой Disallow означает, что ничего не заблокировано. Строка Allow для этого не нужна; разрешение по умолчанию — это стандартное поведение.

Дополнительная гигиена

  • Disallow: [/wp-admin/] (заблокируйте реальный административный путь, если он у вас есть)
  • Allow: [/wp-admin/admin-ajax.php]

Примечание: robots.txt управляет сканированием, а не индексированием. Заблокированный URL всё равно может появиться в результатах, если на него ссылаются другие страницы. Чтобы не допустить страницу в индекс, разрешите сканирование и добавьте метатег noindex или защитите её входом в систему. Разместите файл в корне домена: [https://example.com/robots.txt].

Тестовый, dev или предстартовый сайт

Непубличная среда, которую нужно полностью держать вне поиска.

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

Директивы

  • User-agent: *
  • Disallow: /

Одна строка Disallow: / велит добросовестным роботам пропускать каждый URL на хосте. Здесь это сделано намеренно, а везде остальное опасно.

Критическое предупреждение: никогда не допускайте, чтобы эта строка попала в продакшн. Самая распространённая катастрофа с деиндексацией — это Disallow: /, скопированный из тестовой среды на действующий сайт во время развёртывания.

Более надёжная защита

  • Robots.txt — это просьба, а не замок. Недобросовестные роботы его игнорируют.
  • Добавьте HTTP-аутентификацию (имя пользователя и пароль), чтобы среда была действительно закрытой.
  • Если вы добавляете общесайтовый noindex как резерв, не блокируйте одновременно страницу через Disallow: /: заблокированная страница никогда не показывает свой тег noindex.

Примечание: если тестовый URL уже был просканирован, не полагайтесь на Disallow: /, чтобы его удалить. Блокировка URL также не даёт Google увидеть тег noindex. Временно разрешите сканирование с noindex или воспользуйтесь инструментами удаления в Search Console.

Управление сканированием для интернет-магазина

Магазин, которому нужно увести бюджет сканирования от малоценных URL.

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

Типичные блокировки

  • User-agent: *
  • Disallow: [/cart]
  • Disallow: [/checkout]
  • Disallow: [/account/]
  • Disallow: [/search] (результаты внутреннего поиска по сайту)
  • Disallow: [/*?*sort=] (параметр сортировки где угодно в строке запроса)
  • Disallow: [/*?*filter=] (фасетные фильтры)
  • Disallow: [/*.pdf$] (заблокировать любой URL, оканчивающийся на .pdf: $ фиксирует конец)

Используйте *, чтобы сопоставить любую последовательность, и $, чтобы зафиксировать конец URL. Пути чувствительны к регистру, поэтому [/Search] и [/search] — это разные правила.

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

Разрешить поисковые системы, заблокировать скраперы

Впустить крупные поисковые роботы, отвращая при этом агрессивные или нежелательные.

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

Разрешите нужные системы

  • User-agent: Googlebot
  • Disallow: (пусто)
  • User-agent: Bingbot
  • Disallow: (пусто)

Сдержите конкретного робота

  • User-agent: [BadBot]
  • Disallow: /

Каждый блок User-agent сопоставляется независимо, и бот следует самой конкретной группе, которая его называет. Оставьте в конце группу User-agent: *, чтобы неназванные боты тоже получили чёткие инструкции.

Чтобы сдержать добросовестные ИИ-роботы, назовите и их: например, User-agent: GPTBot с Disallow: /. Это останавливает только тех роботов, которые сами решают уважать robots.txt.

Проверка реальностью: robots.txt — добровольный. Благонадёжные системы его соблюдают; вредоносные скраперы и многие ИИ-роботы игнорируют его и даже могут использовать, чтобы найти названные вами пути. Для реального принуждения блокируйте по user-agent или IP на уровне сервера или файрвола, либо применяйте ограничение частоты запросов. Относитесь к robots.txt как к указанию, а не к защите.

Объявление карты сайта и нескольких карт

Направить роботов к одной или нескольким картам сайта, включая индекс карт.

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

Одна карта сайта

  • Sitemap: [https://example.com/sitemap.xml]

Несколько карт сайта

  • Sitemap: [https://example.com/sitemap-posts.xml]
  • Sitemap: [https://example.com/sitemap-products.xml]
  • Sitemap: [https://example.com/sitemap-images.xml]

Или один индекс карт сайта

  • Sitemap: [https://example.com/sitemap_index.xml]

Правила, которых стоит придерживаться:

  • Указывайте каждую карту сайта в отдельной строке. Количество строк Sitemap не ограничено, но каждый отдельный файл карты ограничен 50 000 URL и 50 МБ в распакованном виде: разбивайте более крупные сайты на несколько файлов или на индекс карт.
  • Всегда используйте полный абсолютный URL с правильным протоколом (https) и хостом.
  • Директива Sitemap не зависит от групп User-agent, поэтому размещайте её где угодно в файле.
  • Отправлять карты сайта в Search Console и Bing Webmaster Tools всё равно рекомендуется как резерв.

Контрольный список проверки перед публикацией

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

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

Проверьте каждый пункт

  1. Убедитесь, что файл находится в корне: [https://example.com/robots.txt]. Файл в подпапке игнорируется.
  2. Удостоверьтесь, что не осталось лишнего Disallow: / из тестовой среды.
  3. Проверьте регистр в каждом пути; robots.txt чувствителен к регистру.
  4. Убедитесь, что папки с CSS, JS и изображениями не заблокированы, чтобы Google мог отрисовывать страницы.
  5. Подтвердите, что каждая строка Sitemap использует полный https-URL, который возвращает 200.
  6. Следите за правилами Disallow:, более широкими, чем задумано (замыкающая косая черта имеет значение).
  7. Помните, что robots.txt не деиндексирует; сочетайте блокировки с noindex или инструментами удаления там, где нужно.
  8. Повторно тестируйте после любого обновления CMS или плагина, которое может перезаписать файл.

Финальный тест: откройте [https://example.com/robots.txt] в браузере, чтобы подтвердить, что он загружается, а затем проверьте его инструментом тестирования robots.txt до и после запуска.

Как использовать этот шаблон

  1. Создайте простой текстовый файл с именем точно robots.txt и разместите его в корне домена, чтобы он открывался по адресу https://yourdomain.com/robots.txt; файлы в подпапках игнорируются.
  2. Определите своё значение по умолчанию: оставьте Disallow пустым, чтобы разрешить полное сканирование, и добавляйте строки Disallow только для путей, которые вы действительно хотите держать вне сканирования.
  3. Группируйте правила под строкой User-agent; используйте User-agent: * для всех ботов или назовите конкретного бота, такого как Googlebot, чтобы дать ему собственную группу.
  4. Записывайте пути Disallow точно так, как они появляются в ваших URL, помня, что пути чувствительны к регистру, а замыкающая косая черта меняет то, что сопоставляется.
  5. Используйте подстановочные символы осторожно: * сопоставляет любую последовательность символов, а $ фиксирует конец URL, что полезно для блокировки параметров или типов файлов.
  6. Добавьте по одной строке Sitemap на каждую карту сайта с полными абсолютными https-URL или укажите один файл индекса карт для крупных сайтов.
  7. Проверьте файл в инструменте тестирования robots.txt и запросите несколько важных URL, чтобы подтвердить, что они по-прежнему разрешены, прежде чем публиковать.
  8. После запуска отслеживайте покрытие в Search Console и отчёт robots.txt на ошибки сканирования и перепроверяйте файл после любого обновления CMS, темы или плагина.

Советы

  • Никогда не выкладывайте Disallow: / на действующем сайте; эта единственная строка просит роботов пропускать каждый URL и является самой распространённой причиной случайной деиндексации.
  • Robots.txt управляет сканированием, а не индексированием. Чтобы удалить страницу из результатов, разрешите сканирование и добавьте тег noindex или защитите её аутентификацией, а не полагайтесь на Disallow.
  • Не блокируйте каталоги с CSS, JavaScript или изображениями; они нужны Google, чтобы отрисовывать и понимать ваши страницы, а их блокировка может навредить позициям.
  • Относитесь к robots.txt как к публичному и рекомендательному: его может прочитать любой, благонадёжные боты его соблюдают, а вредоносные роботы игнорируют, поэтому для реальной защиты используйте средства на стороне сервера.

Частые вопросы

Удаляет ли Disallow страницу из Google?

Нет. Disallow останавливает добросовестных роботов от загрузки страницы, но запрещённый URL всё равно может быть проиндексирован, если на него ссылаются другие страницы. Чтобы держать страницу вне индекса, разрешите сканирование и добавьте директиву noindex или защитите её аутентификацией.

Где должен располагаться файл robots.txt?

В корне каждого хоста, чтобы он открывался по адресу https://yourdomain.com/robots.txt. Файл robots.txt, размещённый в подпапке, игнорируется. Каждый субдомен и протокол обрабатывается отдельно, поэтому версиям https, http и www может понадобиться собственный файл.

Чувствителен ли robots.txt к регистру?

Значения путей — да. Disallow: /Folder/ и Disallow: /folder/ сопоставляют разные URL, поэтому копируйте пути точно так, как они появляются на вашем сайте. Имена директив, такие как User-agent и Disallow, не чувствительны к регистру, но важно именно соблюдение регистра ваших настоящих URL.

В чём разница между Disallow и noindex?

Disallow управляет сканированием: он просит ботов не загружать URL. Noindex управляет индексированием: он просит поисковые системы не показывать страницу в результатах. Если вы запретили страницу через Disallow, Google не видит её тег noindex, поэтому чтобы деиндексировать страницу, нужно разрешить сканирование и использовать noindex.

Как заблокировать одного бота, но разрешить остальных?

Дайте этому боту собственную группу, например User-agent: BadBot, а далее Disallow: /, и оставьте отдельную группу User-agent: * для всех остальных. Каждый бот следует самой конкретной группе, которая его называет, поэтому целевой бот заблокирован, а другие остаются разрешёнными.

Остановит ли robots.txt скраперы и ИИ-роботы?

Только тех, что сами решают ему подчиняться. Robots.txt добровольный, поэтому солидные поисковые системы его соблюдают, тогда как многие скраперы и боты полностью его игнорируют. Для реального принуждения блокируйте по user-agent или IP на уровне сервера или файрвола, либо добавьте ограничение частоты запросов и аутентификацию.