Robots.txt

From MozillaWiki
Jump to: navigation, search
Do not edit this page THIS PAGE IS PROPOSED FOR DELETION Friday 13th January 2017
Surplus page

Для чего это надо?

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


Как это работает?

Каждый уважающий себя и сайты поисковик сначала скачивает с сайта именно этот файл. Далее робот индексирования (именно он занимается добавлением материалов в "поисковик") смотрит куда ему можно переходить а куда нельзя. Также в этом файле он может обнаружить информацию о "карте сайта" и "зеркалах". Исходя из этой иформации поисковик начинает обработку вашего сайта. Благодаря этому файлу ссылки на ваш сайт из других источников будут правильно расцениваться и индексироваться (учитываться "поисковиком"). Если же даный файл отсутствует, то поисковик считает, что весь сайт доступен для индексирования. Внимание! После того, как поисковой робот проиндексирует ваш сайт, данные, размещенные там, станут доступны всем пользователям интернета. Конечно, если вы не ограничите доступ еще какими-нибудь методами.

Директивы

В основе стандарта лежат всего 2 диреективы: User-agent и Disallow. Именно они гарантированно поддерживаются всеми поисковыми индексаторами. Остальные директивы входят в расширенный стандарт и поддерживаются лишь частью индексирующих роботов.

User-agent

Эта директива является основной. Она позволяет разрешать или запрещать индексирование конкретным поисковым роботам. На случай, если вы не хотите показывать свой сайт в какой-либо поисковой машине. Эта директива является основополагающей. С неё начинается каждая блок-секция (набор правил, относимых к данному User-agent. Отделяются друг от друга одной пустой строкой). В случае, если правило относится ко всем поисковикам, следует в User-agent поставить звездочку. Она зменяет любую последовательность символов. Поисковые машины (в т.ч. Яндекс) сначала ищут подстроку со своим названием. В случае отутствия таковой ищут подстроку со * и оперируют соответствующими правилами.

Disallow и Allow

Эти директивы также являются основополагающими. Идут сразу после User-agent. Отбиваются переводом строки, но не пустой строкой. Данные директивы позволяют (Allow) роботу смотреть определенные страницы или же запрещают (Disallow) это делать. корневая папка и доступ ко всему сайту обозначаются как /. Также любая часть имени может быть заменена на * (заменяет любую последовательность символов, в т.ч. и пустую). По умолчанию звездочка дописывается ко всем адресам в конце. Запретить это можно дописав команду $ в конце. Важно заметить, что секций Disallow/Allow в одной блок-секции может быть несколько. На самом деле директива Allow входит тольо в расширенный стандарт и, соответственнно, поддерживается не всеми индексирующими роботами.

Clean-param

Данная директива позволяет учесть динамические части адреса страницы, как всевозможные идентификаторы, не влияющие на содержимое страницы. Такими могут являться идентификаторы сессий, реферов и т.п. Это позволяет снизить бесполезную нагрузку на ваш сервер и уменьшить количество бесполезных проиндексированных копий данных страниц. В случае, когда имеется несколько параметров, которые не следует учитывать, они указываются через &. При этом регистр параметров имеет значение. Данная директива по сути является поддирективой Disallow/Allow и указывается только совместно. Она не является основополагающей и может остутствовать в блок-секции.

Вот пример использования этих команд:

User-agent: UnwantedRobot1
Disallow: /

User-agent: UnwantedRobot2
Disallow: 
Clean-param: ssid&sort /goods/*.php

User-agent: *
Disallow: /cgi-bin/*.html
Disallow: /*private
Disallow: /*aspx$

Crawl-delay

Позволяет задать задержку, между скачиваниями страниц. Эта директива используется для снижения накгрузки на сервер. Время указывается в секундах. Некоторые поисковые боты поддерживают указание данного интервала в виде дробного числа (через точку). В целях совместимости с роботами, не полностью поддерживающими стандарт robots.txt, рекомендуется вносить данную блок-секцию после директив Disallow/Allow.

Request-rate

По сути дела выполняет схожую фнкцию. Указывается максимальное количество загружаемых страниц за количество секунд.

User-agent: UnwantedRobot1
Disallow: /private
Crawl-delay: 3.5

User-agent: UnwantedRobot2
Disallow: /private
Request-rate: 3/5

Host

Эта директива позволяет задать главное зеркало для вашего сайта. Если ваш сайт имеет насколько зеркал, то укажте главное в robots.txt каждого зеркала. По умолчанию номер порта директивы является 80, но если требуется указать иной - указывается он через двоеточие. В целях совместимости с роботами, не полностью поддерживающими стандарт robots.txt, рекомендуется вносить данную блок-секцию после директив Disallow/Allow. Важно! Допускается указание только одного зеркала и допустимого номера порта. Адрес зеркала должен быть указан в соответствии с RFC 952 и не может являться ip-адресом. В простивном случае возможно игнорирование данной записи поисковой машиной.

User-agent: *
Disallow: /private
Host: www.maimirror.com

Sitemap

При наличии карты сайта, описанной в соответствии с правилами sitemaps.xml, ее можно указать для робота. Это позволит проиндексировать все части сайта, включая самые отдаленные или те, на которые нет прямых ссылок. Данная директива может указываться как отдельной блок-секцией, так и в конце конкретной.

User-agent: *
Disallow: /private
Sitemap: http://site.ru/some_folders/map_for_everyone.xml

User-agent: *
Disallow: /confident

Sitemap: http://site.ru/some_folders/another_map.xml

Visit-time

Позволяет указать интервал загрузки страниц. Время указывается по Гринвичу. Например указание загрузки с 7 утра и до 7:15 будет выглядеть следующим образом:

User-agent: *
Disallow: /private
Visit-time: 0700-0715


META ROBOTS

Аналогичного результата можно добиться при использовании мета-тэгов. Это позволяет не сильно заботится о внесении и учтении каждой "закрытой" страницы в robots.txt.

Вот пример такого использования:

META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"

При этом content может принимать следующие параметры:

  • NOINDEX - запрещает индексирование документа;
  • NOFOLLOW - запрещает проход по ссылкам, имеющимся в документе;
  • INDEX - разрешает индексирование документа;
  • FOLLOW - разрешает проход по ссылкам, имеющимся в документе.
  • ALL – разрешает как индексирование документа, так и проход по ссылкам (равносильно INDEX, FOLLOW)
  • NONE – запрещает индексирование и проход по ссылкам (равносильно NOINDEX, NOFOLLOW)

Регистр значения не имеет.

Запрет индексации фрагмента страницы

Заключение в тэги <NOINDEX> и </NOINDEX> фрагмента текста приводит к исключению индексирования именно этого куска. Это позволяет максимально гибко настроить индексацию на странице.

Дополнительно

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

Описание поддерживаемых стандартов:
Яндекс (Анализатор)
Google