Правильная настройка 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

Файл 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. Эта директива распознается только поисковой системой Яндекс.
file-robots-txt-google

Ошибки в написании файла robots.txt

  • Файл находится в поддиректории. Важно, роботы учитывают robots.txt, которые размещены в корне сайта, подкаталоги учитываться не будут.
  • Неверное название файла. Если имя файла robots.txt будет написано с ошибкой, то боты его не заметят.
  • Существуют директивы, которые распознают не все боты.
  • Использование неразрешенных символов, например, символов национальных алфавитов. Разрешена только кодировка ANSI.
  • Синтаксические ошибки.
  • В директиве User – agent были указаны несколько поисковых роботов. Каждому боту предполагается отдельная директива или директива со знаком «*».
  • User – agent оказался с пустым значением.
  • В Disallow перечислено несколько значений. Каждое значение требует отдельно прописанной директивы Disallow.
  • Неверное знание приоритетности директив в robots.txt.

Отклонениями из этих правил, являются два случая:

Первое, использование комментариев среди директив.

Второе, поочередное использование прописных и строчных символов в директориях.

Видео - Как создавать файл robots.txt

Поделитесь с друзьями

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *