Гайд по Robots.txt: Лучшие практики для SEO-оптимизации
Раскройте потенциал robots.txt: узнайте, как использовать этот файл для блокирования ненужных URL-адресов и улучшения SEO-стратегии вашего сайта.
Правильная настройка файла robots.txt является важной составляющей любой SEO-стратегии. Ошибки в этом файле могут повлиять на то, как поисковые системы сканируют ваш сайт и как ваши страницы отображаются в результатах поиска. Однако правильная настройка позволяет повысить эффективность сканирования и избежать проблем с индексацией.
Недавно Google напомнил владельцам сайтов о важности использования robots.txt для блокировки ненужных страниц, таких как страницы добавления в корзину, вход в аккаунт или оформление заказа. Но как правильно его настроить?
В этой статье мы рассмотрим все тонкости правильного использования robots.txt.
Что такое robots.txt?
Файл robots.txt – это простой текстовый файл, который размещается в корневой директории вашего сайта и указывает поисковым работам, какие страницы следует сканировать.
Ниже приведена краткая таблица с основными директивами файла robots.txt.
| Директива | Описание |
|---|---|
| User-agent | Указывает, для какого бота используются правила. Символ * означает, что правила применяются ко всем ботам. |
| Disallow | Запрещает сканирование указанных URL-адресов. |
| Allow | Позволяет сканировать определенные URL, даже если родительская директория заблокирована. |
| Sitemap | Указывает местонахождение XML-карты сайта, помогая поисковым системам ее найти. |
Ниже приведен пример файла robots.txt из ikea.com, содержащий несколько правил.

Пример файла robots.txt из ikea.com
Важно отметить, что robots.txt не поддерживает полноценные регулярные выражения, но использует два символа замещения:
- Звездочка (*), соответствующая 0 или более символам.
- Доллар ($), указывающий на конец URL.
Кроме того, все правила в файле robots.txt чувствительны к регистру, например “filter=” не равен “Filter=.”
Приоритетность правил в robots.txt
При настройке robots.txt важно понимать, в каком порядке поисковики применяют правила в случае конфликтов. Они придерживаются двух основных принципов:
-
Наиболее специфическое правило. Правило, соответствующее большему числу символов в URL, будет приоритетным. Например:
User-agent: *Disallow: /downloads/Allow: /downloads/free/В этом случае правило "Allow: /downloads/free/" более конкретным, чем "Disallow: /downloads/", поэтому Google позволит сканирование подкаталога "/downloads/free/", но заблокирует остальные.
-
Наименее ограничительное правило. Если несколько правил одинаково специфичны, например:
User-agent: *Disallow: /downloads/Allow: /downloads/Google выберет менее ограничительное правило, то есть позволит доступ к "/downloads/."
Почему robots.txt важен для SEO?
Блокировка ненужных страниц с помощью robots.txt помогает Googlebot сосредоточиться на важных разделах сайта, а также на новых страницах. Это также уменьшает издержки вычислительных ресурсов, что способствует повышению устойчивости.
Представьте, что у вас есть интернет магазин с сотнями тысяч страниц. Существуют разделы, например страницы с фильтрами, которые могут иметь бесконечное количество вариантов.
Эти страницы не имеют уникальной ценности, содержат дублированный контент и могут создавать бесконечное пространство для сканирования, тратя ресурсы вашего сервера и Googlebot.
Здесь на помощь приходит файл robots.txt, предотвращающий сканирование таких страниц поисковиками.
Если этого не сделать, Google может попытаться сканировать бесконечное количество URL с различными (иногда несуществующими) значениями поисковых параметров, что приведет к скачкам в нагрузке и трате бюджета на сканирование.
Когда следует использовать robots.txt
Основное правило: всегда задавайтесь вопросом, имеют ли определенные страницы реальную ценность для сканирования и индексации поисковиками.
Согласно этому принципу, всегда следует блокировать:
- URL-адреса с параметрами запросов, например:
- Внутренние странички поиска.
- URL-адреса с фасетной навигацией, созданные с помощью фильтров или опций сортировки, если они не являются частью структуры URL или стратегии SEO.
- Действия, например добавление в список желаний или корзины.
- Частные разделы сайта, такие, как страницы для входа.
- JavaScript-файлы, не относящиеся к контенту или отображению сайта, например, трекинговые скрипты.
- Блокировка веб-скрейперов и чат-ботов на основе искусственного интеллекта, чтобы предотвратить использование вашего контента для их обучения.
Рассмотрим более подробно, как использовать robots.txt для каждого случая.
1. Блокировка внутренних страниц поиска
Самый распространенный и важный шаг – блокировка внутренних URL поиска от сканирования Google и другими поисковиками, поскольку почти каждый сайт имеет внутренний поиск.
На WordPress -сайтах это обычно параметр "s", и URL выглядит так:
https://www.example.com/?s=google
Гари Иллайс из Google неоднократно предостерег от сканирования подобных "action" URL, поскольку Googlebot может бесконечно сканировать их, даже несуществующие страницы с различными комбинациями параметров.
Вот пример правила, которое можно использовать в robots.txt, чтобы заблокировать следующие URL:
User-agent: *
Disallow: *s=*
- Строка
User-agent: *указывает, что правило применяется ко всем веб-сканерам, включая Googlebot, Bingbot и т.д. - Строка
Disallow: *s=*блокирует все URL, содержащие параметр запроса "s=." Символ замещения "*" означает, что он может соответствовать любой последовательности символов до или после "s=." Важно: это правило чувствительно к регистру, поэтому не блокирует URL из "S=."
Пример показывает, как вебсайт значительно снизил сканирование несуществующих внутренних URL поиска после их блокировки через robots.txt.

