Главная » 2014 » Апрель » 7 » Robat.txt
15:08
Robat.txt

Использование robots.txt

 

 

Что такое файл robots.txt

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

 

 

Как создать robots.txt

Воспользуйтесь любым текстовым редактором (например, Блокнотом или WordPad), создайте файл с именем robots.txt и заполните его в соответствии с представленными ниже правилами. После этого необходимо загрузить файл в корневой каталог вашего сайта.

Чтобы проверить правильность обработки вашего файла robots.txt, воспользуйтесь анализатором файла robots.txt.

Директива User-agent

Управлять доступом робота Яндекса к вашему сайту вы можете при помощи файла robots.txt, который должен быть размещен в корневой директории сайта. Робот Яндекса поддерживает стандарт http://www.robotstxt.org/robotstxt.html с расширенными возможностями, описанными ниже.

В роботе Яндекса используется сессионный принцип работы, на каждую сессию формируется определенный пул страниц, которые планирует закачать робот. Сессия начинается с закачки robots.txt сайта, если его нет, он не текстовый или на запрос робота возвращается HTTP-код отличный от '200', считается, что доступ роботу не ограничен. В самом robots.txt проверяется наличие записей, начинающихся с 'User-agent:', в них ищутся подстроки 'Yandex', либо '*' (регистр значения не имеет), причем, если обнаружено 'User-agent: Yandex', директивы для 'User-agent: *' не учитываются. Если записи 'User-agent: Yandex' и'User-agent: *' отсутствуют, считается, что доступ роботу не ограничен.

Следующим роботам Яндекса можно указать отдельные директивы:

Для каждого из них также действительно правило: если обнаружены директивы для конкретного робота, директивы 'User-agent: Yandex' и 'User-agent: *' не используются.

Пример:

User-agent: YandexBot # будет использоваться только основным индексирующим роботом
Disallow: /*id=

User-agent: Yandex # будет использована всеми роботами Яндекса
Disallow: /*sid= # кроме основного индексирующего

User-agent: * # не будет использована роботами Яндекса
Disallow: /cgi-bin 

Использование директив Disallow и Allow

Чтобы запретить доступ робота к некоторым частям сайта или сайту целиком, используйте директиву 'Disallow'. Примеры:

User-agent: Yandex
Disallow: / # блокирует доступ ко всему сайту

User-agent: Yandex
Disallow: /cgi-bin # блокирует доступ к страницам 
 #начинающимся с '/cgi-bin'
Внимание! Недопустимо наличие пустых переводов строки между директивами 'User-agent' и 'Disallow' ('Allow'), а также между директивами 'Disallow'и 'Allow'.

В соответствии со стандартом перед каждой директивой 'User-agent' рекомендуется вставлять пустой перевод строки.

Символ '#' предназначен для описания комментариев. Все, что находится после этого символа и до первого перевода строки не учитывается.

Чтобы разрешить доступ робота к некоторым частям сайта или сайту целиком, используйте директиву 'Allow'. Примеры:

User-agent: Yandex
Allow: /cgi-bin
Disallow: /
# запрещает скачивать все, кроме страниц 
# начинающихся с '/cgi-bin'

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

Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то выбирается последняя в порядке появления в сортированном списке. Таким образом порядок следования директив в файле robots.txt не влияет на использование их роботом. Примеры:

# Исходный robots.txt:
User-agent: Yandex
Allow: /catalog
Disallow: /
# Сортированный robots.txt:
User-agent: Yandex
Disallow: /
Allow: /catalog
# разрешает скачивать только страницы,
# начинающиеся с '/catalog'
# Исходный robots.txt:
User-agent: Yandex
Allow: /
Allow: /catalog/auto
Disallow: /catalog
# Сортированный robots.txt:
User-agent: Yandex
Allow: /
Disallow: /catalog
Allow: /catalog/auto
# запрещает скачивать страницы, начинающиеся с '/catalog',
# но разрешает скачивать страницы, начинающиеся с '/catalog/auto'.
Примечание. При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow.

Директивы Allow-Disallow без параметров

Отсутствие параметров у директивы трактуется следующим образом:

User-agent: Yandex
Disallow: # то же, что и Allow: /

User-agent: Yandex
Allow: # то же, что и Disallow: /

Использование спецсимволов * и $

При указании путей директив Allow-Disallow можно использовать спецсимволы '*' и '$', задавая, таким образом, определенные регулярные выражения. Спецсимвол '*' означает любую (в том числе пустую) последовательность символов. Примеры:

User-agent: Yandex
Disallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx'
 # и '/cgi-bin/private/test.aspx'
Disallow: /*private # запрещает не только '/private',
 # но и '/cgi-bin/private'

Спецсимвол $

По умолчанию к концу каждого правила, описанного в robots.txt, приписывается '*', например:

User-agent: Yandex
Disallow: /cgi-bin* # блокирует доступ к страницам 
 # начинающимся с '/cgi-bin'
Disallow: /cgi-bin # то же самое

Чтобы отменить '*' на конце правила, можно использовать спецсимвол '$', например:

User-agent: Yandex
Disallow: /example$ # запрещает '/example', 
 # но не запрещает '/example.html'

, тогда как

User-agent: Yandex
Disallow: /example # запрещает и '/example', 
 # и '/example.html'

Имейте в виду, что «$» не запрещает явно проставленные «*» на конце, то есть:

User-agent: Yandex
Disallow: /example$ # запрещает только '/example'
Disallow: /example*$ # так же, как 'Disallow: /example' 
 # запрещает и /example.html и /example

Директива Sitemap

Если вы используете описание структуры вашего сайта в формате 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

Робот запомнит пути к sitemaps.xml, обработает файлы и будет использовать результаты при последующем формировании сессий закачки.

Директива Host

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

Директива 'Host' не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример:

#Если www.glavnoye-zerkalo.ru главное зеркало сайта, то #robots.txt для всех сайтов из группы зеркал выглядит так 
User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.glavnoye-zerkalo.ru
Внимание! В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow'). Аргументом директивы 'Host' является доменное имя с номером порта (по умолчанию 80), отделенным двоеточием.
#Пример корректно составленного robots.txt, при обработке
#которого директива Host учитывается

User-Agent: *
Disallow:
Host: www.myhost.ru

 

Просмотров: 470 | Добавил: ADMIN | Рейтинг: 0.0/0
Всего комментариев: 0
e> .securityCode { border:0px; border-right:1px solid #ccc; }
Добавить комментарий

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra in dui sit amet consequat.

- John Doe, creative director

Praesent vestibulum commodo mi eget congue. Ut pretium vel lectus vel consectetur.

- John Doe, creative director

Etiam quis aliquam turpis. Etiam in mauris elementum, gravida tortor eget, porttitor turpis.

- John Doe, creative director

Lorem ipsum
Neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat
Neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Curabitur pharetra dictum lorem, id mattis ipsum sodales et. Cras id dui ut leo scelerisque tempus. Sed id dolor dapibus est lacinia lobortis.
Learn more