Robots.txt (The Robots Exclusion Protocol) – это текстовый файл, который пишется на языке html, он размещается в корне сайта, и содержит для роботов поисковиков инструкции по индексированию сайта. Создать robots.txt не составляет сложностей, алгоритм достаточно прост. Основные правила описаны в статье.
Robots.txt (The Robots Exclusion Protocol) – это текстовый файл, который пишется на языке html, он размещается в корне сайта, и содержит для роботов поисковиков инструкции по индексированию сайта. Они могут запретить некоторые страницы или разделы к индексации, показывать верное «зеркалирование» домена, создавать рекомендации роботам о соблюдении временных интервалов для скачивания файлов с сервера и другое.
Поисковые роботы сохраняют списки тех URL, которые могут быть ими проиндексированы, и постоянно выкачивают по ним документы. При обнаружении новых ссылок в таких документах, робот вносит ее в свой список.
Файлы robots.txt – это те файлы, которые поисковые роботы ищут прежде всего на сайтах.
Стандарт для robots.txt не имеет собственника. Начало пользования robots.txt стартовало в 1994 году.
Создать robots.txt не составляет сложностей, алгоритм достаточно прост. Вот основные правила:
В любом текстовом редакторе необходимо создать файл и переименовать его в robots.txt.
Имя файла robots.txt обязательно пишется с маленькой буквы.
Размещается файл в главной директории сервера.
Файл robots.txt должен включать как минимум одну запись User – agent и одну запись Disallow.
Поле User – agent никогда не должно оставаться не заполненным.
Зачем скрывать отдельные страницы от поисковой индексации? Поисковый робот проработает весь сайт, в результате, вы можете получить в выдаче страницы, наполненные технической информацией, но не важный информационный контент, к которому робот так и не добрался. Обычно закрываются административные разделы сайта, файлы со стандартными названиями, директории, содержащие графическую информацию, страницы внутреннего поиска, корзину и страницы для оформления заказа, фильтры и сравнения товаров, страницы регистрации, системные каталоги. Так можно запретить доступ к отдельным папкам, страницам или ко всему сайту.
Структура файла robots.txt
Файл robots.txt обладает достаточно простой для понимания структурой и четким синтаксисом. Здесь не допускается применение каких-либо символов национальных алфавитов. Файл строго набирается в кодировке ANSI. По своей структуре он состоит их секций (блоков), относящихся к определенному поисковому боту. Секции состоят из предписаний (директив), которые и управляют самим процессом индексации поисковой системы. Перед блоками не допускаются вступительные заголовочные директивы. Между блоками нельзя вставлять символы (исключение – перевод строк). Нельзя использовать лишние символы для директив. Комментарии являются исключением из правил.
Комментарии
Комментарий всегда начинается символом «#» и заканчивается окончанием текущей строки. Таким образом, все символы строки, стоящие от знака «#», распознаются как комментарий и игнорируются роботами. Не желательно использовать символ комментария в средине директивы.
Блоки (секции)
Блоком считается текст до начала следующего блока, или же до конца всего файла robots.txt. Между блоками обязательно должна быть минимум одна пустая строка. Блок начинается директивой User-agent, содержащей значение нужного поискового робота, например, для робота Yandex требование выглядит таким образом: «User-agent: YandexBot». В случае необходимости указать принадлежность блока ко всем роботам, используется значение «*»: «User-agent: *». В директиве User-agent нельзя перечислять больше одного имени бота. В таком случае необходимо создавать несколько блоков или использовать «*». Поисковый робот будет интерпретировать те секции, которые больше всего отвечают его User-agent. Когда в файле robots.txt имеется блок, содержащий имя робота, то именно он будет применен, а не блок «User-agent: *».
Директивы
Каждый блок состоит из директив, формат которых выглядит следующим образом: [Имя директивы] : [пробел (не обязателен)] [Значение] [пробел (не обязателен)]. Директивы не допускают переносов и пустых строк.
Основные директивы robots.txt:
Директива Disallow – наиболее часто встречающаяся директива, которая запрещает индексацию части сайта или весь сайт, согласно тому пути, который был прописан в значении директивы. Используются символы «*» или «$». Символ «*» означает абсолютно любое число подходящих символов. Так под значение «/dir*» одинаково подходят как «/dir8», так и «/dir271» или «/dir» и другие. Символ «$» означает окончание подстроки сравнения. Например, «/dir$» означает запрет пути «/dir».
Директива Allow – носит разрешительные характер и имеет такой же синтаксис, как и директива Disallow.
Приоритет для директив Allow и Disallow, при совпадении путей, будет определятся по максимально соответствующему пути в одном блоке User-agent. Абсолютно все директивы в одном блоке будут сортироваться по длине, указанной в значении подстроки, в порядке ее увеличения. Приоритет будет отдан тому правилу, которое размещено в сортированном списке ниже, т.е. будет больше соответствовать имени. В том случае, если Disallow и Allow одинаково соответствуют префиксу одной длины, приоритетность получает директива Allow.
Директива Disallow с пустым значением параметра — «Disallow: », разрешает индексацию сайта и приравнивается указанию «Allow: /». А директива «Disallow: /» является эквивалентной директиве с пустым значением «Allow: », и означает запрет полной индексации сайта.
Директива Sitemap полезна для сайта, где нужно указать путь к его карте. Анализируя такую директиву, поисковый робот узнает о наличии сайта sitemap1.xml, и учтет ее в следующий раз.
Директива Host – сложная директива, которая распознается только поисковой системой Яндекс. Данная директива указывает роботу Яндекса о расположении главного зеркала ресурса. Сайт может быть доступным имея не один домен, например, example.ru и example.com. Роботу необходимо в таком случае указать на то зеркало, которое является главным. При этом важно в значении указать имя домена с главным зеркалом. Значение директивы Host является очевидным для тех, кто сталкивается с дублированием. Лучше директиву Host ставить после списков из Disallow и Allow. В robots.txt необходимо применять одну директиву Host, в противном случае, будет использована первая из указанных.
Директива Crawl-delay – указывает роботу тот минимальный промежуток времени, через который нужно проверять сайт, для избегания излишней нагрузки на сервер. Возможно в некоторых случаях использовать дробное значение нужного интервала. Директива выглядит следующим образом: «Crawl-delay: 8».
Директива Clean-param применяется для разгрузки сервера, в случае использования страниц сайта с идентичным содержанием, доступным по разным URL, отличающихся одним параметром. Данная директива указывает, что необходимости в сканировании указанных адресов нет необходимости. Нужно указать тот параметр, который будет восприниматься роботом как идентичный URL. Эта директива распознается только поисковой системой Яндекс.
Ошибки в написании файла robots.txt
Файл находится в поддиректории. Важно, роботы учитывают robots.txt, которые размещены в корне сайта, подкаталоги учитываться не будут.
Неверное название файла. Если имя файла robots.txt будет написано с ошибкой, то боты его не заметят.
Существуют директивы, которые распознают не все боты.
Использование неразрешенных символов, например, символов национальных алфавитов. Разрешена только кодировка ANSI.
Синтаксические ошибки.
В директиве User – agent были указаны несколько поисковых роботов. Каждому боту предполагается отдельная директива или директива со знаком «*».
User – agent оказался с пустым значением.
В Disallow перечислено несколько значений. Каждое значение требует отдельно прописанной директивы Disallow.
Неверное знание приоритетности директив в robots.txt.
Отклонениями из этих правил, являются два случая:
Первое, использование комментариев среди директив.
Второе, поочередное использование прописных и строчных символов в директориях.