Пример robots txt для яндекса. Рекомендации по настройке файла robots txt. Директивы «Host:» и «Sitemap:»

Быстрая навигация по этой странице:

Современная реальность такова, что в Рунете ни один уважающий себя сайт не может обходиться без файла под названием роботс.тхт — даже если вам нечего запрещать от индексации (хотя практически на каждом сайте есть технические страницы и дублирующий контент, требующие закрытия от индексации), то как минимум прописать директиву с www и без www для Яндекса однозначно стоит — для этого и служат правила написания robots.txt, о которых пойдет речь ниже.

Что такое robots.txt?

Свою историю файл с таким названием берет с 1994 года, когда консорциум W3C решил ввести такой стандарт для того, чтобы сайты могли снабжать поисковые системы инструкциями по индексации.

Файл с таким названием должен быть сохранен в корневой директории сайта, размещение его в каких-либо других папках не допускается.

Файл выполняет следующие функции:

  1. запрещает какие-либо страницы или группы страниц к индексации
  2. разрешает какие-либо страницы или группы страниц к индексации
  3. указывает роботу Яндекса, какое зеркало сайта является главным (с www или без www)
  4. показывает расположение файла с картой сайта

Все четыре пункта являются крайне важными для поисковой оптимизации сайта. Запрет на индексацию позволяет закрыть от индексации страницы, которые содержат дублирующий контент — например, страницы тегов, архивов, результаты поиска, страницы с версиями для печати и так далее. Наличие дублирующего контента (когда один и тот же текст, пусть и в размере нескольких предложений, присутствует на двух и более страницах) — это минус для сайта в ранжировании поисковиков, потому дублей должно быть как можно меньше.

Директива allow самостоятельного значения не имеет, так как по умолчанию все страницы и так доступны для индексации. Она работает в связке с disallow — когда, например, какая-то рубрика полностью закрыта от поисковиков, но вы хотели бы открыть в ней ту или отдельно взятную страницу.

Указание на главное зеркало сайта также является одним из самых важных элементов в оптимизации: поисковики рассматривают сайты www.вашсайт.ру и вашсайт.ру как два разных ресурса, если вы им прямо не укажете иное. В результате происходит удвоение контента — появление дублей, уменьшение силы внешних ссылок (внешние ссылки могут ставиться как с www, так и без www) и в результате это может привести к более низкому ранжированию в поисковой выдаче.

Для Google главное зеркало прописывается в инструментах Вебмастера (http://www.google.ru/webmasters/), а вот для Яндекса данные инструкции можно прописать только в том самом роботс.тхт.

Указание на xml-файл с картой сайта (например — sitemap.xml) позволяет поисковикам обнаружить данный файл.

Правила указания User-agent

User-agent в данном случае — это поисковая система. При написании инструкций необходимо указать, будут ли они действовать на все поисковики (тогда проставляется знак звездочки — *) или же они рассчитаны на какой-то отдельный поисковик — например, Яндекс или Google.

Для того, чтобы задать User-agent с указанием на всех роботов, напишите в своем файле следующую строку:

User-agent: *

Для Яндекса:

User-agent: Yandex

Для Гугла:

User-agent: GoogleBot

Правила указания disallow и allow

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

Посредством такого кода вы разрешаете индексацию всех страниц сайта:

User-agent: * Disallow:

А посредством такого кода, напротив, все странички будут закрыты:

User-agent: * Disallow: /

Для запрета на индексацию конкретной директории под названием folder укажите:

User-agent: * Disallow: /folder

Можно использовать также звездочки для подстановки произвольного названия:

User-agent: * Disallow: *.php

Важно: звездочка заменяет название файла целиком, то есть нельзя указать file*.php, можно только *.php (но будут запрещены все страницы с расширением.php, чтобы этого избежать — можете указать конкретный адрес страницы).

Директива allow, как было указано выше, используется для создания исключений в disallow (иначе она не имеет смысла, так как страницы по умолчанию и так открыты).

Например, запретим к индексации страницы в папке archive, но оставим открытой страничку index.html из этой директории:

Allow: /archive/index.html Disallow: /archive/

Указываем хост и карту сайта

Хост — это главное зеркало сайта (то есть название домена плюс www или название домена без этой приставки). Хост указывается только для робота Яндекса (при этом обязательно должна быть хотя бы одна команда disallow).

Для указания host robots.txt должен содержать следующую запись:

User-agent: Yandex Disallow: Host: www.вашсайт.ру

Что касается карты сайта, то в robots.txt sitemap указывается простым прописанием полного пути к соответствующему файлу, с указанием доменного имени:

Sitemap: http://вашсайт.ру/sitemap.xml

О том, как сделать карту сайта для WordPress, написано .

Пример robots.txt для WordPress

Для wordpress инструкции необходимо указывать таким образом, чтобы закрыть к индексации все технические директории (wp-admin, wp-includes и т.д.), а также дубли страниц, создаваемые тегами, файлами rss, комментариями, поиском.

В качестве примера robots.txt для wordpress можете взять файл с нашего сайта:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ Host: www..php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ Sitemap: https://www..xml

Скачать файл robots.txt с нашего сайта можно по .

Если по итогам прочтения этой статьи у вас остались какие-либо вопросы — задавайте в комментариях!

1) Что такое поисковый робот?
2) Что такое robots.txt?
3) Как создать robots.txt?
4) Что и зачем можно записать в этот файл?
5) Примеры названий роботов
6) Пример готового robots.txt
7) Как проверить работу моего файла?