2. Блокировка URL с фасетной навигацией
Фасетная навигация является неотъемлемой частью каждого интернет-магазина. В некоторых случаях она может являться частью SEO-стратегии для ранжирования по общим запросам.
Например, сайт Zalando использует URL фасетной навигации для выбора цвета, чтобы ранжироваться по общим продуктам, например "серая футболка".
Однако в большинстве случаев фасетные параметры используются только для фильтрации товаров, создавая множество страниц с дублированным контентом.
Технически эти параметры мало отличаются от параметров внутреннего поиска, хотя их может быть несколько. Необходимо убедиться в том, что все они заблокированы.
Например, если у вас есть фильтры с такими параметрами, как "sortby", "color" и "price", вы можете использовать следующие правила:
User-agent: *
Disallow: *sortby=*
Disallow: *color=*
Disallow: *price=*
В зависимости от конкретной ситуации может быть больше параметров, которые необходимо добавить в этот список.
Что касается UTM-параметров?
UTM-параметры используются для отслеживания трафика.
Как отметил Джон Мюллер в своем сообщении на Reddit , не стоит волноваться из-за URL-параметров, ведущих на ваши страницы с других сайтов.

Джон Мюллер об UTM-параметрахДжон Мюллер об UTM-параметрах
Однако следует заблокировать любые случайные параметры, используемые внутри сайта, и избегать внутренних ссылок на такие страницы. Например, не следует ссылаться с ваших статей на страницы поиска с параметрами типа "https://www.example.com/?s=google".
3. Блокировка PDF-URL
Представим, что у вас есть много документов PDF, таких как инструкции к продукции, брошюры или файлы для загрузки, и вы не хотите, чтобы они сканировались поисковыми системами.
Вот простое правило для файла robots.txt, которое заблокирует доступ роботов к этим документам:
User-agent: *
Disallow: /*.pdf$
Эта строка сообщает ботам не сканировать какие-либо URL, заканчивающиеся на .pdf.
Использование символа /* позволяет правилу соответствовать любому пути на сайте. Поэтому любой URL, заканчивающийся на .pdf, будет заблокирован для сканирования.
Если у вас WordPress-сайт и вы хотите заблокировать PDF-документы из каталога загрузок, где вы их размещаете через CMS, можно воспользоваться следующим правилом:
User-agent: *
Disallow: /wp-content/uploads/*.pdf$
Allow: /wp-content/uploads/2024/09/allowed-document.pdf$
Здесь есть конфликтующие правила. В случае конфликта приоритет имеет наиболее конкретное правило, то есть последняя строка гарантирует, что только файл "allowed-document.pdf" в папке "wp-content/uploads/2024/09/" будет разрешен для сканирования.
4. Блокировка директории
Представим, что у вас есть API-эндпоинт, где обрабатываются данные, которые пользователи отправляют через форму. Вероятно, ваша форма имеет атрибут action , таких как action="/form/submissions/".
Проблема в том, что Google будет пытаться сканировать эту URL, что вам, скорее всего, не нужно. Вы можете заблокировать эти страницы от сканирования с помощью следующего правила:
User-agent: *
Disallow: /form/
Указав директорию в правиле Disallow, вы сообщаете работам не сканировать все страницы, находящиеся под этой директорией, и нет необходимости использовать символ замещения * , как в варианте "/form/*".
Обратите внимание, что всегда следует использовать относительные пути, а не абсолютные URL-адреса типа "https://www.example.com/form/" в директивах Disallow и Allow.
Будьте осторожны, чтобы избежать ошибочных правил. Например, использование /form без слеша в конце может также заблокировать страницы типа "/form-design-examples/", которую вы, возможно, хотите индексировать.
5. Блокировка URL пользовательских аккаунтов
Если у вас есть интернет-магазин, вероятно, у вас есть директории наподобие "/myaccount/", например, "/myaccount/orders/" или "/myaccount/profile/".
Главная страница "/myaccount/" может быть страницей входа, которую вы хотите, чтобы пользователи находили через поиск. Однако подстраницы могут быть не нужны для сканирования Googlebot.
Вы можете использовать правило Disallow в комбинации с Allow, чтобы заблокировать все страницы под директорией "/myaccount/", кроме самой страницы "/myaccount/":
User-agent: *
Disallow: /myaccount/
Allow: /myaccount/$
Google, соблюдая наиболее конкретные правила, заблокирует все под директорией "/myaccount/", но позволит сканирование только страницы "/myaccount/".
Вот другой пример использования правил Disallow и Allow: если ваша страница поиска находится в директории "/search/" и вы хотите, чтобы она индексировалась, но хотите заблокировать сами URL поисковых запросов:
User-agent: *
Disallow: /search/
Allow: /search/$
Таким образом, можно гибко управлять тем, какие страницы должны индексироваться, а какие оставаться скрытыми от поисковых систем.
6. Блокировка JavaScript-файлов, не связанных с рендерингом
Каждый сайт использует JavaScript, и многие из этих скриптов не имеют отношения к рендерингу контента, например скрипты для отслеживания или загрузки рекламы через AdSense.
Googlebot может сканировать и отображать содержимое сайта без этих скриптов. Поэтому их блокировка является безопасной и рекомендуемой, поскольку это снижает количество запросов и ресурсы, необходимые для обработки этих файлов.
Вот пример строки для блокировки JavaScript-файла с пикселями для отслеживания:
User-agent: *
Disallow: /assets/js/pixels.js
7. Блокировка AI-чатов и веб-скрейперов
Многие владельцы сайтов беспокоятся, что их контент используется для тренировки моделей искусственного интеллекта без их согласия, поэтому они стремятся это предотвратить.
#чатботы AI
User-agent: GPTBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: anthropic-ai
User-agent: cohere-ai
User-agent: Bytespider
User-agent: Google-Extended
User-Agent: PerplexityBot
User-agent: Applebot-Extended
User-agent: Diffbot
Disallow: /
#скрейперы
User-agent: Scrapy
User-agent: magpie-crawler
User-agent: CCBot
User-Agent: omgili
User-Agent: omgilibot
User-agent: Node/simplecrawler
Disallow: /
В этом примере каждый бот имеет свое правило, и команда "Disallow:/" запрещает им сканировать какую-либо часть сайта.
Кроме того, что это позволяет избежать использования вашего контента для обучения AI, такая блокировка помогает снизить нагрузку на сервер, минимизируя ненужное сканирование.
Чтобы понять, какие боты следует блокировать, можно проверить журналы сервера и посмотреть, какие из них перегружают ваши ресурсы. Однако помните, что robots.txt не защищает от несанкционированного доступа.
8. Указание URL-адреса карты сайта
Добавление URL карты сайта в файл robots.txt помогает поисковым системам легче находить все важные страницы на вашем сайте. Это делается с помощью специальной строки, указывающей на расположение карты сайта. Вы можете указать несколько карт сайтов, каждая из которых должна быть на отдельной строке.
Sitemap: https://www.example.com/sitemap/articles.xml
Sitemap: https://www.example.com/sitemap/news.xml
Sitemap: https://www.example.com/sitemap/video.xml
В отличие от правил Allow или Disallow, использующих относительные пути, директива Sitemap требует полного, абсолютного URL для указания местоположения карты сайта.
Убедитесь, что URL-адреса карты сайта доступны для поисковых систем и имеют правильный синтаксис, чтобы избежать ошибок.

9. Использование директивы Crawl-Delay
Директива crawl-delay в файле robots.txt задает количество секунд, которое бот должен подождать, прежде чем сканировать следующую страницу. Хотя Googlebot не поддерживает директиву crawl-delay, другие боты могут учитывать ее.
Это помогает предотвратить перегрузку сервера, контролируя частоту сканирования.
К примеру, если вы хотите, чтобы ClaudeBot сканировал ваш контент для обучения AI, но при этом не хотите перегружать сервер, можно установить задержку между запросами:
User-agent: ClaudeBot
Crawl-delay: 60
Это инструкция для ClaudeBot подождать 60 секунд между запросами при сканировании сайта.
Однако следует помнить, что не все AI-боты могут учитывать эту директиву, и в таком случае может потребоваться использование веб-файрвола для ограничения скорости их запросов.
Как устранить проблемы з robots.txt
После того, как вы создали файл robots.txt, важно проверить его на правильность синтаксиса и убедиться, что вы случайно не заблокировали важные URL-адреса.
1. Валидатор robots.txt в Google Search Console
После обновления файла robots.txt нужно убедиться, что он не содержит ошибок и не блокирует URL, которые вы хотите, чтобы сканировал поисковый робот. Это могут быть ресурсы, изображения или отдельные разделы сайта.
Выделите раздел Настройки > robots.txt и вы найдете встроенный валидатор robots.txt.
2. Парсер robots.txt от Google
Это официальный парсер от Google , который используется в Search Console.
Он требует продвинутых навыков установки и запуска на локальном компьютере. Однако его использование очень рекомендуется, поскольку позволяет проверять изменения в файле robots.txt до того, как загружать его на сервер, обеспечивая соответствие официальному парсеру Google.
Централизованное управление robots.txt
Каждый домен и субдомен должен иметь собственный файл robots.txt, поскольку Googlebot не учитывает файл robots.txt из корневого домена для субдоменов.
Это создает определенные трудности для сайтов с многочисленными субдоменами, поскольку необходимо поддерживать несколько отдельных файлов robots.txt.
Однако есть возможность разместить файл robots.txt на субдомене, например https://cdn.example.com/robots.txt, и настроить перенаправление из https://www.example.com/robots.txt на этот файл.
Также можно сделать наоборот — разместить файл только на корневом домене и настроить перенаправление с субдоменов в корневой домен.
Поисковые системы будут обрабатывать перенаправленный файл так, словно он находится на корневом домене. Такой подход позволяет централизованно управлять правилами robots.txt для главного домена и субдоменов.
Это обновляет и поддерживает файл значительно более эффективно. Иначе пришлось бы использовать отдельный файл robots.txt для каждого субдомена.
Висновок
Правильно оптимизированный файл robots.txt критически важен для эффективного управления сканированием сайта. Он позволяет поисковым работам, таким как Googlebot, сосредоточиться на важных страницах, вместо того чтобы тратить ресурсы на второстепенные.
Также блокировка AI-ботов и скрейперов с помощью robots.txt может существенно снизить нагрузку на сервер и сэкономить вычислительные ресурсы.
Всегда проверяйте изменения в файле, чтобы избежать неожиданных проблем с сканированием.
В то же время, хотя блокирование ненужных ресурсов через robots.txt может повысить эффективность сканирования, основными факторами, влияющими на бюджет сканирования, является качественный контент и скорость загрузки страниц.