Почти в каждом материале по разработке и продвижению мы упоминаем robots.txt. Сегодня не будем упоминать, а всю статью будем рассказывать про него, про правильный robots.txt в 2021 году.
Вот так выглядит robots.txt Google. Примерно так же выглядит и robots.txt вашего сайта. По сути, это текстовый файл со списком исключений для поисковых роботов. Исключения запрещают индексировать одни разделы сайта и разрешают другие. Это необходимо, чтобы защитить конфиденциальную информацию, административные файлы или страницы, которые в силу требований SEO не должны попасть в поиск.
Инструкции
Поисковые роботы законопослушны. Они четко следуют инструкциям robots.txt и сканируют только те ссылки, которые разрешены. Инструкции в файле называются директивами, и в дальнейшем мы будем употреблять именно этот термин.
Директива User-agent для разграничения команд
Все robots.txt начинаются с user-agent. Это своеобразный маршрутизатор, который определяет адресата последующих команд. К ботам Яндекса и Гугла user-agent обращается по-разному — User-agent:Yandex и User-agent:GoogleBot, соответственно. User-agent из файла Google начинается с символа * и это значит, что дальнейшие команды относятся ко всем поисковым ботам.
Сразу отвечаем на закономерно возникающий вопрос: «Зачем указывать отдельные директивы для Яндекса и Гугла, если можно сделать универсальный список?». Поисковых ботов несколько. У одного только Гугла их семь: анализатор рекламы на десктопах и мобильных, индексатор картинок и видео, новостной сканер, бот по оценке рекламы для приложений на Android. Подставляя в user-agent имя нужного бота, можно определить список директив именно для него. Например, запретить индексацию картинок. Плюс у поисковых ботов разный подход к сканированию. Так, команду clean-param воспринимает только Яндекс и бесполезно указывать ее в блоке указаний для Гугла — не поймет.
Для больших сайтов с разными стратегиями продвижения имеет смысл прописывать директивы под конкретных ботов. Маленьким несложным ресурсам мы обычно рекомендует обращаться сразу ко всем индексаторам и использовать User-agent с символом *.
Директива disallow
Disallow — команда запрета. Она запрещает индексировать отдельные файлы, страницы или целые разделы. Обычно, disallow закрывают страницу входа в панель администрирования, документы PDF, DOC, XLS, формы регистрации, корзины, страницы с персональными данными клиентов и пр.
В robots.txt для Bitrix, например, disallow выглядит так:
User-agent: *
Disallow: /wp-admin/
Это в случае, когда мы закрываем доступ к панели управления.
Или так:
User-agent: *
Disallow: /images/
Такая комбинация запретит боту индексировать иллюстрации.
В структуре команды символ / обозначает, что нужно закрыть от индексации, а знак * боты понимают как «любой текст».
Важно! Disallow закрывает доступ поисковым роботам, но не людям, поэтому конфиденциальную информацию на сайте рекомендуем обязательно защищать аутентификацией.
Директивы allow и sitemap
Allow разрешает все, что не запрещает disallow. Это может показаться странным, ведь бот и без того может индексировать все, что не закрыто от сканирования. На самом деле allow нужна для выборочной индексации файлов или документов в закрытом разделе. Допустим, у вас есть закрытый с помощью disallow раздел для дистрибьюторов:
User-agent: *
Disallow: /distributoram/
Он будет выглядеть так, когда вы полностью закрываете индексацию раздела. Но допустим, в закрытом каталоге есть страница или файл, который имеет смысл показать пользователям. Вот тут на сцену выходит allow. Получается так:
User-agent: *
Disallow: /distributoram/
Allow: /distributoram/usloviya.html
При такой расстановке боты поймут, что из всего раздела distributoram они могут сканировать только контент страницы usloviya.html.
Sitemap одновременно и карта сайта, и директива. Про карту сайта в другой раз, а в роли директивы sitemap используется во всех случаях, когда вы хотите направить роботов на определенные разделы сайта.
Директиву sitemap поисковые боты воспринимают как указатель на приоритетные разделы, но если Яндекс понимает ее как рекомендацию, то GoogleBot как обязательное требование. Само собой, используя в robots.txt команду sitemap, саму карту в корневом каталоге необходимо поддерживать в актуальном состоянии.
Создаем и проверяем robots.txt
Для создания файла подойдет любой текстовый редактор, тот же «Блокнот». На первое место ставим адресную директиву user-agent, потом блоками вносим disallow и allow. Примеры и руководства есть у обоих поисковиков. У Яндекса в разделе «Помощь вебмастеру». У Google в Центре Google Поиска.
Чтобы прописать robots.txt на сайте, файл сохраняем в текстовом формате и загружаем в корень. После загрузки проверьте правильность установки — robots.txt должен открываться по адресу вашсайт/robots.txt. Для проверки работоспособности вставьте ссылку на сайт и код файла в специальные поля сервиса https://webmaster.yandex.ru/tools/robotstxt/ Яндекса и выберите подтвержденный ресурс в https://www.google.com/webmasters/tools/robots-testing-tool в Google.
Зачем проверять robots.txt
В случае с robots ошибки проводят к выпадению из индекса одного раздела и попаданию в выдачу другого, совершенно лишнего и абсолютно ненужного. Кроме того, поисковые системы регулярно меняют правила индексации и добавляют/убирают отдельные директивы. Так, с 22 февраля 2018 года Яндекс перестал учитывать crawl-delay, но у многих сайтов в robots.txt она до сих пор есть и SEO-менеджеры до сих пор уверены, что управляют скоростью обхода.
Держите руку на пульсе и не пренебрегайте базовыми правилами защиты сайта. Тем более, что с маленьким фалом robots.txt это совсем несложно.