1. Что такое поисковый робот?

Робот (англ. crawler) хранит список URL, которые он может проиндексировать, и регулярно выкачивает соответствующие им документы. Если при анализе документа робот обнаруживает новую ссылку, он добавляет ее в свой список. Таким образом, любой документ или сайт, на который есть ссылки, может быть найден роботом, а значит, и поиском Яндекса.

2. Что такое robots.txt?

Поисковые роботы ищут на сайтах в первую очередь файл robots.txt. Если у Вас на сайте есть директории, контент и тп, которые бы Вы, например, хотели скрыть от индексации (поисковик не выдавал информацию по ним. Например: админка, другие панели страницы), то должны внимательно изучить инструкцию по работе с данным файлом.

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

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

Создать robots.txt очень просто. Заходим в обычный текстовой редактор (или правая кнопка мыши - создать - текстовой документ), например, Блокнот (Notepad). Далее создаём текстовой файл и переименовываем его в robots.txt .

4. Что и зачем можно записать в файл robots.txt?

Перед тем, как указать команду поисковику, нужно определиться, к какому Боту она будет адресована. Для этого существует команда User-agent
Ниже привёл примеры:

User-agent: * # написанная после этой строки команда будет обращена ко всем поисковым роботам
User-agent: YandexBot # обращение к основному роботу индексации Яндекса
User-agent: Googlebot # обращение к основному роботу индексации Google

Разрешаем и запрещаем индексацию
Для разрешения и запрета индексации есть две соответствующие команды - Allow (можно) и Disallow (нельзя).

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

User-agent: YandexBot # команда ниже будет обращена к Яндексу
Disallow: / # запрещаем индексацию всего сайта роботом Яндекса

User-agent: Googlebot # команда ниже будет обращена к Google
Allow: /images # разрешаем индексировать всё содержимое директории images
Disallow: / # а всё остальное запрещаем

Порядок не важен

User-agent: *
Allow: /images
Disallow: /

User-agent: *
Disallow: /
Allow: /images
# и там, и там разрешено индексировать файлы
# начинающиеся с "/images"

Директива Sitemap
Данная команда указывает адрес карты вашего сайта:

Sitemap: http://yoursite.ru/structure/my_sitemaps.xml # Указывает адрес карты сайта

Директива Host
Данная команда вставляется В КОНЦЕ вашего файла и обозначает главное зеркало
1) прописывается В КОНЦЕ вашего файла
2) указывается только один раз. в противном случае принимается только первая строка
3) указывается после Allow или Disallow

Host: www.yoursite.ru # зеркало Вашего сайта

#Если www.yoursite.ru главное зеркало сайта, то
#robots.txt для всех сайтов-зеркал выглядит так
User-Agent: *
Disallow: /images
Disallow: /include
Host: www.yoursite.ru

# по умолчанию Google игнорирует Host, надо сделать так
User-Agent: * # индексируют все
Disallow: /admin/ # запрещаем индекс админа
Host: www.mainsite.ru # указываем главное зеркало
User-Agent: Googlebot # теперь команды для Google
Disallow: /admin/ # запрет для Google

5. Примеры названий роботов

Роботы Яндекса
У Яндекса есть несколько видов роботов, которые решают самые разные задачи: один отвечают за индексацию изображений, другие за индексацию rss данных для сбора данных по блогам, третьи - мультимедийные данные. Самый главный - YandexBot , он индексирует сайт с целью составить общую базу данных по сайту (заголовки, ссылки, текст и тп). Также есть робот для быстрой индексации (индексация новостей и тп).

