Продвинутое использование robots.txt без ошибок — руководство для SEO

1 сентября 2019 года Google прекратит поддержку нескольких директив в robots.txt. В список попали: noindex, crawl-delay и nofollow. Вместо них рекомендуется использовать:

  • Мета-тег noindex, как наиболее эффективный способ удалить страницу из индекса.

  • 404 и 410 коды ответа сервера. В ряде случаев, 410 отрабатывает значительно быстрей для удаления URL из индекса.

  • Защита паролем. Страницы, требующие авторизации, также обычно удаляются из индекса (важно — именно страницы, полностью скрытые под логином, а не часть контента).

  • Временное удаление страницы из индекса с помощью инструмента в Search Console.

  • Disallow в robots.txt.

Тем не менее, robots.txt по-прежнему остаётся одним из главных файлов для SEO-специалиста. Давайте вспомним самые полезные директивы от простых, до менее очевидных.

robots.txt

Это простой текстовый файл, который содержит инструкции для поисковых краулеров — какие страницы сайта не следует посещать, где лежит наш Sitemap.xml и для каких поисковых роботов распространяются правила.

Файл размещается в корневой директории сайта. Например:

  • https://tools.pixelplus.ru/robots.txt

  • https://www.mozilla.org/robots.txt

Прежде чем начать сканирование сайта, краулеры проверяют наличие robots.txt и находят правила специфичные для их User-Agent, например Googlebot. Если таких нет — следуют общим инструкциям.

Действующие правила robots.txt

User-Agent

У каждой поисковой системы есть свои «агенты пользователя». По сути, это имя краулера, которое помогает дать определённые указания конкретному ему.

Если брать шире, то User-Agent — клиентское приложение на стороне поисковой системы, в некотором смысле имитирующее браузер или, например, мобильное устройство.

Примеры:

  • User-agent: * — символ астериск используются для обозначения сразу же всех краулеров.

  • User-agent: Yandex — основной краулер Яндекс-поиска.

  • User-agent: Google-Image — робот поиска Google по картинкам.

  • User-agent: AhrefsBot — краулер сервиса Ahrefs.

Важно: если в файле указаны правила для конкретных User-Agent, то роботы будут следовать только своим инструкциям, игнорируя общие правила.

В примере ниже краулер DuckDukcGo сможет сканировать папки сайта /api/ и /tmp/, несмотря на астериск («звёздочку»), отвечающий за инструкции всем роботам.

    User-agent: *
    Disallow: /tmp/
    Disallow: /api/

    User-agent: DuckDuckBot
    Disallow: /duckhunt/

Disallow

Директива, которая позволяет блокировать от индексации полностью весь сайт или определённые разделы.

Может быть полезно для закрытия от сканирования служебных, динамических или временных страниц (символ # отвечает за комментарии в коде и игнорируется краулерами).

    User-agent: *

    # Закрываем раздел /cms и все файлы внутри

    Disallow: /cms

    # Закрываем папку /images/resized/ (сами изображения разрешены к сканированию)

    Disallow: /api/resized/

Упростить инструкции помогают операторы:

  • * — любая последовательность символов в URL. По умолчанию к концу каждого правила, описанного в файле robots.txt, приписывается спецсимвол *.

  • $ — символ в конце URL-адреса, он используется чтобы отменить использование * на конце правила.

    User-agent: *

    # Закрываем URL, начинающиеся с /photo после домена. Например:
    #     /photos
    #     /photo/overview

    Disallow: /photo

    # Закрываем все URL, начинающиеся с /blog/ после домена и заканчивающиеся /stats/

    Disallow: /blog/*/stats$

Важно: в robots.txt не нужно закрывать JS и CSS-файлы, они понадобятся поисковым роботом для правильного отображения (рендеринга) контента.

Allow

С помощью этой директивы можно, напротив, разрешить каталог или конкретный адрес к индексации. В некоторых случаях проще запретить к сканированию весь сайт и с помощью Allow открыть нужные разделы.

    User-agent: *

    # Блокируем весь раздел /admin

    Disallow: /admin

    # Кроме файла /admin/css/style.css

    Allow: /admin/css/style.css

    # Открываем все файлы в папке /admin/js. Например:
    #     /admin/js/global.js
    #     /admin/js/ajax/update.js

    Allow: /admin/js/

Также Allow можно использовать для отдельных User-Agent.

    # Запрещаем доступ к сайту всем роботам

    User-agent: *
    Disallow: /

    # Кроме краулера Яндекса

    User-agent: Yandex
    Allow: /

Crawl-delay

Директива, теряющая актуальность в случае Goolge, но полезная для работы с другими поисковиками.

Позволяет замедлить сканирование, если сервер бывает перегружен. Устанавливает интервал времени для обхода страниц в секундах (для Яндекса). Чем выше значение, тем медленнее краулер ходит по сайту.

    User-agent: *
    Crawl-delay: 5

Несмотря на то, что Googlebot игнорирует подобные правила, настроить скорость сканирования можно в Google Search Console проекта.

Интересно, что китайский Baidu также не обращает внимание на Crawl-delay в robots.txt, а Bing воспринимает команду как «временное окно», в рамках которого BingBot будет сканировать сайт только один раз.

Важно: если установлено высокое значение Crawl-delay, убедитесь, что ваш сайт своевременно индексируется. В сутках 86 400 секунд, при Crawl-delay: 30 будет просканировано не более 2880 страниц в день, что мало для крупных сайтов.

Sitemap

Одно из ключевых применений robots.txt в SEO — указание на расположение карты сайты. Обратите внимание, используется полный URL-адрес (их может быть несколько).

    Sitemap: https://www.example.com/sitemap.xml
    Sitemap: https://www.example.com/blog-sitemap.xml

Нужно иметь в виду:

  • Директива Sitemap указывается с заглавной S.

  • Sitemap не зависит от инструкций User-Agent.

  • Нельзя использовать относительный адрес карты сайта, только полный URL.

  • Файл XML-карты сайта должен располагаться на том же домене.

Также убедитесь, что ссылка возвращает статус 200 OK без редиректов. Проверить можно с помощью инструмента, определяющего ответ сервера или анализа XML-карты сайта.

Типичный robots.txt

Ниже представлены простые и распространенные шаблоны команд для поисковых роботов.

Разрешить полный доступ

Обратите внимание, правило для Disallow в этом случае не заполняется.

    User-agent: *
    Disallow:

Полная блокировка доступа к хосту

    User-agent: *
    Disallow: /

Запрет конкретного раздела сайта

    User-agent: *
    Disallow: /admin/

Запрет сканирования определенного файла

    User-agent: *
    Disallow: /admin/my-embarrassing-photo.png

Распространенная ошибка

Установка индивидуальных правил для User-Agent без дублирования инструкций Disallow.

Как мы уже выяснили, при указании директивы User-Agent, соответствующий краулер будет следовать только тем правилам, что установлены именно для него. Не забывайте дублировать общие директивы для всех User-Agent.

В примере ниже — слегка измененный robots.txt сайта IMDB. Общие правила Disallow не будут распространяться на бот ScoutJet. А вот Crawl-delay, напротив, установлена только для него.

    # отредактированная версия robots.txt сайта IMDB

    #
    # Задержка интервала сканирования для ScouJet
    #
    
    User-agent:ScouJet
    Crawl-delay: 3
    #
    #

    #
    # Все остальные
    #

    User-agent: *
    Disallow: /tvschedule
    Disallow: /ActorSearch
    Disallow: /ActressSearch
    Disallow: /AddRecommendation
    Disallow: /ads/
    Disallow: /AlternateVersions
    Disallow: /AName
    Disallow: /Awards
    Disallow: /BAgent
    Disallow: /Ballot/

    #
    #
    Sitemap: https://www.imdb.com/sitemap_US_index.xml.gz

Противоречия директив

Общее правило — если две директивы противоречат друг другу, приоритетом пользуется та, в которой большее количество символов.

    User-agent: *

    # /admin/js/global.js разрешён к сканированию
    # /admin/js/update.js по-прежнему запрещён

    Disallow: /admin
    Allow: /admin/js/global.js

Может показаться, что файл /admin/js/global.js попадает под правило блокировки содержащего его раздела Disallow: /admin/. Тем не менее, он будет доступен для сканирования, в отличие от всех остальных файлов в каталоге.

Список распространенных User-Agent

User-Agent #
Google  
Googlebot Основной краулер Google
Googlebot-Image Робот поиска по картинкам
Bing  
Bingbot Основной краулер Bing
MSNBot Старый, но всё ещё использующийся краулер Bing
MSNBot-Media Краулер Bing для изображений
BingPreview Отдельный краулер Bing для Snapshot-изображений
Яндекс  
YandexBot Основной индексирующий бот Яндекса
YandexImages Бот Яндеса для поиска по изображениям
Baidu  
Baiduspider Главный поисковый робот Baidu
Baiduspider-image Бот Baidu для картинок
Applebot Краулер для Apple. Используется для Siri поиска и Spotlight
SEO-инструменты  
AhrefsBot Краулер сервиса Ahrefs
MJ12Bot Краулер сервиса Majestic
rogerbot Краулер сервиса MOZ
PixelTools Краулер «Пиксель Тулс»
Другое  
DuckDuckBot Бот поисковой системы DuckDuckGo

Советы по использованию операторов

Как упоминалось выше, широко применяются два оператора: * и $. С их помощью можно:

1. Заблокировать определённые типы файлов.

    User-agent: *

    # Блокируем любые файлы с расширением .json

    Disallow: /*.json$

В примере выше астериск * указывает на любые символы в названии файла, а оператор $ гарантирует, что расширение .json находится точно в конце адреса, и правило не затрагивает страницы вроде /locations.json.html (вдруг есть и такие).

2. Заблокировать URL с параметром ?, после которого следуют GET-запросы (метод передачи данных от клиента серверу).

Этот приём активно используется, если у проекта настроено ЧПУ для всех страниц и документы с GET-параметрами точно являются дублями.

    User-agent: *

    # Блокируем любые URL, содержащие символ ?

    Disallow: /*?

Заблокировать результаты поиска, но не саму страницу поиска.

    User-agent: *

    # Блокируем страницу результатов поиска

    Disallow: /search.php?query=*

Имеет ли значение регистр?

Определённо да. При указании правил Disallow / Allow, URL адреса могут быть относительными, но обязаны сохранять регистр.

    User-agent: *

    # /users разрешены для сканирования, поскольку регистр разный

    Disallow: /Users

Но сами директивы могут объявляться как с заглавной, так и с прописной: Disallow: или disallow: — без разницы. Исключение — Sitemap: всегда указывается с заглавной.

Как проверить robots.txt?

Есть множество сервисов проверки корректности файлов robots.txt, но, пожалуй, самые надёжные: Google Search Console и Яндекс.Вебмастер.

Для мониторинга изменений, как всегда, незаменим «Модуль ведения проектов»:

  • Контроль индексации на вкладке «Аудит» — динамика сканирования страниц сайта в Яндексе и Google.

  • Контроль изменений в файле robots.txt. Теперь точно не упустите, если кто-то из коллег закрыл сайт от индексации (или наоборот).

Держите свои robots.txt в порядке, и пусть в индекс попадает только необходимое!

Рейтинг новости
5 (36 оценок)

Задайте вопрос или оставьте комментарий

Читайте также

С Днём SEO-специалиста
С Днём SEO-специалиста
Команда Пиксель Тулс поздравляет SEO-специалистов с профессиональным праздником! Желаем топовых позиций, стабильного трафика и понятных апдейтов. Спасибо, что делаете интернет лучше!
28 Мая 2025
Анонс вебинара «SEO для ECOM 2025: 2 исследования + тренды + всё что нужно знать, чтобы выжать максимум»
Анонс вебинара «SEO для ECOM 2025: 2 исследования + тренды + всё что нужно знать, чтобы выжать максимум»
5 июня в 11:00 (по МСК) на YouTube-канале проведём вебинар с Дмитрием Севальневым. Обсудим: SEO мертво или нет? Тренды 2025; Какие работы дают результат, а какие нет; Кейсы. Подпишитесь, чтобы не пропустить.
23 Мая 2025
Проверка UpTime сайта стала платной
Проверка UpTime сайта стала платной
Проверка UpTime сайта теперь платная для снижения нагрузки на инфраструктуру сервиса. Включите её в настройках проекта, если она вам действительно нужна. Стоимость 1 лимит за 1 запрос (96 лимитов в сутки).
16 Мая 2025
Добавили опцию «Заменить нулевые частоты на единицы» в проекты
Добавили опцию «Заменить нулевые частоты на единицы» в проекты
Она решит проблему со скачками видимости, когда они вызваны колебаниями нулевых или близких к нулю частот. Вы сэкономите время, а ваши заказчики сэкономят нервы. Включите её в настройках проектов прямо сейчас.
21 Апреля 2025
Анонс вебинара «ROI в SEO под контролем: как не делать лишнего и получать результат»
Анонс вебинара «ROI в SEO под контролем: как не делать лишнего и получать результат»
24 апреля в 16:00 (по МСК) проведём вебинар с Дмитрием Севальневым и Александром Шестаковым. 1 часть «SEO Upgrade: автоматизация, эффективность и рост ROI», 2 часть «Как отказаться от 70% работ, которые не дают результата, и повысить ROI канала SEO для би
15 Апреля 2025
Добавили быстрое редактирование названий в группы URL
Добавили быстрое редактирование названий в группы URL
Теперь редактировать названия групп URL вы можете прямо на главной странице. А если вы всё ещё не знакомы с данным функционалом, то внутри мы оставили ссылки на видео и статьи по ним. Обязательно посмотрите их и заведите свой проект.
7 Апреля 2025
Обновление тарифов в Пиксель Тулс
Обновление тарифов в Пиксель Тулс
С 1 апреля 2025 года мы скорректируем тарифы с учётом изменений, которые произошли на рынке. Мы по-прежнему остаёмся одним из самых-самых доступных ИИ- и SEO-сервисов на рынке. Успейте продлить свой тариф до 1 апреля по старым ценам.
25 Марта 2025
Добавили сводку по нескольким проектам
Добавили сводку по нескольким проектам
Добавили в список проектов кнопку «Общая сводка». По ней вы можете посмотреть сводную аналитику сразу по нескольким проектам. Пользуйтесь, первый месяц подписки всего за 99 рублей.
21 Марта 2025

Узнайте, как увеличить SEO‑трафик сайта в 3+ раза?

Укажите домен + регион продвижения, получите текущие позиции проекта в выдаче и первые 25 рекомендаций для роста трафика и заказов.
1
Выберите ваш сайт
Укажите сайт, регион и близких вам конкурентов
2
Магия поисковой оптимизации
25 персональных рекомендаций ждут вас
3
Отслеживайте прогресс
Получайте регулярные советы, рост трафика и продаж
0%
Подбираем семантику,
это займёт около 20-30 секунд
Открыть справку Написать в поддержку
Обратная связь и помощь
Если у вас есть идеи, как улучшить данный инструмент или остались вопросы по работе с ним, напишите в нашу службу поддержки, мы обязательно вам поможем.