Рекомендации по составлению файла robots.txt

18:24

Файл robots.txt очень важный файл т.к. при обращении поискового робота к сайту многие роботы запрашивают именно данный файл и не находя его просто не индексируют страници сайта.

Единственное, для чего предназначен файл robots.txt - это закрывать от индексации файлы и каталоги.

Делать это может выборочно, ориентируясь на имена роботов поисковых машин. Если проект предназначен для индексации поисковыми машинами, присутствие файла robots.txt в корневой папке сайта обязательно.

Закрывать от индексации имеет смысл скрипты, архивы, графические файлы, а также часто изменяемые страницы.

Имя файла robots.txt должно состоять из строчных букв (нижний регистр). Файл должен находится в корневом каталоге сервера. Файл с именем robots.txt, находящийся в других каталогах или содержащий буквы верхнего регистра, будет проигнорирован.

Файл robots.txt формируется из записей, по две строки в каждой. Первая строка содержит имя робота, вторая - перечень закрываемых каталогов и/или страниц. Имена каталогов и файлов на сервере рекомендуется всегда писать в нижнем регистре, в последствие не нужно будет угадывать, как набирать адрес.

Пример записи, которая нечего не запрещает:

User-agent: *
Disallow: 
  • User-agent: * - относится ко всем роботам
  • Disallow: - никаких запретов

Звездочка в строке User-agent говорит, что эта запись относится ко всем роботам. Строка Disallow не содержит записей, что означает отсутствие запретов.

Запрещается использовать символы множественного выделения (*.gif) в строке Disallow:.

Пример записи, запрещающей всё и всем:

User-agent: *
Disallow: /

Первая строка говорит, что данная рекомендация относится ко всем роботам. Вторая строка блокирует (рекомендательно) доступ ко всем файлам и каталогам сервера.

В строке User-agent вместо звездочки могут быть указаны имена конкретных роботов.

Тогда запрещающий тег будет выглядеть так:

User-agent: Yandex
Disallow: /

User-agent: StackRambler
Disallow: /

User-agent: googlebot
Disallow: /

Для роботов Yandex, StackRambler и googlebot доступ на сервер закрыт, для всех остальных роботов ограничений нет.

Пример запрета индексации файлов в служебных каталогах (новый стандарт):

User-Agent: *
Disallow: /cgi-bin/
Disallow: /img/
Disallow: /news/img/


Каталоги перечисляются построчно. Можно накладывать ограничения на отдельные файлы и группы файлов:

User-agent: *
Disallow: /my/my.html
Disallow: /docs/mydoc.html
Disallow: /art/my

Последняя строка примера запрещает индексацию всех файлов, расположенных в каталоге /art/, имена которых начинаюся с my

Мета тег

Mета тег ROBOТS может управлять индексацией только той страницы, на которой он прописан. Значение тэга Robоts может состоять из следующих директив, разделенных запятыми:

  • Index - эта страница должна быть индексирована.
  • Noindex - эта страница не должна индексироваться.
  • Follow - прослеживать гиперссылки на странице.
  • Nofollow - не прослеживать гиперссылки на странице.
  • All - index, follow (по умолчанию).
  • None - noindex, nofollow.

Тег ничего не меняет в работе робота поисковой машины, так как значение "all" принято по умолчанию. Но если эта страница создается динамически или очень часто обновляется, то нет смысла ее индексировать, так как информация о странице в поисковой машине и ее истинное содержание будут разными.

В этом случае можно рекомендовать поисковой машине не индексировать эту страницу, а только отслеживать на ней гиперссылки, чтобы проиндексировать остальную часть сайта: .

При использовании тега, запрещающего отслеживание гиперссылок часть сайта может остаться не проиндексированной, так как внутри сайта роботы перемещаются по гиперсылкам. И те страницы, переход на которые заблокирован, роботы найти не смогут.

Мета-тег Robots имеет приоритет над директивами управления, заданными в файле robots.txt. То есть, если директивы управления в файле robots.txt разрешают индексировать все файлы в каталоге, то блокирующий мета-тег может запретить индексирование страницы, находящейся в этом каталоге.

Обратное невозможно, так как робот просто не узнает, что рекомендует мета тег странички в заблокированном каталоге.

Не все роботы воспринимают директивы мета-тега ROBOTS в полном объеме. В основном возникают проблемы с директивами Follow и Nofollow