YandexBot -- основной индексирующий робот;
YandexMedia -- робот, индексирующий мультимедийные данные;
YandexImages -- индексатор Яндекс.Картинок;
YandexCatalog -- «простукивалка» Яндекс.Каталога, используется для временного снятие с публикации недоступных сайтов в Каталоге;
YandexDirect -- робот Яндекс.Директа, особым образом интерпретирует robots.txt;
YandexBlogs -- робот поиска по блогам, индексирующий посты и комментарии;
YandexNews -- робот Яндекс.Новостей;
YandexPagechecker -- валидатор микроразметки;
YandexMetrika -- робот Яндекс.Метрики;
YandexMarket -- робот Яндекс.Маркета;
YandexCalendar -- робот Яндекс.Календаря.

6. Пример готового robots.txt

Собственно пришли к примеру готового файла. Надеюсь после приведённых выше примеров Вам всё будет понятно.

User-agent: *
Disallow: /admin/
Disallow: /cache/
Disallow: /components/

User-agent: Yandex
Disallow: /admin/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/

Sitemap: http://yoursite.ru/structure/my_sitemaps.xml

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

Казалось бы, зачем запрещать индексировать какое-то содержимое сайта? Дескать, пусть поисковый робот индексирует все без разбору, руководствуясь принципом: чем больше страниц, тем лучше! Так рассуждать может лишь дилетант от СЕО.

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

Поисковый робот, придя к вам на сайт, первым долгом пытается отыскать пресловутый robots.txt. Если этот файл им не обнаружен или обнаружен, но при этом он составлен неправильно (без необходимых запретов), «посланник» поисковой системы начинает изучать сайт по своему собственному усмотрению.

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

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

«User-agent:» – основная директива robots.txt

На практике в robots.txt с помощью специальных терминов прописываются директивы (команды), главной среди которых можно считать директиву «User-agent: ». Последняя используется для конкретизации поискового робота, которому в дальнейшем будут даваться те или иные указания. Например:

  • User-agent: Googlebot – все команды, которые последуют после этой базовой директивы, будет касаться исключительно поисковой системы Google (ее индексирующего робота);
  • User-agent: Yandex – адресат в данном случае отечественный поисковик Яндекс.

В файле robots.txt можно обратиться ко всем остальным поисковым системам вместе взятым. Команда в этом случае будет выглядеть так: User-agent: * . Под специальным символом «*» принято понимать «любой текст». В нашем случае – любые другие, кроме Яндекса, поисковики. Гугл, кстати, тоже воспринимает данную директиву на свой счет, если не обращаться лично к нему.

Команда «Disallow:» – запрет индексации в robots.txt

После основной директивы «User-agent:», обращенной к поисковым системам, могут следовать конкретные команды. В их числе самой распространенной можно считать директиву «Disallow: ». При помощи этой команды поисковому роботу можно запретить индексировать веб-ресурс целиком или какую-то его часть. Все зависит от того, какое расширение будет у данной директивы. Рассмотрим примеры:

User-agent: Yandex Disallow: /

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

User-agent: Yandex Disallow: /wp-admin

Как видно, на этот раз уточнения имеются и касаются они системной папки wp-admin в . То есть индексирующий робот посредством данной команды (прописанному в ней пути) откажется от индексации всей этой папки.

User-agent: Yandex Disallow: /wp-content/themes

Такое указание роботу Яндекса предполагает его допуск в большую категорию «wp-content », в которой он может индексировать все содержимое, кроме «themes ».

Исследуем «запретные» возможности текстового документа robots.txt дальше:

User-agent: Yandex Disallow: /index$

В данной команде, как следует из примера, используется еще один специальный знак «$». Его применение подсказывает роботу, что нельзя индексировать те страницы, в ссылках которых имеется последовательность букв «index ». При этом индексировать отдельный файл сайта с аналогичным названием «index.php » роботу не запрещено. Таким образом, символ «$» применяется в случае, когда необходим избирательный подход к запрету индексации.

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

User-agent: Yandex Disallow: *&*

Эта команда приказывает поисковому роботу Яндекса не индексировать все те страницы веб-сайта, в URL-адресах которых встречается символ «&». Причем этот знак в ссылке должен стоять между любыми другими символами. Однако может быть и другая ситуация:

User-agent: Yandex Disallow: *&

Тут запрет индексации касается всех тех страниц, ссылки которых заканчиваются на «&».

Если с запретом индексации системных файлов сайта вопросов быть не должно, то по поводу запрета индексировать отдельные страницы ресурса такие могут возникнуть. Мол, зачем это нужно в принципе? Соображений на сей счет у опытного веб-мастера может быть много, но главное из них – необходимость избавиться в поиске от дубликатов страниц. С помощью команды «Disallow:» и группы специальных символов, рассмотренных выше, бороться с «нежелательными» страницами можно довольно просто.

Команда «Allow:» – разрешение индексации в robots.txt

Антиподом предыдущей директивы можно считать команду «Allow: ». При помощи тех же самых уточняющих элементов, но используя данную команду в файле robots.txt можно разрешить индексирующему роботу вносить нужные вам элементы сайта в поисковую базу. В подтверждение – очередной пример:

User-agent: Yandex Allow: /wp-admin

По какой-то причине веб-мастер передумал и внес соответствующие корректировки в robots.txt. Как следствие, отныне содержимое папки wp-admin официально разрешено к индексации Яндексом.

Несмотря на то, что команда «Allow:» существует, на практике она используется не так уж и часто. По большому счету в ней нет надобности, поскольку она применяется автоматически. Владельцу сайта достаточно воспользоваться директивой «Disallow:», запретив к индексации то или иное его содержимое. После этого весь остальной контент ресурса, который не запрещен в файле robots.txt, воспринимается поисковым роботом как такой, который индексировать можно и нужно. Все как в юриспруденции: «Все, что не запрещено законом, – разрешено».

Директивы «Host:» и «Sitemap:»

Завершают обзор важных директив в robots.txt команды «Host: » и «Sitemap: ». Что касается первой, то она предназначается исключительно для Яндекса, указывая ему, какое зеркало сайта (с www или без) считать основным. На примере сайт это может выглядеть следующим образом:

User-agent: Yandex Host: сайт

User-agent: Yandex Host: www.сайт

Использование этой команды также позволяет избегать ненужного дублирования содержимого сайта.

В свою очередь директива «Sitemap: » указывает индексирующему роботу правильный путь к так называемой Карте сайта – файлам sitemap.xml и sitemap.xml.gz (в случае с CMS WordPress). Гипотетический пример может быть следующим:

User-agent: * Sitemap: http://сайт/sitemap.xml Sitemap: http://сайт/sitemap.xml.gz

Прописывание данной команды в файле robots.txt поможет поисковому роботу быстрее проиндексировать Карту сайта. Это, в свою очередь, также ускорит процесс попадания страниц веб-ресурса в поисковую выдачу.

Файл robots.txt готов – что дальше?

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

  • воспользоваться текстовым редактором (например, Notepad) для составления нужного вам robots.txt;
  • проверить корректность созданного документа, например, посредством данного сервиса Яндекса ;
  • при помощи FTP-клиента закачать готовый файл в корневую папку своего сайта (в ситуации с WordPress речь обычно идет о системной папке Public_html).

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

Удачных экспериментов и спасибо, что читали!

Здравствуйте! В моей жизни было такое время, когда я абсолютно ничего не знал про создание сайтов и уж тем более не догадывался про существование файла robots.txt.

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

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

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

Для регулирования доступа существуют различные директивы:

  • User-agent — агент пользователя, для которого указаны правила доступа,
  • Disallow — запрещает доступ к URL,
  • Allow — разрешает доступ к URL,
  • Sitemap — указывает путь к ,
  • Crawl-delay — задает интервал сканирования URL (только для Яндекса),
  • Clean-param — игнорирует динамические параметры URL (только для Яндекса),
  • Host — указывает главное зеркало сайта (только для Яндекса).

Обратите внимание, с 20 марта 2018 года Яндекс официально прекратил поддержку директивы Host. Её можно удалить из robots.txt, а если оставить, то робот её просто игнорирует.

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

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

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

Сразу хочу отметить, что поисковые системы по разному относятся к этому файлу. Например, Яндекс безоговорочно следует его правилам и исключает запрещенные страницы из индексирования, в то время как Google воспринимает этот файл как рекомендацию и не более.

Для запрета индексирования страниц возможно применение иных средств:

  • редирект или на каталог с помощью файла.htaccess,
  • мета-тег noindex (не путать с тегом для запрета индексации части текста),
  • атрибут для ссылок, а также удаление ссылок на лишние страницы.

При этом Google может успешно добавить в поисковую выдачу страницы, запрещенные к индексации, несмотря на все ограничения. Его основной аргумент — если на страницу ссылаются, значит она может появится в результатах поиска. В данном случае рекомендуется не ссылаться на такие страницы, но позвольте, файл robots.txt как раз и предназначен для того, чтобы выкинуть из выдачи такие страницы… На мой взгляд, логика отсутствует 🙄

Удаление страниц из поиска

Если запрещенные страницы все же были проиндексированы, то необходимо воспользоваться Google Search Console и входящим в ее состав инструментом удаления URL-адресов:

