Файл robots.txt (индексный файл) – это документ в формате .txt, где указываются инструкции к индексированию веб-сайта/его страниц/разделов и прочих материалов для поисковых роботов. Проще говоря, он включает команды, дающие рекомендации роботам касательно того, какие материалы веб-ресурса можно скачивать и вносить в индекс, а какие – нет.
Индексный файл имеет кодировку UTF-8, и он работает с протоколами http, https и FTP. Robots размещают в корне сайта. Он представляет собой стандартный текстовый документ. А чтобы получить к нему доступ, достаточно перейти по адресу:
http://название_вашего_сайта.ru/robots.txt.
Какие функции выполняет robots.txt?
Он играет важнейшую роль в оптимизации проекта. Если вы не позаботитесь о создании данного файла, то без него нагрузка на сайт со стороны роботов может быть колоссальной. Еще это приведет к очень медленной индексации, а если неправильно настроить документ, то вы и вовсе рискуете потерять ресурс из поисковой выдачи, из-за чего пользователи просто не смогут найти его ни в одной системе.
А также применяя robots.txt, вы можете попросить ботов не сканировать:
- служебные страницы, где находится конфиденциальная информация о посетителях сайта;
- страницы, где указываются поисковые результаты;
- зеркала;
- страницы с разными формами отправки контента.
Очевидно, что без индексного файла вы позволите отправить в поисковую выдачу документы, которые нужно обязательно скрыть от индексирования, потому что в них нет контента, который нес бы хоть какую-то пользу для потенциальных посетителей. А это непременно плохо скажется на вашем ресурсе.
На заметку. Файл robots.txt носит рекомендательный характер для поисковых систем, и если в этом файле вы прописали команду, запрещающую сканировать определенную страницу, имеющую внешнюю ссылку с постороннего ресурса или на самом сайте, она с большой вероятностью все равно может проиндексироваться.
Правильное создание и редактирование robots.txt
Как вы уже поняли, файл robots является обычным документом в формате .txt. Чтобы его создать, не понадобится никаких посторонних программ. Достаточно иметь стандартный Блокнот, который есть на любом компьютере. Создайте новый документ и пропишите в нем соответствующие правила для поисковых роботов (о них мы поговорим немного позже). Затем сохраните его, назвав robots.
Когда создадите файл, скиньте его в корень веб-ресурса при помощи FTP-клиента. Чтобы проверить, получилось ли у вас закачать файл, перейдите по адресу:
название_вашего_сайта.ru/robots.txt.
Сделав все верно, браузер отобразит полное содержание robots.txt.
При необходимости документ можно редактировать, соблюдая определенные правила. Главное, что стоит делать после любого обновления – загружать на сервер измененную версию robots.txt.
Как настроить
Важно не допустить попадания в поисковую выдачу личных данных посетителей сайта. Поэтому следует внимательно настраивать robots. Но учтите – боты не всегда выполняют команды, прописанные в документе, хотя Google и Яндекс зачастую следуют указанным инструкциям.
Для более ясного понимания того, как работает индексный файл, чтобы затем грамотно его использовать, нужно ознакомиться с директивами – инструкциями для роботов.
Директива User-agent
Это основное правило, где вы указываете конкретное имя робота поисковика, для которого и пишутся дальнейшие инструкции. User-agent для всех поисковых ботов выглядит так:
User-agent: *
Желая прописать указания для всех ботов определенной поисковой системы, к примеру, Яндекса, нужна директива:
User-agent: Yandex
А для Google:
User-agent: Googlebot
Сегодня насчитывается больше 300 имен роботов, и найти в интернете весь список не составит труда.
Disallow и Allow
В Disallow прописываются правила, позволяющие роботам понять, какие именно файлы, разделы, страницы и прочие данные нельзя вносить в поиск.
Прописав это правило, вы запретите поисковым машинам обрабатывать все материалы на ресурсе:
User-agent: * Disallow: /
Обычно это требуется тогда, когда вы только создали сайт и дорабатываете его, не желая, чтобы он висел в результатах запросов в незаконченном виде. Не забудьте убрать данную рекомендацию, когда приведете сайт к итоговому виду, потому что многие сайтостроители, как ни странно, забывают это сделать, а затем подолгу ожидают, когда их сайт проиндексируется.
А вот такую команду пропишите, если желаете, допустим, скрыть от ботов Яндекса все страницы, начинающиеся с /cgi-bin:
User-agent: Yandex Disallow: /cgi-bin
Инструкция Allow применима в тех случаях, когда необходимо открыть ботам доступ к сайту или его разделам. Запретить скачивать всю информацию с ресурса, помимо документов, начинающихся с /cgi-bin, можно правилом:
User-agent: Googlebot Allow: /cgi-bin Disallow: /
Важно! Никогда не оставляйте пустые строки между User-agent, Allow и Disallow.
Совместное размещение директив
Контролируйте, чтобы разные инструкции, которые вы прописываете вместе, были правильно упорядочены. Allow и Disallow расставляются от меньшей к большей длине префикса URL, и применяются последовательно. В случае, когда определенной странице соответствует не одна, а сразу несколько правил, боты делают выбор в пользу той, которая находится последней в списке.
Прописав правило:
User-agent: * Allow: /blog/page Disallow: /blog
Вы блокируете от поисковиков все страницы /blog, однако допускаете сканировать документы, размещенные по пути /blog/page. Но отсортирована команда неправильно. Нужно полностью скрыть сначала раздел, а потом открыть некоторые его страницы:
User-agent: * Disallow: /blog Allow: /blog/page
Вот еще один robots.txt с верной последовательностью разных директив, используемых в совокупности:
User-agent: * Allow: / Disallow: /blog Allow: /blog/page
Для индекса всеми поисковиками открыты все документы, кроме /blog, но также доступны для сканирования страницы данного раздела, размещенные в /blog/page.
На заметку. Если две конфликтующие директивы имеют префиксы аналогичной длины, то на первом месте всегда будет находиться Allow.
Allow и Disallow без параметров
Здесь значение будет учитываться так:
User-agent: * Disallow:
– аналогично команде Allow: / (разрешить обрабатывать всю информацию на ресурсе).
User-agent: * Allow:
– то же, что и Disallow: / (закрыть весь сайт от индексирования).
Спецсимволы * и $
Когда вы указываете директивы Allow и Disallow, можно использовать специальные символы * и $, чтобы задавать какие-либо частые выражения.
Спецсимвол * – это любое количество различных символов. К примеру, параметру /file* будут соответствовать /file, /file1, file-for-me, file/imena и т.п. Так, для запрета сканирования всех изображений формата .jpg роботами Yandex, пропишите инструкцию:
User-agent: Yandex Disallow: /*.jpg
Но нет необходимости каждый раз указывать *, потому что он соответствует директиве:
User-agent: Yandex Disallow: /.jpg
Спецсимвол $ – предназначен для исключения значения *. Допустим, у вас есть правило:
User-agent: * Disallow: /file*
Чтобы скрыть от поисковых систем /file, но открыть для обработки /file1 и другие параметры, начинающиеся с /file, применима команда:
User-agent: * Disallow: /file$
На заметку. Спецсимвол $ не отменяет *, если последний присутствует в конце команды.
Sitemap
Директива актуальна тогда, когда вы описали структуру ресурса посредством Sitemap. Она показывает роботам путь для быстрого поиска карты сайта:
User-agent: * Allow: / Sitemap: http://название_вашего_сайта.ru/site_structure/my_sitemap.xml
Нет разницы, в каком месте писать эту директиву в документе – она межсекционная.
Host (не актуальна)
Данная директива больше не используется Яндексом. Поэтому её можно не писать.
Раньше её писали в robots.txt после всех остальных директив. Эта команда указывала роботам Яндекса главное зеркало ресурса. Директиву особенно выгодно было применять при регистрации сайта на нескольких доменах (.ru, .org, .com и т.д.), или когда вам необходимо указать зеркало, которое будет приоритетнее: www.mysite.ru, либо просто mysite.ru. Пример:
User-agent: Yandex Disallow: /page Host: https://www.mysite.ru
В качестве приоритетного зеркала выступает домен www.mysite.ru – именно он отобразится в результатах поиска.
Сообщить главное зеркало для гугловских ботов вы сможете в сервисе Google Инструменты.
Crawl-delay
Ее часто используют вебмастера, чьи проекты из-за огромного количества страниц посещаются роботами с завидной частотой. Команда Crawl-delay поможет существенно облегчить нагрузку на сервер. Она настроит взаимодействие с ботами, редко придерживающимися установленных стандартов для обработки индексного файла. Директива должна находиться сразу под Allow и Disallow:
User-agent: Yandex Disallow: /page Crawl-delay: 2.0
Так вы сообщаете ботам Яндекса, чтобы они скачивали страницы с ресурса не быстрее, чем один раз в две секунды.
Clean-param
Ее применение закрывает доступ к страницам с изменяющимися параметрами, никоим образом не влияющими на их содержимое. Бывает, что по множеству разных адресов доступны страницы с одинаковым контентом, а это лишняя нагрузка на веб-ресурс. Поэтому для них нужно задать команду Clean-param. В дальнейшем роботы уже не будут перезагружать повторяющуюся информацию. Так вы увеличите скорость обработки сайта и уменьшите нагрузку на него.
Допустим, на вашем сайте есть страницы с такими URL:
http://www.mysite.ru/some_dir/get_journal.pl?ref=site_1& journal_id=123 http://www.mysite.ru/some_dir/get_journal.pl?ref=site_2& journal_id=123 http://www.mysite.ru/some_dir/get_ journal.pl?ref=site_3& journal_id=123
Ref отслеживает, откуда именно был осуществлен запрос. Параметр не оказывает никакого влияния на содержимое, но из-за него по вышеуказанным URL будут отображены идентичные страницы с журналом journal_id=123. Чтобы позволить поисковым ботам объединить все адреса в один, внесите команду:
User-agent: * Disallow: Clean-param: rep /some_dir/get_journal.pl
И адрес страницы будет сведен к единому виду:
www.mysite.ru/some_dir/get_journal.pl?book_id=123
Комментарии в файле robots
Вебмастера могут оставлять комментарии после символа решетки #. Она действует от места, где проставлен символ, и до пустого перевода (до конца строки). Боты игнорируют комментарии.
Пример:
User-agent: Yandex # Комментарий от начала новой строки
Disallow: /file # Комментарий в качестве продолжения строки, где указана директива Host: https://mysite.ru
Распространенные ошибки при заполнении robots.txt
Как не стоит прописывать индексный документ:
- Директивы перепутаны местами:
User-agent: / Disallow: *
- Разные папки или страницы записаны в одной инструкции:
User-agent: * Disallow: /file/ /page/ /image/
- Файл назван ROBOTS.txt, Robots.txt и пр. Допускается исключительно название robots.txt.
- Напротив User-agent не указано имя бота.
- Присутствуют лишние символы внутри файла.
- Оставлен пустой перенос между User-agent, Allow и Disallow.
- Неправильно внесен адрес к карте сайта Sitemap.
Как проверить файл robots?
Не забывайте проверять правильность заполнения документа, ведь даже самая незначительная ошибка может обернуться неприятностями. Это можно быстро сделать в двух панелях для вебмастеров:
- https://webmaster.yandex.ru/ от Яндекса. Вкладка «Инструменты». Затем «Анализ txt».
- https://www.google.com/webmasters/ от Google. Вкладка «Сканирование». После – «Инструмент проверки файла txt».
Пример правильно составленного robots.txt
Аналогичный файл можно разместить в корне практически любого веб-сайта:
User-agent: * Disallow: Sitemap: https://mysite.ru/sitemap.xml
Он делает доступным для индексирования полностью сайт для роботов всех поисковиков. Здесь также прописан хост и путь к карте сайта, благодаря которым боты быстро найдут URL, которые нужно просканировать и внести в базу данных.
Как бы там ни было, каждый ресурс индивидуален, поэтому и правила должны зависеть от вида сайта, а также движка, на базе которого он создан.
Заключение
Индексный файл robots.txt, без преувеличения, один из главных инструментов оптимизации проекта, так как он непосредственно воздействует на его индексацию в поисковых системах. Вот почему важно создавать и настраивать данный файл правильно, во избежание различных неприятностей, вплоть до вылета ресурса из поискового индекса.
Ну нельзя же так, надо вычитывать внимательно такие тексты, тем более если из обучения даете ссылки. Очень плохо. В примерах написано, что Disallow делает доступным для индексирования полностью сайт.
Вы невнимательно читаете, если прописано Disallow: без /, то сайт будет открыт для индексации. В тексте нет ошибки.