Содержание:
- Что такое файл robots.txt?
- Терминология файла robots.txt
- Общие правила составления robots.txt
- Файл robots.txt по типам сайтов
- Готовые шаблоны файла robots.txt для популярных CMS
- Популярные файлы robots.txt под задачи
- Популярные вопросы про файл robots.txt
- В заключение
Любой владелец многостраничного сайта заинтересован в получении трафика из поисковых систем, как рекламного, так и органического. Чтобы сайт по запросу пользователей выходил в выдаче Google и Яндекс (не важно топ 3, топ 10 или топ 100) необходимо, чтобы сайт прошел индексацию поисковыми системами. Индексация сайта - это процесс "сканирования" сайта поисковыми "роботами" в результате чего они получают информацию о всех его страниц и имеющемся на нем контенте.
На любом сайте есть не только контент для пользователей, но и различные системные файлы, которые не должны попадать в индексацию и соответственно в выдачу. Когда поисковый робот начинает сканировать сайт, для него нет разницы, системный перед ним файл или нет — он просканирует все. При этом на посещение сайта у поискового робота отведено ограниченное количество времени, поэтому важно, чтобы он проиндексировал именно нужные нам страницы. Иначе робот посчитает сайт бесполезным и позиции сайта могут в итоге снизиться в поисковой выдаче.
Со стороны владельца сайта можно повлиять на процесс сканирования сайта, прописывая определенные правила для поисковых роботов. Для того, чтобы поисковые роботы проиндексировали только необходимые для нас страницы, обязательно нужно создавать файл robots.txt с набором правил и фильтров.
Что такое файл robots.txt?
Файл robots.txt – это текстовый файл в формате .txt, который размещается в корневой папке сайта и содержит инструкции по обходу страниц, которые необходимо исключить из индексации поисковых систем.
Для сайта https://discript.ru/ путь размещения следующий: https://discript.ru/robots.txt
В нем есть своя структура, правила, и в целом он в некотором роде выполняет функцию «фильтра». Говоря проще, именно при помощи robots.txt мы указываем, какие страницы сайта робот должен сканировать, а какие – нет.
Источник справка Google: https://developers.google.com/search/docs/crawling-indexing/robots/intro?hl=ru
Для чего нужен файл robots.txt?
Когда поисковый робот (краулер / паук) заходит на сайт, то в первую очередь он ищет именно этот файл.
При этом пауки в любом случае могут обойти страницы сайта — независимо от того, есть ли на нем robots.txt или нет. Просто если файл robots.txt есть, то роботы с высокой вероятностью будут следовать правилам, прописанным в файле.
А если он есть, но при этом неправильно настроен, то сайт и вовсе может выпасть из поиска или просто не будет проиндексирован.
Файл robots позволяет исключить из индекса:
- Мусорные страницы.
- Дубли страниц.
- Служебные страницы.
Правильная настройка файла robots.txt позволяет сохранить крауленговый бюджет и повысить частоту сканирования нужных разделов.
К тому же вы можете запретить сканирование дополнительных файлов, таких как:
- Дубли изображений в сжатом формате.
- Дополнительные стили сайта.
- Скрипты.
Но данные элементы следует запрещать к сканированию аккуратно, т.к. данное действие не должно мешать поисковым системам интерпретировать контент.
Нюансы при использовании файла robots.txt
Обратите внимание, что при работе с файлом robots.txt есть свои нюансы:
- Правила используемые в robots.txt не всегда интерпретируются всеми поисковыми системами одинаково.
Например, директива "Clean-param" считается ошибкой при интерпретации Google. - Для поисковых роботов правила являются рекомендациями и не всегда роботы следуют им.
- Если страница закрыта в файле robots.txt, но при этом на данную страницу есть ссылки, то Google может добавить такую страницу в индекс. И для удаления подобной страницы из поисковой выдачи требуются другие инструменты.
Терминология файла robots.txt
В файле robots.txt основная работа происходит с Директивами и Директориями, важно не запутаться и понимать отличия между терминами:
Директория — это папка, в которой находятся файлы вашей системы управления.
Директива — это список команд, инструкции в robots.txt для одного или нескольких поисковых роботов при помощи которых производится управление индексацией сайта. В файле robots.txt используются 5 директив.
Директивы в robots.txt
5 директив используемых в robots.txt:
- User-agent
- Disallow
- Аllow
- Sitemap
- Clean-param
А так же:
- Маски
- Комментарии
Существует 2 устаревших директивы:
- Host
- Crawl-delay
Директива User-agent
User-agent — это директива для определения, какому поисковому боту необходимо выполнять указанные инструкции.
Все поисковые роботы начинают обработку robots.txt с проверки записи User-agent и определения подходящих инструкций работы с сайтом.
Примеры User-agent в robots.txt:
# Указывает директивы для всех роботов одновременно
User-agent: *
# Указывает директивы для всех роботов Яндекса
User-agent: Yandex
# Указывает директивы для всех роботов Google
User-agent: Googlebot
Через robots.txt можно обратиться не только к главному роботу поисковой системы, но и к вспомогательным роботам, например, в Яндексе есть робот, который индексирует изображения: YandexImages или робот, который индексирует видео: YandexVideo.
Существует мнение, что роботы лучше индексируют сайт, если к ним обращаться напрямую, а не через общую инструкцию, но с точки зрения синтаксиса разницы нет никакой.
Если в директиве User-agent указать конкретного робота, то учитывать правила общего назначения (User-agent: *) указанный робот не будет.
Кроме того, в robots.txt не имеет значения регистр символов. То есть одинаково правильно будет записать: User-agent: Googlebot или User-agent: googlebot.
Таким образом, директива User-agent указывает только на робота (или на всех сразу), а уже после нее должна идти команда или команды с непосредственным указанием команд для выбранного робота.
Директива Disallow
Disallow — запрещающая директива. Она запрещает поисковому роботу обход каталогов, адресов или файлов сайта. Данная директива является наиболее используемой. Путь к тем файлам, каталогам или адресам, которые не нужно индексировать, прописываются после слеша "/".
Рассмотрим несколько примеров
Как в robots.txt запретить индексацию сайта:
User-agent: * # - Инструкции для всех роботов.
Disallow: / # - Закрыты от индексации все страницы сайта.
Как robots.txt запретить индексацию папки wp-includes для всех роботов:
User-agent: * # - Инструкции для всех роботов.
Disallow: /wp-includes # - Закрыт от индексации раздел wp-includes.
А вот если вам, например, нужно запретить индексирование всех страниц с результатами поиска только от робота Яндекс, то в файле robots.txt прописывается следующее правило:
User-agent: Yandex # - Инструкции для бота Yandex.
Disallow: /search # - Закрыт от индексации раздел search.
Директива Disallow допускает работу с масками, которые позволяют производить операции с группой файлов и папок.
Директива Allow
Allow — разрешающая директива, логически противоположная директиве Disallow. То есть она принудительно открывает для индексирования указанные каталоги, файлы, адреса. Директива имеет синтаксис, сходный с Disallow.
Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:
User-agent: * # - Инструкции для всех роботов.
Disallow: / # - Закрыты от индексации все страницы сайта.
Allow: /blog # - Открыт для индексирования раздел blog.
Если же необходимо разрешить индексировать все страницы, в адресе которых присутствует вхождение blog, то следует использовать конструкцию:
User-agent: * # - Инструкции для всех роботов.
Disallow: / # - Закрыт от индексации все страницы сайта.
Allow: /*blog # - Открыт для индексирования любые страницы с вхождением blog в URL.
Иногда директивы Allow и Disallow используются в паре. Это может понадобиться для того, чтобы открыть роботу доступ к подкаталогу, который расположен в каталоге с запрещенным доступом.
Алгоритм интерпретации директив Allow и Disallow
Когда бот определяет свои инструкции по User-agent, то встает вопрос, по какому алгоритму интерпретировать правила. Ведь одно правило, может противоречить другому. Или например, нужно открыть для индексирования вложенный раздел, но корневой закрыть от индексации.
Роботы интерпретируют robots.txt последовательно сортируя инструкции по длине URL от короткого к длинному. При этом если длина правила совпадает для Allow и Disallow, то более приоритетное правилом является Allow.
Рассмотрим механизм на примере:
Вам необходимо, чтобы раздел /catalog/mebel/divan/ индексировался роботом, а раздел /catalog/mebel/ был закрыть от роботов.
При этом Вы имеете следующий файл robots.txt
User-agent: *
Disallow: /catalog/avto/
Allow: /catalog/mebel/divan/
Disallow: /catalog/test/
Allow: /
Disallow: /catalog/mebel/
То робот информацию прочитает так:
User-agent: * # - Инструкции для всех роботов.
Allow: / # - Сайт доступен для индексации
Disallow: /catalog/avto/ # - Раздел /catalog/avto/ закрыт для индексирования.
Disallow: /catalog/test/ # - Раздел /catalog/test/ закрыт для индексирования.
Disallow: /catalog/mebel/ # - Раздел /catalog/mebel/ закрыт для индексирования.
Allow: /catalog/mebel/divan/ # - Раздел /catalog/mebel/divan/ доступен для индексирования, при этом раздел /catalog/mebel/ и другие подразделы данного каталога закрыты от индексирования.
Зная, как боты интерпретируют правила из robots.txt дает больше возможностей по составлению правил для индексирования сайта.
Пустые Allow и Disallow
Если в файле robots.txt присутствуют пустые Allow и Disallow, то роботы интерпретируют их так:
Пустой Disallow — соответствует директиве Allow: /, т.е. разрешает индексировать весь сайт.
Пустой Allow — не интерпретируется роботом.
Директива Sitemap
Sitemap — директива указывающая ссылку на карту сайта: sitemap.xml. Данная директива позволяет боту быстрее найти файл sitemap.xml.
Robots.txt с указанием адреса карты сайта:
User-agent: * # - Инструкции для всех роботов.
Disallow: /page # - Закрыт от индексации раздел page.
Sitemap: http://www.site.ru/sitemap.xml
В файле robots.txt допускается использование нескольких директив Sitemap
User-agent: * Disallow: /page
Sitemap: http://www.site.ru/sitemap_1.xml
Sitemap: http://www.site.ru/sitemap_2.xml
Директиву Sitemap можно размещать с отступом в строку от других директив. Что в свою очередь значит, что данная директива не привязывается к определенному User-agent и достаточно указать 1 раз в файле robots.
Примеры допустимого использования директивы:
User-agent: *
Disallow: /page
Sitemap: http://www.site.ru/sitemap.xml
Второй вариант:
User-agent: *
Disallow: /page
User-agent: Google
Disallow: /
User-agent: Yandex
Allow: /
Sitemap: http://www.site.ru/sitemap.xml
Директива Clean-param
Clean-param — директива позволяет исключить из индексации страницы с динамическими get-параметрами. Такие страницы могут отдавать одинаковое содержимое, имея различные URL (например, UTM). Данная директива позволяет сэкономить крауленговый бюджет за счёт исключения из индексирования страниц дублей. Clean-param интерпретирует только Яндекс, роботы Google на данную директиву выдадут ошибку.
Директива Clean-param применима только для Яндекса (Google выдаст ошибку), поэтому без особой надобности её использовать не рекомендуется.
Примечания:
- Иногда для закрытия таких страниц используется директива Disallow. В некоторых случаях рекомендуем использовать Clean-param, так как эта директива позволяет передавать основному URL или сайту некоторые накопленные показатели, например ссылочные.
- Директива Clean-Param может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.
- Директива имеет ограничение на 500 символов. Если требуется больше символов, то необходимо использовать несколько директив Clean-Param.
Рекомендации к применению:
- При использовании UTM-меток
- Дубли генерируемые get-параметрами
- При использовании идентификаторов в get-параметрах.
Синтаксис директивы Clean-param:
Clean-param: parm1&parm2&parm3 [Путь]
Через & указаны параметры, которые необходимо не учитывать,
[Путь] - адрес, для которого применяется инструкция. Если данного параметра нет, то применяется ко всем страницам на сайте.
В директиве Clean-param допускается использовать регулярные выражения, но с ограничениями.
При использовании регулярных выражений необходимо использовать следующие символы: a-z0-9.-/*_.
Рассмотрим на примере страницы со следующим URL:
- www.site.ru/page.htm
- www.site.ru/page.html?&parm1=1&parm2=2&parm3=3
- www.site.ru/page.html?&parm1=1&parm4=4
Данные страницы являются дублями и имеют одинаковый контент. Поэтому нам необходимо с помощью директивы Clean-param удалить из индексирования страницы с параметрами:
- parm1
- parm2
- parm3
- parm4
Ограничение учета параметров только для раздела /page
User-agent: *
Disallow: /catalog
Clean-param: parm1&parm2&parm3&parm4 /page # Исключить параметры parm1, parm2, parm3, parm4 и только для page.html
Ограничение учета параметров только для всего сайта
User-agent: *
Disallow: /catalog
Clean-param: parm1&parm2&parm3&parm4 # Исключить параметры parm1, parm2, parm3, parm4 на всех страницах сайта.
Пример использования регулярных выражений. Ограничение учета параметров для страниц в URL, у которых есть вхождение page.
User-agent: *
Disallow: /catalog
Clean-param: parm1&parm2&parm3&parm4 /*page # Исключить параметры parm1, parm2, parm3, parm4 для всех страниц содержащих вхождение в URL page.
Директива Host
Host — директива указывающая поисковым роботам Яндекса главное зеркало ресурса.
Директива Host перестала учитываться поисковой системой Яндекс в марте 2018 года. (В Google никогда не учитывалась). Данную директиву можно удалить из файла, но на зеркалах необходимо настроить 301-редирект. Подробнее по ссылке: https://yandex.ru/blog/platon/pereezd-sayta-posle-otkaza-ot-direktivy-host
Данная директива применялась для проектов, где доступ к сайту осуществляется по нескольким адресам.
Например, сайт мог быть доступен по следующим адресам:
- site.ru
- www.site.ru
- old.site.ru
- site.com
Но контент на данных страницах полностью дублировался.
Пример файла robots с директивой Host:
User-agent: Yandex
Disallow: /page
Host: site.ru # Указание основного зеркала сайта
Директива Crawl-delay
Crawl-delay — директива позволяющая задать скорость обхода страниц поисковым ботам для вашего ресурса. Данная директива учитывались только Яндексом. На текущий момент не поддерживается совсем.
Директиву Crawl-delay с 22 февраля 2018 года Яндекс перестал учитывать. Подробнее по ссылке https://yandex.ru/support/webmaster/robot-workings/crawl-delay.html
Если необходимо указать скорость обхода для поискового бота используйте панель вебмастера https://yandex.ru/support/webmaster/service/crawl-rate.html#crawl-rate
Комментарии в файле robots.txt
Комментарии в robots.txt — поясняющие заметки, которые не интерпретируются роботами и позволяют пользователю получить уточнения по работе директив.
Комментарии пишутся после символа решетки "#" и действуют до конца строки.
Комментарии упрощают работу и помогают быстрее сориентироваться в файле. В комментарии добавляют актуальную и полезную информацию, например, ссылку на партнерку:
Некоторые вебмастера добавляют в комментариях к robots.txt рекламные тексты.
В комментариях robots.txt можно прописать все, что угодно, однако идеальный комментарий— это тот, в котором мало строк, но много смысла.
Маски в robots.txt: для чего нужны и как правильно использовать
Маска в robots.txt — это условная запись, в которую входят названия целой группы папок или файлов. Маски используются для того, чтобы одновременно совершать операции над несколькими файлами (или папками) и обозначаются спецсимволом-звездочкой — "*".
На самом деле, использование масок не только упрощает работу, оно зачастую просто необходимо. Предположим, у вас на сайте есть список файлов в папке /documents/. Среди этих файлов есть презентации в формате .pdf, и вы не хотите, чтобы их сканировал робот. Значит эти файлы нужно исключить из поиска.
Как это сделать? Можно перечислить все файлы формата .pdf вручную:
- Disallow: /documents/admin.pdf
- Disallow: /documents/town.pdf
- Disallow: /documents/leto.pdf
- Disallow: /documents/sity.pdf
- Disallow: /documents/europe.pdf
- Disallow: /documents/s-112.pdf
Но если таких файлов сотни, то указывать их придется очень долго, поэтому куда быстрее просто указать маску *.pdf, которая скроет все файлы в формате pdf в рамках одной директивы:
- Disallow: /documents/*.pdf
Специальный символ "*", который используется при создании масок, обозначает любую последовательность символов, в том числе и пробел.
Пример использования маски.
User-agent: *
Disallow: /
Disallow: *.pdf # - Закрыты от сканирования все файлы pdf.
Disallow: admin*.pdf # - Закрыты от сканирования файлы pdf из раздела admin.
Disallow: a*m.pdf # - Закрыты от сканирования файлы pdf из разделов начинающихся на a и m перед расширением файла .pdf.
Disallow: /img/*.* # - Закрыты от сканирования все элементы в папке img.
Allow: /*blog # - Открыты для индексирования любые страницы с вхождением blog в URL.
Общие правила составления robots.txt
Очень важно грамотно работать с файлом robots.txt, иначе можно собственноручно отправить на индексацию документы, которые индексировать не планировалось.
- наличие файла robots.txt на сайте;
- в правильном ли месте он расположен;
- грамотно ли он составлен;
- насколько он работоспособен, т.е. доступны ли указанные в нем документы для индексации.
Файл robots.txt должен располагаться исключительно в корневой папке сайта, т.е. он должен быть доступен по адресу site.ru/robots.txt.
Не допускается наличие вложений, например, site.ru/page/robots.txt. Если файл robots.txt располагается не в корне сайта (и у него другой URL), то роботы поисковых систем его не увидят и будут индексировать все страницы сайта.
При этом важно помнить, что файл robots.txt привязан к адресу домена вплоть до протокола. То есть для http и https требуется 2 разных robots.txt, даже если затем адреса совпадают. Также один и тот же файл нельзя использовать для субдоменов (хостов) и других портов.
Один robots.txt действителен для всех файлов во всех подкаталогах, которые относятся к одному хосту, протоколу и номеру порта.
Корректность файла robots.txt можно оценить, проверив его по следующим пунктам:
- Один файл robots.txt.Файл должен быть один для каждого сайта и называться он должен robots.txt.
- robots.txt отсутствует или он закрыт от индексирования (Disallow: /);
- Размещение robots.txt в корне сайта. Файл robots.txt должен располагаться в корневой папке сайта. Если он расположен в другом месте, то роботы его не увидят и будут индексировать весь сайт (включая файлы, которые индексировать не нужно).
- Заглавные буквы в названии не используются.
Неверно:
site.ru/RoBoTs.txt
Верно:
site.ru/robots.txt
-
Запрещено использовать кириллицу в директориях robots.txt. Чтобы указывать названия кириллических доменов, нужно использовать Punycode для их преображения. Адреса сайтов также указывают в кодировке UTF-8, включающей коды символов ASCII.
Для перевода кирилического URL используйте инструмент: https://www.punycoder.com
Неверно:
User-agent: Yandex
Disallow: /корзина
Sitemap: сайт123.рф/sitemap.xmlВерно:
User-agent: Yandex
Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
Sitemap: http://xn--80aswg.xn--p1ai/sitemap.xml -
Инструкции пишутся отдельно для каждого робота, т.е. в директиве User Agent не допускается никаких перечислений. Если хотите назначить правила для всех роботов, то необходимо использовать User-agent: *. В файле robots.txt знак «*» — это любое число любых символов;
Неверно:
User-agent: Yandex, Google, Mail
Disallow: /Верно:
User-agent: Yandex
Disallow: /
User-agent: Google
Disallow: /
User-agent: Mail
Disallow: /
-
Есть несколько правил для одного агента, например, несколько правил "User-agent: Yandex". В правильно составленном файле такое правило может быть только одно.
Неверно:
User-agent: Yandex
Disallow: /
User-agent: Yandex
Disallow: /catalog
User-agent: Yandex
Disallow: /testВерно:
User-agent: Yandex
Disallow: /
Disallow: /catalog
Disallow: /test -
Каждая директива должна начинаться с новой строки;
Неверно:
User-agent: *
Disallow: /catalog Disallow: /new Allow: /testВерно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test -
1 директива = 1 параметр, т.е. например, Disallow: /admin, и никаких Disallow: /admin /manage и т.д. в одной строчке;
Неверно:
User-agent: *
Disallow: /catalog /new /testВерно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test -
В начало строки не ставится пробел;
Неверно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /testВерно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test -
Параметр директивы должен быть прописан в одну строку;
Неверно:
User-agent: *
Disallow: /catalog_
new_cat
Disallow: /new
Allow: /test
Верно:
User-agent: *
Disallow: /catalog_new_cat
Disallow: /new
Allow: /test -
Параметры директивы не нужно добавлять в кавычки, также они не требуют закрывающих точки с запятой;
Неверно:
User-agent: *
Disallow: "/catalog_new_cat"
Disallow: /new;
Allow: /testВерно:
User-agent: *
Disallow: /catalog_new_cat
Disallow: /new
Allow: /test -
Комментарии допускаются после знака #;
Неверно:
User-agent: *
# Этот комментарий заставит игнорировать строчку Disallow: /catalog_new_cat
Disallow: /new
Allow: /testВерно:
User-agent: *
Disallow: /catalog_new_cat # Этот комментарий заставит учитывать строку
Disallow: /new
Allow: /test -
Перед правилом отсутствует директива User-agent. Любое правило в robots.txt всегда начинается с User-agent.
Неверно:
Disallow: /catalog
Disallow: /new
Allow: /testВерно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test -
Пустые строки между директивами. Правильная настройка robots.txt запрещает наличие пустых строк между директивами «User-agent», «Disallow» и директивами, следующими за «Disallow» в рамках текущего «User-agent».
Неверно:
User-agent: Yandex
Disallow: /
User-agent: Google
Disallow: /catalog
User-agent: Mail
Disallow: /testUser-agent: Yandex
Disallow: /User-agent: Yandex
Disallow: /
Disallow: /catalog
Disallow: /testВерно:
User-agent: Yandex
Disallow: /
User-agent: Google
Disallow: /catalog
User-agent: Mail
Disallow: /testUser-agent: Yandex
Disallow: /
Disallow: /catalog
Disallow: /test -
Некорректные адреса. Например, путь к файлу Sitemap должен указываться полностью, включая протокол.
Неверно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test
sitemap: /sitemapВерно:
User-agent: *
Disallow: /catalog
Disallow: /new
Allow: /test
sitemap: https://site.ru/sitemap.xml - Слишком большой (более 32Кб), недоступный по каким-либо причинам или пустой robots.txt будет трактоваться как полностью разрешающий;
- В robots.txt допускается использовать более 2048 директивы (команд).
- Максимальная длина одного правила — 1024 символа. Но такая ошибка встречается довольно редко.
- Некорректный тип контента. Должен быть: text/plain.
Ошибка, когда на уровне хостинга robots.txt имеет кодировку HTML:
Проверить тип контента можно на сайте https://bertal.ru/
Четкое соблюдение вышеописанных правил при создании и настройке файла robots.txt имеет огромное значение. Незамеченный или пропущенный слэш, звездочка или запятая могут привести к тому, что сайт закроется от индексации полностью. То есть даже незначительная разница в синтаксисе приводит к существенным отличиям в функционале.
Создание robots.txt
Файл robots.txt нужно разместить в корневой папке, то есть в той, которая называется так же, как и ваш движок и содержит в себе индексный файл index.html и файлы системы управления, на базе которой и сделан сайт.
Чтобы загрузить в эту папку файл robots.txt можно использовать панель управления сервером, админку в CMS, Total Commander или другие способы.
Ручное создание robots.txt
Чтобы самостоятельно создать файл robots.txt не потребуется никаких дополнительных программ. Достаточно будет любого текстового редактора, например, стандартного блокнота, notepade++, Microsoft Word и другие текстовые редакторы.
Чтобы создать robots.txt просто сохраните файл под таким именем и с расширением .txt., и уже после этого вносите в него все необходимые инструкции в зависимости от стоящих перед вами задач.
На некоторых движках уже есть встроенная функция, которая позволяет создать robots.txt. Если у вас ее нет, то можно использовать специальные модули или плагины. Но в целом, нет никакой разницы, каким именно способом вы создадите robots.txt.
Онлайн создание файла robots.txt
В случае, когда у вас не один, а несколько сайтов, и создание файлов robots.txt будет занимать долгое время, можно воспользоваться онлайн-сервисами, которые генерируют robots.txt. автоматически. Но учтите, что такие файлы могут требовать ручной корректировки, поэтому все равно нужно понимать правила их составления и знать особенности синтаксиса.
Для составления robots.txt можете воспользоваться нашим инструментом: http://tools.discript.ru/robots-check/. Он позволяет выгрузить robots.txt, как с вашего сайта, так и загрузить готовый шаблон для CMS и скорректировать уже под Ваши задачи.
Далее в статье также можно найти готовые шаблоны robots.txt.
Как проверить robots.txt
Проверить, насколько правильно составлен robots.txt, можно при помощи:
Инструмента http://tools.discript.ru/robots-check/.
С его помощью вы можете проверить свой файл и внести в него корректировки в режиме онлайн. Для этого укажите URL страницы в соответствующем поле. Инструмент покажет, допущены ли ошибки в обновленной версии. Также вы можете использовать подготовленные шаблоны файлов robots.txt для наиболее популярных CMS, в которых уже указаны все основные условия.
Инструмент позволяет скачать итоговый файл и сразу разместить его на сайте.
Проверки в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml
Здесь анализируется каждая строка содержимого поля "текст robots.txt" и директивы, которые он содержит. Здесь также можно увидеть, какие страницы открыты для индексации, а какие — закрыты.
Проверки в Google: https://www.google.com/webmasters/tools/robots-testing-tool
Здесь можно проверить, содержится ли в файле запрет на сканирование роботом Googlebot определенных адресов на ресурсе:
Проверка с помощью Google Robots.txt Parser и Matcher Library
В 2019 году Google представил доступ к своему парсеру. Скачать его можно с GitHab по ссылке https://github.com/google/robotstxt
Данная библиотека используется Google для парсинга файла robots.txt. Если Вы хотите получать файл, способом, как это делает Google, то можете воспользоваться библиотекой запустив её у себя.
Другие особенности работы с robots.txt
-
Страницы, закрытые с помощью файла robots.txt, могут быть проиндексированы в Google. Например, когда на них ведет много внутренних и внешних ссылок.
В таком случае в панели Google Search Console можно видеть такой отчет:По этому вопросу в Google справочнике указано:
Файл robots.txt не предназначен для блокировки показа веб-страниц в результатах поиска. Если на других сайтах есть ссылки на вашу страницу, содержащие ее описание, то она все равно может быть проиндексирована, даже если роботу Googlebot запрещено ее посещать. Если файл robots.txt запрещает роботу Googlebot обрабатывать веб-страницу, она все равно может показываться в Google, но связанный с ней результат поиска может не содержать описания и выглядеть следующим образом:
Источник: https://support.google.com/webmasters/answer/6062608?hl=ru
Поэтому, чтобы закрыть от индексирования страницы, которые содержат конфиденциальную информацию, нужно использовать более надежные методы: не только robots.txt, но и html-теги.
Если нужно закрыть внутри зоны документ, то устанавливается следующий код:
— запрещено индексировать содержимое и переходить по ссылкам на странице;
Или (полная альтернатива):
Такие теги показывают роботам, что страницу не нужно показывать в результатах поиска, а также не нужно переходить по ссылкам на ней.
Однако при использовании только мета-тега краулинговый бюджет будет расходоваться намного быстрее, поэтому лучше всего применять комбинированный способ. Он, к тому же, с большим приоритетом выполняется поисковыми роботами.
-
Для изображений настройка robots.txt выглядит следующим образом:
Чтобы скрыть определенное изображение от робота Google Картинок
User-agent: Googlebot-Image
Disallow: /images/dogs.jpg
Чтобы скрыть все изображения с вашего сайта от робота Картинок
User-agent: Googlebot-Image
Disallow: /
Чтобы запретить сканирование всех файлов определенного типа (в данном случае GIF)
User-agent: Googlebot
Disallow: /*.gif$
Файл robots.txt важен для продвижения, потому что дает поисковикам указания, которые напрямую влияют на результативность работы сайта. Например, в нем можно установить запрет на индексацию «мусорных» или некачественных страниц, закрыть страницу с доступом в административную панель, страницы с приватными данными, дублирующие документы и т.д.
-
Рекомендуется закрывать от индексации следующие страницы:
- страницы входа в CMS-систему вида «/bitrix», «/login», «/admin», «/administrator», «/wp-admin».
- служебные папки вида «cgi-bin», «wp-icnludes», «cache», «backup»
- страницы авторизации, смены пароля, оформления заказа: «basket&step=», «register=», «change_password=», «logout=».
- результаты поиска «search», «poisk».
- версию для печати вида: «_print», «version=print» и аналогичные.
- страницы совершения действия вида «?action=ADD2BASKET», «?action=BUY».
- разделы с дублированным и неуникальным контентом, скажем, RSS-фиды: «feed», «rss», «wp-feed».
Если на сайте есть ссылки на страницы, которые закрыты в файле robots.txt, то рекомендуется убрать эти ссылки, чтобы не передавать на них статический вес.
Наиболее часто дублями страниц, попавшими в индекс, являются документы с неопределенными в БД GET-параметрами. Примерами таких параметров являются UTM-метки (и прочие метки рекламных кампаний). Если на сайте не настроен rel="canonical", то потенциальные данные дубли лучше закрывать от индексации.
Список наиболее частых параметров:
- openstat
- from
- gclid
- utm_source
- utm_medium
- utm_campaign
- utm_прочие
- yclid
Следует помнить, что GET параметры могут идти после знака «?», либо после знака «&» (если их более одного). Поэтому для закрытия GET параметров необходимо для каждого знака указывать отдельное правило:
- Disallow: *?register=*
- Disallow: *®ister=*
Либо не указывать ни один из данных знаков (не самый лучший вариант для коротких GET параметров т.к. они могут быть частью более длинных вариантов. Например, GET параметр id входит в GET параметр page_id):
- Disallow: *register=*
Пример закрытия таких страниц:
- Disallow: *openstat=*
- Disallow: *from=*
- Disallow: *gclid=*
- Disallow: *?utm_*
- Disallow: *&utm_*
- Disallow: *yclid=*
Пример закрытия всех GET параметров главной страницы:
- Disallow: /?*
Также для закрытия страниц с неопределенными GET параметрами можно сделать следующее: закрыть на сайте все GET параметры, принудительно открыв при этом нужные GET параметры.
Но нужно осторожно использовать данный метод, чтобы случайно не закрыть важные страницы на сайте.
Пример использования:
Disallow: /*?* # закрываем все страницы с GET параметрами
Allow: /*?page=* # открываем для сканирования страницы пагинации
# дополнительно можно закрыть страницы пагинации, которые содержат два GET параметра
Disallow: /*?*&page=*
Disallow: /*?page=*&*
Используя сервис Screaming Frog Seo Spider можно также определить, какие еще страницы необходимо закрыть от индексации. Часто такие страницы можно найти с помощью дублей тегов и мета-тегов. Найти их помогут фильтры по дублям title/h1/description.
Также можно выгрузить проиндексированные страницы в Яндекс.Вебмастер и проверить, какие еще из них стоит исключить из индекса:
- Одним из требований поисковиков Google и Yandex является открытие для индексации файлов JavaScript и CSS, так как они используются ими для анализа удобства сайта и его ранжирования.
Определить весь список ресурсов, которые нужно открыть для индексации, можно при помощи Google Search Console.
Для этого указываем URL для сканирования:
Далее нажимаем на ссылку "Изучить просканированную страницу"
Переходим на вкладку "Скриншот" и нажимаем на "Проверить страницу на сайте":
Получаем результаты:
- Как видит страницу Google.
- Какие элементы JS/CSS и др. не подгрузились
И ресурсы, требующие внимания
Файл robots.txt по типам сайтов
Рассмотрим различные файлы robots.txt по типам сайтов от Landing Page до интернет-магазинов.
Файл robots.txt для Landing Page
Файл robots.txt для Landing Page рассмотрели в рамках отдельной статьи: https://discript.ru/blog/kak-nastroit-robots-txt-dla-lendinga/
Оптимизация файла для Landing Page отличается от любого другой сайта, тем что он запрещает индексирование любых разделов, кроме главной страницы. При этом файлы CSS-стилей и JS-кода остаются доступными для роботов.
User-agent: *
Allow: /images/
Disallow: /js/
Disallow: /css/
User-agent: Googlebot
Allow: /
User-agent: Yandex
Allow: /images/
Disallow: /js/
Disallow: /css/
Файл robots.txt для интернет-магазина
При составлении файла robots.txt необходимо понимать, что у интернет-магазина встречается функционал, который не встречается у других типов сайтов (информационные, сайты услуг).
К такому функционалу интернет-магазина можно отнести:
- Страницы с результатами поиска (чтобы избежать дубли страниц);
- Страницы меток и тегов;
- Страницы сортировок товаров;
- Страницы фильтров товаров;
- Страницы корзины;
- Страницы оформления заказов;
- Страницы личных кабинетов;
- Страницы входа;
- Страницы регистрации.
Часто такие разделы могут формировать мусорные страницы и страницы дубли. По этому такие страницы у интернет-магазина рекомендуется закрывать в файле robots.txt. Напомним, что в индексе необходимо оставить страницы полезные для пользователей.
Для составления файла robots.txt для интернет-магазина необходимо учитывать структуру вашего проекта и сделать анализ на ошибки и мусорные страницы.
Но мы подготовили для Вас шаблоны на основе популярных CMS. Обычно интернет-магазины создаются на Bitrix, OpenCart, WordPress, MODx. Вы можете использовать подходящий шаблон под вашу CMS и доработать файл под нюансы вашего проекта.
Готовые шаблоны файла robots.txt для популярных CMS
Предлагаем готовые файлы robots.txt для различных CMS
Файл robots.txt для WordPress
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /cgi-bin
Disallow: /*?
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Disallow: *?attachment_id=
Disallow: */page/
Allow: */uploads
Allow: /wp-*.js
Allow: /wp-*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-*.svg
Allow: /wp-*.pdf
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для 1С-Битрикс
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /*index.php$
Disallow: /admin/
Disallow: /bitrix/
Disallow: /cgi-bin/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?
Disallow: /*&print=
Disallow: /*?print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*action=*
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*back_url=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*course_id=
Disallow: /*pagen_*
Disallow: /*page_*
Disallow: /*showall
Disallow: /*show_all=
Disallow: /*clear_cache=
Disallow: /*order_by
Disallow: /*sort=
Allow: /map/
Allow: /bitrix/components/
Allow: /bitrix/cache/
Allow: /bitrix/*.js
Allow: /bitrix/templates/
Allow: /bitrix/panel/
Allow: /bitrix/*.css
Allow: /bitrix/images/
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для OpenCart
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=vDisallow: /*?page=
Disallow: /*&page=
Disallow: /index.php?route=product/manufacturer
Disallow: /index.php?route=product/compare
Disallow: /index.php?route=product/category
Disallow: /*compare-productsvDisallow: /*search
Disallow: /*cart
Disallow: /*checkout
Disallow: /*login
Disallow: /*logout
Disallow: /*vouchersvDisallow: /*wishlist
Disallow: /*my-account
Disallow: /*order-history
Disallow: /*newsletter
Disallow: /*return-add
Disallow: /*forgot-password
Disallow: /*downloads
Disallow: /*returns
Disallow: /*transactions
Disallow: /*create-account
Disallow: /*recurring
Disallow: /*address-book
Disallow: /*reward-points
Disallow: /*affiliate-forgot-password
Disallow: /*create-affiliate-account
Disallow: /*affiliate-loginvDisallow: /*affiliates
Allow: /catalog/view/javascript/
Allow: /catalog/view/theme/*/
Allow: /image/
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для MODx
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Disallow: /mgr/
Disallow: /index.php
Disallow: /*?
Allow: /*.js
Allow: /*.css
Allow: /images/
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для Diafan
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /m/
Disallow: *?
Disallow: /news/rss/
Disallow: /cart/
Disallow: /search/
Allow: /image/
Allow: /*.js
Allow: /*.css
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для Drupal
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
Disallow: /database/
Disallow: /sites/
Disallow: /updates/
Disallow: /profile
Disallow: /profile/*
Disallow: /index.php
Disallow: /changelog.txt
Disallow: /cron.php
Disallow: /install.mysql.txt
Disallow: /install.pgsql.txt
Disallow: /install.php
Disallow: /install.txt
Disallow: /license.txt
Disallow: /maintainers.txt
Disallow: /update.php
Disallow: /upgrade.txt
Disallow: /xmlrpc.php
Disallow: /admin/
Disallow: /comment/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /filter/tips/
Disallow: /node/add/
Disallow: /search/
Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /user/logout/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/
Disallow: /your-votes
Disallow: /comments/recent
Disallow: /?q=admin/
Disallow: /?q=comment/
Disallow: /?q=filter/tips/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=user/logout/
Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/
Disallow: /taxonomy/term/*/0$
Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$
Disallow: /*downloadpipe
Disallow: /node$
Disallow: /node/*/track$
Disallow: /*&
Disallow: /*%
Disallow: /*?page=0
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: *register*
Disallow: *login*
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Disallow: /*?
Allow: /*?page=
Allow: /images/
Allow: /*.js
Allow: /*.css
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для NetCat
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=vDisallow: /*?page=
Disallow: /*&page=
Disallow: /index.php?route=product/manufacturer
Disallow: /index.php?route=product/compare
Disallow: /index.php?route=product/category
Disallow: /*compare-productsvDisallow: /*search
Disallow: /*cart
Disallow: /*checkout
Disallow: /*login
Disallow: /*logout
Disallow: /*vouchersvDisallow: /*wishlist
Disallow: /*my-account
Disallow: /*order-history
Disallow: /*newsletter
Disallow: /*return-add
Disallow: /*forgot-password
Disallow: /*downloads
Disallow: /*returns
Disallow: /*transactions
Disallow: /*create-account
Disallow: /*recurring
Disallow: /*address-book
Disallow: /*reward-points
Disallow: /*affiliate-forgot-password
Disallow: /*create-affiliate-account
Disallow: /*affiliate-loginvDisallow: /*affiliates
Allow: /catalog/view/javascript/
Allow: /catalog/view/theme/*/
Allow: /image/
Sitemap: http://site.ru/sitemap.xml
Файл robots.txt для Joomla
Ссылка на готовый файл robots.txt.
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Disallow: /templates
Disallow: *catid
Disallow: *0&idvDisallow: *id
Disallow: /finvil/
Disallow: /index.php*
Disallow: /index2.php*
Disallow: /index.html
Disallow: /application.php
Disallow: /component/
Disallow: /*mailto/
Disallow: /*.pdf
Disallow: /*print=
Disallow: /*tag
Disallow: /*%
Disallow: /search*
Disallow: /*start
Disallow: /*=atom
Disallow: /*=rss
Disallow: /*print=1
Disallow: /*?
Disallow: /*&
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
Allow: /index.php?option=com_xmap&view=xml&id=1
Allow: /images/
Allow: /templates/*.css
Allow: /templates/*.jsvAllow: /media/*.pngAllow: /media/*.js
Allow: /modules/*.css
Allow: /modules/*.js
Sitemap: http://site.ru/sitemap.xml
Популярные файлы robots.txt под задачи
Закрыть от индексации полностью сайт в robots.txt
User-agent: *
Disallow: /
Закрыть от индексации все страницы кроме главной в robots.txt
User-agent: *
Disallow: /
Allow: /$
Закрыть одну страницу в robots.txt
User-agent: *
Disallow: /URL # где URL ваша страница
Пример robots.txt для Яндекса
User-agent: Yandex
Disallow: /URL # где URL ваша страница
Пример robots.txt для Google
User-agent: Google
Disallow: /URL # где URL ваша страница
Пример robots.txt для всех поисковиков
User-agent: *
Disallow: /URL # где URL ваша страница
Популярные вопросы про файл robots.txt
Как создать файл robots txt для сайта в онлайн?
Для быстрого создания файла воспользуйтесь инструментом https://tools.discript.ru/robots-check/ он позволит быстро сгенерировать подходящий файл для вашего сайта.
Как проверить robots.txt онлайн?
Для быстрой проверки сайта Вы можете воспользоваться следующими инструментами:
Если Вам необходимо изучить файл robots конкурентов, то можете воспользоваться инструментом https://tools.discript.ru/robots-check/ или перейти по адресу site.ru/robots.txt, где site.ru сайт файл, которого ходите изучить.
Как проверить закрыт ли сайт от индексации?
Для быстрой проверки, закрыта ли страницы от индексации Вы можете воспользоваться инструментом https://tools.discript.ru/robots/, для этого достаточно указал URL, который хотите проверить.
Что делать если "Нет используемых роботом файлов sitemap"?
Данная ошибка появляется в панели Яндекс Вебмастера. Чтобы помочь Яндексу найти файл sitemap, вы можете его указать в панели Вебмастера.
Или добавить в файле директиву sitemap, как это сделать читайте тут
Как проверить есть ли robots.txt на сайте?
Чтобы проверить есть ли на сайте файл robots.txt достаточно перейти по адресу site.ru/robots.txt, где site.ru сайт файл, которого ходите изучить. Если открылся файл robots.txt, то он присутствует на проверяемом сайте.
Как удалить цифры по маске в robots.txt?
User-agent: *
Disallow: *0
Disallow: *1
Disallow: *2
Disallow: *3
Disallow: *0
Disallow: *5
Disallow: *6
Disallow: *7
Disallow: *8
Disallow: *9
Как производить экранирование символов в robots.txt?
Спецификация robots.txt не допускает использования регулярных выражений. В url допустимы только * и &.
В заключение
Таким образом при работе с robots.txt необходимо знать:
- Правила составления и расположения файла;
- Функции отдельных директив и способы их применения;
- Рекомендации по закрытию определенных страниц;
- Инструменты для проверки robots.txt: http://tools.discript.ru/robots-check/, а также инструменты Яндекс и Google.
Важно помнить, что проверка robots.txt — один из первых этапов создания любого проекта, и от того, насколько точно она будет проведена, может зависеть конечный результат работы.
В следующей статье мы поговорим о терминологии, применяемой при работе над скоростью загрузки.