Аналогичный инструмент есть в Яндекс Вебмастере. Подробнее об удалении страниц из индекса поисковых систем в отдельной статье.

Проверка robots.txt

Продолжая тему с Google, можно воспользоваться еще одним инструментом Search Console и проверить файл robots.txt, правильно ли он составлен для запрета индексирования определенных страниц:

Для этого достаточно ввести в текстовое поле URL-адреса, которые необходимо проверить и нажать кнопку Проверить — в результате проверки выяснится, запрещена данная страница к индексации или же ее содержимое доступно для поисковых роботов.

У Яндекса также есть подобный инструмент, находящийся в Вебмастере, проверка осуществляется аналогичным образом:

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

О правильном составлении файла читайте по ссылке. До встречи!

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

Пометьте , скопируйте и вставьте текст в текстовый редактор. Сохраните файл как "robots.txt" в корневой директории Вашего сайта.

Описание формата файла robots.txt

Файл robots.txt состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:

Директива ":" значение

Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.

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

Для Рамблера: User-agent: StackRambler Для Яндекса: User-agent: Yandex Для Гугла: User-Agent: googlebot

Вы можете создать инструкцию для всех роботов:

User-agent: *

Директива Disallow :

Вторая часть записи состоит из строк Disallow . Эти строки - директивы (указания, команды) для данного робота. В каждой группе, вводимой строкой User-agent, должна быть хотя бы одна инструкция Disallow . Количество инструкций Disallow не ограничено.Они сообщают роботу какие файлы и/или каталоги роботу неразрешено индексировать. Вы можете запретить индексацию файла или каталога.

Следующая директива запрещает индексацию каталога /cgi-bin/:

Disallow: /cgi-bin/ Обратите внимание на / в конце названия директории! Чтобы запрещать посещение именно каталога "/dir" , инструкция должна иметь вид: "Disallow: /dir/" . А строка "Disallow: /dir" запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html".

Записанная следующим образом директива запрещает индексацию файла index.htm находящегося в корне:

Disallow: /index.htm

Директиву Allow понимает только Яндекс.

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц начинающихся с "/cgi-bin" Для остальных поисковиков вам придется перечислять все закрытые документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.

Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent , чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.

Робот Рамблера понимает * как любой символ, поэтому инструкция Disallow: * означает запрещение индексации всего сайта.

Директивы Allow, Disallow без параметров. Отсутствие параметров у директив 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

Директива Host .

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

Примеры игнорируемых директив Host:

Host: www.myhost-.ru Host: www.-myhost.ru Host: www.myhost.ru:100000 Host: www.my_host.ru Host: .my-host.ru:8000 Host: my-host.ru. Host: my..host.ru Host: www.myhost.ru/ Host: www.myhost.ru:8080/ Host: 213.180.194.129 Host: www.firsthost.ru,www.secondhost.ru # в одной строке - один домен! Host: www.firsthost.ru www.secondhost.ru # в одной строке - один домен!! Host: экипаж-связь.рф # нужно использовать punycode

Директива Crawl-delay

Задает таймаут в секундах, с которым поисковый робот закачивает страницы с вашего сервера (Crawl-delay).

Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой "Crawl-delay". Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "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 секунды

Директива Clean-param

Директива для исключения параметров из адресной строки. т.е. запросы содержащие такой параметр и не содержащие - будут считаться идентичными.

Пустые строки и комментарии

Пустые строки допускаются между группами инструкций, вводимыми User-agent .

Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent .

Любой текст от знака решетки " # " до конца строки считается комментарием и игнорируется.

Пример:

Следующий простой файл robots.txt запрещает индексацию всех страниц сайта всем роботам, кроме робота Рамблера, которому, наоборот, разрешена индексация всех страниц сайта.

# Инструкции для всех роботов User-agent: * Disallow: / # Инструкции для робота Рамблера User-agent: StackRambler Disallow:

Распространенные ошибки:

Перевернутый синтаксис: User-agent: / Disallow: StackRambler А должно быть так: User-agent: StackRambler Disallow: / Несколько директив Disallow в одной строке: Disallow: /css/ /cgi-bin/ /images/ Правильно так: Disallow: /css/ Disallow: /cgi-bin/ Disallow: /images/
    Примечания:
  1. Недопустимо наличие пустых переводов строки между директивами "User-agent" и "Disallow" ("Allow"), а также между самими "Disallow" ("Allow") директивами.
  2. В соответствии со стандартом перед каждой директивой "User-agent" рекомендуется вставлять пустой перевод строки.