Файл используется для того, чтобы сообщать поисковым системам о том, что именно на вашем сайте подлежит индексации (весь сайт, директории). Помещается файл в корневую директорию сайта и ему присваивается имя "robots.txt". Если файл помещен не в корневую директорию, поисковые системы его не найдут. Пример размещения файла:
Вы с легкостью можете закрыть доступ поисковым системам к частям сайта, которые не интересны для посетителей. Для составления файла rorbots.txt вы можете воспользоваться удобным генератором файлов robots.txt, что находиться в инструментах для вебмастеров Google. Для этого зайдите в конфигурация сайта → доступ до сканера → создайте файл robots.txt. Пользуясь диалоговым окном, вы можете создать код файла robots.txt, блокируя доступ к страницам, каталогам, директориям. Потом сохранить полученные результаты и загрузить готовый файл на сайт.
В случае, если на сайте имеются поддомены, которые вы хотите запретить от индексации, необходимо на каждом из этих поддоменов создать отдельный файл robots.txt.
При скрытии конфиденциальной информации рекомендовано использовать более надежные методы скрытия контента чем robots.txt. Во-первых заблокированные страницы все еще будут присутствовать в поисковой выдаче (без заголовков или сниппетов), в случае если на заблокированный материал кто-то поставил ссылку. Во-вторых не все поисковые системы додерживаются инструкций robots.txt. В-третьих некоторые пользователи специально заглядываю в этот файл, что бы узнать что именно вы пытаетесь скрыть. Выходя из этого настоятельно рекомендуется пользоваться защитой (установка паролей или шифровка контента) с помощью файла .htaccess.
Также не рекомендуется:
Создавая простейший файл robots.txt, надо знать два правила (директивы):
В одном файле может размещаться несколько вышеописанных директив. Кроме того, можно создавать несколько разделов (каждый раздел начинается с User-agent:), которые будут задавать правила сканирования для конкретного бота-поисковика отдельно. Надо иметь ввиду, что каждый раздел будет обрабатываться отдельно и значение предыдущих разделов не будет учитываться. К примеру:
User-agent: * Disallow: /katalog1/ User-Agent: Yandex Disallow: /katalog2/
здесь всем поисковым ботам задано правило не индексировать на сайте URL-адреса содержащие katalog1, а боту Yandex только задано правило не индексировать URL-адреса содержащие katalog2. То есть предыдущий раздел не учитывается.
Строка Disallow должна содержать страницы, которые запрещены для индексации. Также тут можно указывать конкретный шаблон или конкретный URL. Ввод должен всегда начинаться с косой черты (/). Если же на сайте вы не будете ничего запрещать оставьте значение Disallow: незаполненым. Пример файла robots.txt, который ничего не запрещает:
User-Agent: * Disallow:
Но надо иметь ввиду, что директива Disallow: является обязательной и если ее не указать файл будет неправильный.
Надо зазначить, что если директива Disallow: может быть без значений то User-Agent: всегда должна быть заполнена. То есть, если robot.txt будет выглядеть вот так:
User-Agent: Disallow:
это будет не правильно.
Чтобы запретить к индексации весь сайт используйте (/):
User-Agent: * Disallow: /
Чтобы запретить каталог со всем его содержимым ставим после название каталога (/):
User-Agent: * Disallow: /catalog/
Чтобы запретить конкретную страницу, надо ее указать:
User-Agent: * Disallow: /moya-stranica.html
Замечание: помните, что в командах директив учитывается регистр. И если в этом примере запрещалась страница moya-stranica.html, то страница Moya-stranica.html не будет запрещена.
Если желаете запретить к индексации конкретную картинку:
User-Agent: * Disallow: /picture/world.png
В случае если вы хотите запретить, скажем, боту Google индексировать все картинки, выглядеть это будет вот так:
User-Agent: Googlebot-Image Disallow: /
Если какому-то другому боту - просто укажите вместо Googlebot-Image имя нужного бота. В случае если ваши картинки находятся в одной папке, и вы хотите запретить к индексации их все, блокируйте их как обычный каталог:
User-Agent: * Disallow: /picture/
Если же картинки у вас находятся в хаотичном расположении по сайту, и вы не желаете что бы их индексировали, запретите к индексации типы этих картинок:
User-Agent: * Disallow: /*gif$ Disallow: /*png$ Disallow: /*jpg$
Это же относиться и к любым другим видам файлов, не только графическим.
Символ $ дает знать поисковикам, что данный URL заканчивается тем или иным выражением (знак конечного значения URL-адреса). То есть, скажем, в предыдущем примере URL адреса заканчивались:
Если вы желаете запретить к индексации каталоги, которые начинаются на private:
User-Agent: * Disallow: /private*/
Если вы желаете запретить к индексации URL-адреса содержащие конкретный символ, укажите этот символ в следующем порядке (к примеру, вопросительный знак «?»):
User-Agent: * Disallow: /*?
Вопросительный знак выгодно запрещать к индексации, в случае если на сайте используются идентификаторы сессий. Но что делать, когда URL-адрес заканчивается на «?». В таком случае необходимо запретить все адреса с «?», но позволить URL-адреса заканчивающиеся на «?». Делается это с помощью новой нам директивы Allow и уже знакомого символа «$»:
User-Agent: * Allow: /*?$ Disallow: /*?
Allow - директива, которая в отличии от Disallow:, разрешает доступ к тем или иным разделам сайта.
Важно. Если для страницы сайта подходит несколько директив, то выбирается первая в порядке появления в выбранном User-agent блоке:
User-Agent: * Allow: /*?$ Disallow: /*?
Здесь разрешено индексировать URL-адреса, что заканчиваются на «?», но запрещено те, которые содержат «?».
Другой случай:
User-Agent: * Disallow: /*? Allow: /*?$
Здесь просто не разрешено индексировать URL-адреса которые содержат «?».
Отдельно стоит отметить директиву Host (добавляется после директивы Disallow). Она указывает роботу Yandex, какой вы предпочли основной домен сайта:
User-Agent: Yandex Disallow: Host: www.site.com
или
User-Agent: Yandex Disallow: Host: site.com
В первом примере указан основным домен с www, во втором - без. Формат домена надо указывать без http://.
Примеры неправильно написанных доменов в директиве Host:
Директива Sitemap используется для того чтобы сообщить роботу местонахождение карты сайта Sitemap (указывается после директивы Disallow). Если на сайте 2 и больше Sitemap, укажите все. Пример директивы с 3 фалами Sitemap:
User-Agent: * Disallow: Sitemap: http://excalibur.com.ua/sitemap/index1.xml Sitemap: http://excalibur.com.ua/sitemap/index2.xml Sitemap: http://excalibur.com.ua/sitemap/index3.xml
Директива Crawl-delay (указывается после директивы Disallow) задает (в секундах) период между концом загрузки одной страницы, и началом загрузки другой при индексировании сайта. Рекомендуется использовать в случае если на сервере большие нагрузки и он не успевает обрабатывать все нужные запросы. Пример:
User-Agent: * Disallow: Crawl-delay: 4
Впрочем, современные поисковики стандартно задают достаточную задержку в 1-2 секунды.
Больше директив файла robots.txt описаны на сайте http://www.robotstxt.org.