Как использовать Robots.txt?

Robots.txt

Как пользоваться robots.txt?

Сегодня я вам покажу, как использовать файл robots.txt.

Но для начала давайте разберемся для чего, собственно, нужен файл robots.txt?

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

Для очень маленьких html-сайтов, которые содержат 10-30 страниц необходимость файла robots.txt отпадает, так как все файлы такого сайта необходимо индексировать.

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

К примеру, Yandex, для быстрого удаления из индекса директорий сайта требует прописывания этих директорий в файле robots.txt.

Как выглядит Robots.txt?


Файл robots.txt обычно выглядит так:

User-agent: *
Disallow: /delo.php
Disallow: /d123/
Disallow: /travel/dat/

В строке User-agent: указывается конкретный робот (Yandex, StackRambler) или * - все роботы. В строке Disallow указывается путь к папке или конкретному файлу, запрещенному к индексации (путь абсолютный, отсчитывается от корневой папки сайта). Чтобы разрешить доступ робота к некоторым частям сайта или сайту целиком, используйте директиву Allow. Пустых строк в файле между строкой User-agent и Disallow, Allow быть не должно.

Если вы используете карту сайта описанную с помощью формата sitemaps.xml, и хотите, чтобы робот узнал о ней, укажите путь к sitemaps.xml, в качестве параметра директивы Sitemap (если файлов несколько, укажите все), примеры:

User-agent: Yandex
Allow: /
Sitemap: http://mysite.ru/site_structure/my_sitemaps1.xml
Sitemap: http://mysite.ru/site_structure/my_sitemaps2.xml

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

Пример: Если www.pageranker.ru главное зеркало сайта, то robots.txt для всех сайтов из группы зеркал выглядит так

User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.pageranker.ru

Так же можно задать время посещения поискового робота на странице вашего сайта, для этого можно воспользоваться директивой Crawl-delay. Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. Обязательно, в целях совместимости с роботами, директиву Crawl-delay необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив Disallow (Allow).

Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.
Примеры:
User-agent: Yandex
Crawl-delay: 2 # задает таймаут в 2 секунды

User-agent: *
Disallow: /search
Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
Схема действия Robots.txt

Не является ли перечисление файлов и директорий в файле robots.txt опасным?

Некоторые беспокоятся, что, перечисляя файлы и директории в файле /robots.txt, они привлекают к ним ненужное внимание. Для них два совета.

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

Проще говоря, вместо:

User-Agent: *
Disallow: /foo.html
Disallow: /bar.html

используйте:

User-Agent: *
Disallow: /norobots/

поместите в директорию “norobots” файлы foo.html и bar.html и запретите серверу отдавать список файлов, находящихся в этой директории. Теперь атакующий будет знать, что у вас есть директория “norobots”, но не сможет узнать имена файлов, находящихся там – ему придется угадывать их.Robots.txt comix

Однако на практике этот подход очень уязвим. Кто-то может разместить ссылку на ваши файлы на своем сайте. Или их названия могут появиться в общедоступном лог-файле, например, генерируемом прокси-сервером, через который ходят посетители вашего сайта. Или кто-то может перенастроить сервер, опять сказав ему отдавать список файлов в директории. Все это приводит нас к настоящему ответу на этот вопрос:

Этот ответ таков: файл robots.txt не предназначен для контроля доступа и не должен для него использоваться. Рассматривайте его не как замок на двери, а как табличку «не входить». Если доступ к определенным файлам на сервере нужно ограничить – используйте систему авторизации доступа. Поддержка Basic Authentication появилась в веб-серверах еще на заре веб (например, она очень просто настраивается на Apache), а если вам нужно что-то посерьезнее, используйте SSL.

Как видите все достаточно легко и понятно. Используйте это на своих сайтах, тем самым вы поможете поисковому роботу правильно прочитать ваш веб-ресурс.
  • Hits: 9558