Улучшайте SEO с помощью robots.txt: повышайте производительность сайта благодаря более умному управлению краулерами
Управление краулерами играет важную роль как в SEO, так и в производительности сайта. Поисковые краулеры проходят по сайту и собирают информацию, чтобы получать данные, необходимые для показа страниц в результатах поиска. Если правильно управлять поведением краулеров, можно улучшить результаты SEO и производительность сайта.
Главный инструмент для этого — robots.txt. В этой статье robots.txt подробно рассматривается от основ до практического применения, важных предосторожностей и продвинутых техник, чтобы вы действительно могли освоить его.

Глава 1: Основы robots.txt

Что такое robots.txt? Как работает управление краулерами
Robots.txt — это plain-text файл, размещаемый в корневом каталоге сайта. Он сообщает crawlers, какие части сайта можно сканировать, а какие не следует.
Когда поисковый робот переходит на сайт, он обычно сначала считывает robots.txt, а затем сканирует ресурс в соответствии с этими правилами. Файл robots.txt представляет собой рекомендацию для роботов, а не жесткую блокировку, однако крупные поисковые системы соблюдают ее. Тем не менее, поскольку вредоносные краулеры и некоторые другие боты могут игнорировать этот файл, никогда не полагайтесь исключительно на него для защиты конфиденциальных данных.
Где размещать robots.txt, формат файла и набор символов
Robots.txt должен размещаться в корневом каталоге сайта, например https://example.com/robots.txt.
Он не будет работать, если поместить его в подкаталог. Имя файла также должно быть в нижнем регистре: robots.txt.
Формат файла должен быть plain text, а кодировка UTF-8 настоятельно рекомендуется. Если использовать другую кодировку, crawlers могут неправильно интерпретировать файл.
Базовый синтаксис: User-agent, Disallow, Allow и детали правил
Robots.txt пишется с директивами вроде User-agent, Disallow и Allow. Эти директивы чувствительны к регистру и записываются по одной на строку.
- User-agent: Указывает, к какому crawler применяется правило. Можно назвать конкретный crawler или использовать * для всех crawlers. Объявляя несколько строк User-agent, можно задать разные правила для разных crawlers. Примеры:
User-agent: Googlebot,User-agent: Bingbot,User-agent: *. - Disallow: Указывает путь, который нельзя сканировать. Он записывается как относительный путь, начинающийся со слэша. Пустая строка Disallow означает, что разрешено все. Примеры:
Disallow: /private/,Disallow:. - Allow: Указывает путь, который можно сканировать. Используется, когда нужно разрешить часть области, заблокированной с помощью Disallow. В таком случае правило Allow имеет приоритет над Disallow. Пример:
Disallow: /private/иAllow: /private/public.html.
Как использовать подстановки (*) и ($): гибкое сопоставление путей и продвинутое применение
Звездочка соответствует любой строке символов. Например, Disallow: /*.pdf блокирует все PDF-файлы, а Disallow: /images/*.jpg$ блокирует только JPG-файлы в каталоге /images/.
Знак доллара соответствует концу строки. Например, Disallow: /bжурнал/$ блокирует доступ к самому каталогу /blog/, но все еще разрешает адреса вроде /blog/article1/.
Настройка Crawl-delay: снижение нагрузки на сервер и влияние на Googlebot
С помощью директивы Crawl-delay вы можете задать интервал между запросами роботов в секундах. Это может помочь при высокой нагрузке на сервер, однако робот Googlebot официально не поддерживает Crawl-delay. Ранее Google рекомендовал настраивать скорость сканирования в Search Console, но сейчас это происходит автоматически, поэтому обычно не требует особого внимания.
Поскольку Google улучшил автоматическую настройку скорости сканирования и в рамках более широкой работы по упрощению пользовательского опыта, Google прекращает поддержку инструмента ограничения скорости сканирования в Search Console.
Планируемое прекращение поддержки инструмента ограничения скорости сканирования в Search Console
На другие crawlers это все еще может влиять.
Указание Sitemap: направляем краулеры и работаем с несколькими картами сайта
С помощью директивы Sitemap можно указывать URL sitemap. Это помогает crawlers легче понимать структуру сайта и повышает эффективность сканирования. Также можно указать несколько sitemap. Примеры: Sitemap: https://example.com/sitemap.xml и Sitemap: https://example.com/sitemap_images.xml.
★ Усильте SEO: создайте удобную для Google структуру сайта с sitemap.xml
Глава 2: Практические примеры robots.txt

Защита страниц, требующих входа: Disallow: /member/
Контент, требующий входа на сайт (например, закрытые страницы для участников), как правило, должен быть закрыт от индексации поисковыми системами.
Используя robots.txt, вы можете запретить crawlers доступ к этим страницам и сократить лишнее сканирование. Например, если контент только для участников хранится в /member/, запись Disallow: /member/ блокирует доступ ко всем файлам и подкаталогам в этой области.
However, robots.txt is only a запрос to crawlers, so malicious crawlers may ignore it.
Действительно важную конфиденциальную информацию необходимо защищать с помощью авторизации на стороне сервера, а не через файл robots.txt. К robots.txt следует относиться как к вспомогательному методу ограничения доступа поисковых роботов и экономии серверных ресурсов. Во многих случаях вполне целесообразно разрешить доступ к самой странице входа, чтобы роботы понимали, что для просмотра разделов требуется аутентификация.
Управление URL с параметрами: Disallow: /*?page=*
URL с параметрами иногда делают один и тот же контент доступным по нескольким URL, что может считаться дублированным контентом. Например, если использовать параметр ?page= параметр для пагинации, вы можете получить страницы вида example.com/blog?page=1 и example.com/blog?page=2, которые имеют разные URL-адреса, но практически идентичный контент.
Записав Disallow: /*?page=*, можно заблокировать доступ ко всем URL, которые содержат параметр page=. Однако это может удалить весь пагинированный контент из поисковых систем и навредить SEO.
Более правильный подход — использовать тег canonical и указывать канонический URL-адрес. Если каждая страница пагинации указывает на основную страницу (например, example.com/blog) через тег canonical, вы сможете избежать проблем с дублированием контента и указать поисковым системам нужный адрес.
Использование robots.txt для управления пагинацией следует рассматривать как крайний вариант, когда невозможно реализовать canonical tags.
Управление конкретным краулером: User-agent: YandexBot Disallow: /
С помощью директивы User-agent можно задавать разные правила для разных crawlers. Если записать User-agent: YandexBot и затем Disallow: /, только YandexBot будет заблокирован для всего сайта. Другие crawlers будут следовать правилам, заданным в других разделах User-agent, или правилам под User-agent: *.
Типичные случаи, когда может понадобиться управлять конкретным crawler, включают следующие.
- Когда конкретный crawler создает чрезмерную нагрузку на сервер
- Когда конкретный crawler игнорирует robots.txt и вызывает проблемы
- Когда нужно скрыть региональный контент от crawlers поисковых систем, которые не используются в этом регионе
В этих и похожих случаях директива User-agent полезна. Названия основных crawlers поисковых систем можно уточнить в официальной документации каждой поисковой системы.
Глава 3: Предосторожности и распространённые ошибки в robots.txt

Robots.txt — мощный инструмент, но неправильные настройки могут иметь серьезные последствия для сайта. Эта глава объясняет распространенные ошибки и меры предосторожности, чтобы вы могли использовать robots.txt безопасно и эффективно.
3.1 SEO-ущерб от ошибок robots.txt: выпадение из поиска
Самая серьезная ошибка в robots.txt — случайно заблокировать важные страницы от сканирования.
Если вы закроете от индексации страницы товаров или услуг, эти разделы могут выпасть из поискового индекса и исчезнуть из результатов поиска. Это напрямую приведет к снижению посещаемости сайта и может нанести серьезный ущерб SEO.
Каждый раз, когда вы меняете robots.txt, используйте инструмент проверки robots.txt в Google Search Console, чтобы убедиться, что заблокированы только нужные страницы. После изменения регулярно отслеживайте позиции и трафик, чтобы заметить любые непредвиденные эффекты.
3.2 Ошибка использования Allow для страниц, которые вы хотели заблокировать
Директиву Allow следует использовать только тогда, когда нужно разрешить часть области, заблокированной с помощью Disallow. Например, если нужно заблокировать /private/, но разрешить только /private/public.html, нужно использовать и Disallow: /private/, и Allow: /private/public.html.
Использование Allow отдельно для области, которая не была запрещена через Disallow, не дает эффекта. Crawlers обычно считают любую страницу доступной, если она явно не заблокирована через Disallow.
3.3 Чувствительность к регистру: будьте особенно внимательны
User-agent, Disallow, Allow и пути URL чувствительны к регистру. Например, disallow: /images/ обрабатывается иначе, чем Disallow: /images/, и не будет работать как задумано.
При написании robots.txt всегда используйте правильный регистр и внимательно проверяйте опечатки.
3.4 Различия в поведении crawlers: работа с вредоносными crawlers
Robots.txt работает с добросовестными crawlers, такими как Googlebot и Bingbot, но вредоносные crawlers могут полностью его игнорировать. Это означает, что один robots.txt не может защитить конфиденциальную информацию.
Действительно конфиденциальную информацию нужно защищать серверной аутентификацией или ограничениями доступа. Важно понимать, что robots.txt — это только инструмент для управления добросовестными crawlers и как мера безопасности его недостаточно.
3.5 Один robots.txt не обеспечивает безопасность
Как отмечено выше, robots.txt недостаточен как мера безопасности. Любой может прочитать содержимое файла robots.txt, поэтому злоумышленники могут использовать его как подсказку для поиска закрытых областей.
Настоящая безопасность требует комплексного подхода, сочетающего различные методы, включая защиту паролем, списки контроля доступа (ACL) и межсетевые экраны (файрволы), а не только файл robots.txt.
3.6 Неожиданное поведение из-за чрезмерного использования wildcards
Wildcards вроде * и $ делают сопоставление путей гибче, но при чрезмерном использовании могут заблокировать страницы, которые вы не собирались блокировать. Например, Disallow: /*image* заблокирует не только директорию /images/, но и такие URL-адреса, как /article/my-image.jpg.
При использовании wildcards внимательно проверяйте весь диапазон их действия и убедитесь, что вы не блокируете страницы случайно.
3.7 Кэширование robots.txt: задержки перед отражением изменений
Поисковые системы кэшируют файл robots.txt, поэтому изменения не всегда вступают в силу мгновенно. Даже если проверить его с помощью инструмента тестирования сразу после редактирования, результат может основываться на старой версии файла.
В Google Search Console вы можете запросить повторный обход файла robots.txt с помощью соответствующего инструмента проверки. Это позволяет сократить время до обновления кэша и вступления ваших изменений в силу.
Следуя этим мерам предосторожности и правильно настраивая robots.txt, вы можете улучшить SEO и избежать ненужных рисков.
Глава 4: инструменты создания robots.txt и методы проверки

Эта глава объясняет, как эффективно создавать, тестировать и исправлять robots.txt. Следуя этим шагам, можно предотвратить непреднамеренные ошибки и максимально повысить производительность сайта.
4.1 Использование инструментов создания robots.txt
Robots.txt можно написать вручную, но онлайн-инструменты позволяют сделать это быстрее и с меньшим количеством ошибок. Эти инструменты автоматически генерируют файл robots.txt после ввода необходимых директив, что помогает сократить синтаксические ошибки и ошибки правил.
К типичным инструментам относятся следующие.
- Тестер robots.txt в Google Search Console: Встроенный инструмент Search Console, который может создавать, редактировать и тестировать robots.txt. Если вы уже используете Search Console, это часто самый простой выбор.
- Инструменты проверки SEO: Некоторые SEO-инструменты включают функции генерации robots.txt. Поскольку их можно использовать вместе с другими SEO-функциями, они удобны при более широкой оптимизации сайта.
- Другие онлайн-генераторы robots.txt: Если вы поищете в интернете генератор robots.txt, вы найдете много бесплатных инструментов. Они отлично подходят для создания простого файла robots.txt.
Какой инструмент лучше, зависит от ваших потребностей и размера сайта.
4.2 Проверка robots.txt в Google Search Console
После создания robots.txt его нужно протестировать, чтобы убедиться, что crawlers интерпретируют его правильно. Google Search Console предоставляет инструмент проверки robots.txt, который может показать, доступен ли конкретный URL для сканирования и есть ли ошибки в файле.
Процесс проверки выглядит так.
- Откройте Google Search Console и выберите ресурс целевого сайта.
- Выберите тестер robots.txt в меню слева.
- Введите URL, который хотите проверить, и нажмите кнопку Test.
- Проверьте, доступен ли URL-адрес для сканирования и какое именно правило к нему применяется.
Каждый раз, когда вы меняете robots.txt, используйте этот инструмент и убедитесь, что файл работает именно так, как задумано.
4.3 Проверка и исправление файла robots.txt
Поскольку robots.txt размещается в корневой директории сайта, его можно открыть прямо в браузере, просмотреть содержимое и при необходимости отредактировать. Например, при переходе по ссылке https://example.com/robots.txt отобразится содержимое этого файла.
При исправлениях откройте robots.txt в текстовом редакторе, внесите необходимые изменения и загрузите его на сервер. Поскольку поисковым системам нужно обновить кэш, может пройти некоторое время, прежде чем изменения отразятся.
Тестер robots.txt в Google Search Console позволяет редактировать и проверять одновременно, что упрощает итерации исправлений и проверки.
Следуя этим шагам, вы можете поддерживать robots.txt в оптимальном состоянии и улучшать как SEO, так и производительность сайта.
Глава 5: управление crawlers за пределами robots.txt

Отличия от meta robots tag и как использовать каждый вариант
Тег meta robots используется для управления поисковыми роботами на уровне отдельных страниц. В сочетании с robots.txt он обеспечивает более точный контроль. Директива noindex указывает поисковым системам не индексировать страницу, а nofollow предписывает не переходить по ссылкам. Если добавить noindex на страницу, которая также закрыта от сканирования в robots.txt, в некоторых случаях это может помочь удалить уже проиндексированную страницу из результатов поиска.
Использование вместе с noindex и nofollow
Можно указать несколько директив через запятую, например noindex,follow.
Управление через HTTP-заголовок X-Robots-Tag
Используя X-Robots-Tag в заголовке ответа HTTP, вы также можете управлять сканированием не-HTML файлов, таких как PDF-документы и изображения. Для этого требуется настройка на стороне сервера.
Итог
Robots.txt — незаменимый инструмент и для SEO, и для производительности сайта.
Поняв принципы, описанные в этой статье, и правильно настроив robots.txt, вы сможете раскрыть весь потенциал вашего сайта. Важно следить за обновлениями и регулярно оптимизировать этот файл.
Приложение: примеры robots.txt, включая продвинутые
- Разрешить только определенные типы файлов для конкретного crawler:
User-agent: Googlebot-Image Allow: /images/*.jpg Allow: /images/*.png Disallow: / User-agent: * Disallow: /images/
- Замедлить доступ для конкретного crawler:
User-agent: AhrefsBot Crawl-delay: 10 User-agent: * Allow: /
Используйте эти продвинутые шаблоны, чтобы оптимизировать сайт и приблизить его к успеху.