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

Находится данный файл Робота в корневом каталоге вашего сайта и открывается/редактируется простым блокнотом, я рекомендую Notepad++. Для тех, кто не любит читать — есть ВИДЕО, смотрите в конце статьи 😉

Зачем нужен robots.txt

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

  • Служебные файлы и папки CMS
  • Дубликаты
  • Документы, которые не несут пользу для пользователя
  • Не уникальные страницы

Разберем конкретный пример:

Интернет-магазин по продаже обуви и реализован на одной из популярных CMS, причем не лучшим образом. Я могу сразу сказать, что будут в выдаче страницы поиска, пагинация, корзина, некоторые файлы движка и т.д. Все это будут дубли и служебные файлы, которые бесполезны для пользователя. Следовательно, они должны быть закрыты от индексации, а если еще есть раздел «Новости» в которые копипастятся разные интересные статьи с сайтов конкурентов – то и думать не надо, сразу закрываем.

Поэтому обязательно получаемся файлом robots.txt, чтобы в выдачу не попадал мусор. Не забываем, что файл должен открываться по адресу http://site.ru/robots.txt.

Директивы robots.txt и правила настройки

User-agent. Это обращение к конкретному роботу поисковой системы или ко всем роботам. Если прописывается конкретное название робота, например «YandexMedia», то общие директивы user-agent не используются для него. Пример написания:

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

Disallow/Allow. Это запрет/разрешение индексации конкретного документа или разделу. Порядок написания не имеет значения, но при 2 директивах и одинаковом префиксе приоритет отдается «Allow». Считывает поисковый робот их по длине префикса, от меньшего к большему. Если вам нужно запретить индексацию страницы — просто введи относительный путь до нее (Disallow: /blog/post-1).

User-agent: Yandex Disallow: / Allow: /articles # Запрещаем индексацию сайта, кроме 1 раздела articles

Регулярные выражения с * и $. Звездочка означает любую последовательность символов (в том числе и пустую). Знак доллара означает прерывание. Примеры использования:

Disallow: /page* # запрещает все страницы, конструкции http://site.ru/page Disallow: /arcticles$ # запрещаем только страницу http://site.ru/articles, разрешая страницы http://site.ru/articles/new

Директива Sitemap. Если вы используете – то в robots.txt она должна указываться так:

Sitemap: http://site.ru/sitemap.xml

Директива Host. Как вам известно у сайтов есть зеркала (читаем, ). Данное правило указывает поисковому боту на главное зеркало вашего ресурса. Относится к Яндексу. Если у вас зеркало без WWW, то пишем:

Host: site.ru

Crawl-delay. Задает задержу (в секундах) между скачками ботом ваших документов. Прописывается после директив Disallow/Allow.

Crawl-delay: 5 # таймаут в 5 секунд

Clean-param. Указывает поисковому боту, что не нужно скачивать дополнительно дублирующую информацию (идентификаторы сессий, рефереров, пользователей). Прописывать Clean-param следует для динамических страниц:

Clean-param: ref /category/books # указываем, что наша страница основная, а http://site.ru/category/books?ref=yandex.ru&id=1 это та же страница, но с параметрами

Главное правило: robots.txt должен быть написан в нижнем регистре и лежать в корне сайта. Пример структуры файла:

User-agent: Yandex Disallow: /cart Allow: /cart/images Sitemap: http://site.ru/sitemap.xml Host: site.ru Crawl-delay: 2

Мета-тег robots и как он прописывается

Данный вариант запрета страниц лучше учитывается поисковой системой Google. Яндекс одинаково хорошо учитывает оба варианта.

Директив у него 2: follow/nofollow и index/noindex . Это разрешение/запрет перехода по ссылкам и разрешение/запрет на индексацию документа. Директивы можно прописывать вместе, смотрим пример ниже.

Для любой отдельной страницы вы можете прописать в теге следующее:

Правильные файлы robots.txt для популярных CMS

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

Ниже вы можете увидеть мой вариант с данного Seo блога.

User-agent: Yandex Disallow: /wp-content/uploads/ Allow: /wp-content/uploads/*/*/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.xml

Трэкбэки запрещаю потому что это дублирует кусок статьи в комментах. А если трэкбэков много — вы получите кучу одинаковых комментариев.

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

Фиды (feed) стоит закрывать, т.к. это частичные либо полные дубли страниц.

Теги закрываем, если мы их не используем или нам лень их оптимизировать.

Примеры для других CMS

Чтобы скачать правильный robots для нужной CMS просто кликните по соответствующей ссылке.

Здравствуйте, уважаемые читатели блога «Мир Вебмастера»!

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

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

О том, как оформить файл robots.txt, какой синтаксис нужно использовать при этом, как разрешать и запрещать к индексу документы, и пойдет речь в этой статье.

О файле robots.txt

Сначала давайте подробнее узнаем, что же это за файл такой.

Файл роботс – это файл, который показывает поисковым системам, какие страницы и документы сайта можно добавлять в индекс, а какие – нельзя. Он необходим из-за того, что изначально поисковые системы стараются проиндексировать весь сайт, а это не всегда правильно. Например, если вы создаете сайт на движке (WordPress, Joomla и т.д.), то у вас будут присутствовать папки, организующие работу административной панели. Понятно, что информацию в этих папках индексировать нельзя, как раз в этом случае и используется файл robots.txt, который ограничивает доступ поисковикам.

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

Зеркало – это абсолютная копия сайта, т.е. когда один сайт , то говорят, что один из них – это главный домен, а другой – его зеркало.

Таким образом, у файла достаточно много функций, причем немаловажных!

Синтаксис файла robots.txt

Файл роботс содержит блоки правил, которые говорят той или иной поисковой системе, что можно индексировать, а что нет. Блок правил может быть и один (для всех поисковиков), но также их может быть несколько – для каких-то конкретных поисковиков отдельно.

Каждый такой блок начинается с оператора «User-Agent», который указывает, к какой поисковой системе применимы данные правила.

User- Agent: A
{правила для робота «А»}

User- Agent: B
{правила для робота «В»}

В примере выше показано, что оператор «User-Agent» имеет параметр – имя робота поисковой системы, к которой применяются правила. Основные из них я укажу ниже:

После «User-Agent» идут другие операторы. Вот их описание:

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

Оператор1: параметр1

Оператор2: параметр2

Таким образом, сначала мы пишем название оператора (неважно, большими или маленькими буквами), затем ставим двоеточие и через пробел указываем параметр данного оператора. Затем с новой строки таким же образом описываем оператор два.

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

Пример файла robots.txt

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

User-agent: Yandex
Allow: /folder1/
Disallow: /file1.html
Host: www.site.ru

User-agent: *
Disallow: /document.php
Disallow: /folderxxx/
Disallow: /folderyyy/folderzzz
Disallow: /feed/

Sitemap: http://www.site.ru/sitemap.xml

Теперь разберем описанный пример.

Файл состоит из трех блоков: первый для Яндекса, второй для всех поисковых систем, а в третьем указан адрес карты сайта (применяется автоматически для всех поисковиков, поэтому указывать «User-Agent» не нужно). Яндексу мы разрешили индексировать папку «folder1» и все ее содержимое, но запретили индексировать документ «file1.html», находящийся в корневом каталоге на хостинге. Также мы указали главный домен сайта яндексу. Второй блок – для всех поисковиков. Там мы запретили документ «document.php», а также папки «folderxxx», «folderyyy/folderzzz» и «feed».

Обратите внимание, что мы запретили в втором блоке команд к индексу не всю папку «folderyyy», а лишь папку внутри этой папки – «folderzzz». Т.е. мы указали полный путь для «folderzzz». Так всегда нужно делать, если мы запрещаем документ, находящийся не в корневом каталоге сайта, а где-то внутри других папок.

Создание займет меньше двух минут:

Созданный файл роботс можно проверить на работоспособность в панели вебмастеров Яндекса . Если в файле вдруг обнаружатся ошибки, то яндекс это покажет.

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

Время чтения: 7 минут(ы)


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

Зачем нужна настройка robots.txt?

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

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

    Поисковый робот будет считывать весь сайт, что «подорвет» краулинговый бюджет. Краулинговый бюджет - это число страниц, которые поисковый робот способен обойти за определенный промежуток времени.

    Без файла robots, поисковик получит доступ к черновым и скрытым страницам, к сотням страниц, используемых для администрирования CMS. Он их проиндексирует, а когда дело дойдет до нужных страниц, на которых представлен непосредственный контент для посетителей, «закончится» краулинговый бюджет.

    В индекс может попасть страница входа на сайт, другие ресурсы администратора, поэтому злоумышленник сможет легко их отследить и провести ddos атаку или взломать сайт.

Как поисковые роботы видят сайт с robots.txt и без него:


Синтаксис robots.txt

Прежде чем начать разбирать синтаксис и настраивать robots.txt, посмотрим на то, как должен выглядеть «идеальный файл»:


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

User-agent

User-agent - определяет поискового робота, который обязан следовать описанным в файле инструкциям. Если необходимо обратиться сразу ко всем, то используется значок *. Также можно обратиться к определенному поисковому роботу. Например, Яндекс и Google:


С помощью этой директивы, робот понимает какие файлы и папки индексировать запрещено. Если вы хотите, чтобы весь ваш сайт был открыт для индексации оставьте значение Disallow пустым. Чтобы скрыть весь контент на сайте после Disallow поставьте “/”.

Мы можем запретить доступ к определенной папке, файлу или расширению файла. В нашем примере, мы обращаемся ко всем поисковым роботам, закрываем доступ к папке bitrix, search и расширению pdf.


Allow

Allow принудительно открывает для индексирования страницы и разделы сайта. На примере выше мы обращаемся к поисковому роботу Google, закрываем доступ к папке bitrix, search и расширению pdf. Но в папке bitrix мы принудительно открываем 3 папки для индексирования: components, js, tools.


Host - зеркало сайта

Зеркало сайта - это дубликат основного сайта. Зеркала используются для самых разных целей: смена адреса, безопасность, снижение нагрузки на сервер и т. д.

Host - одно из самых важных правил. Если прописано данное правило, то робот поймет, какое из зеркал сайта стоит учитывать для индексации. Данная директива необходима для роботов Яндекса и Mail.ru. Другие роботы это правило будут игнорировать. Host прописывается только один раз!

Для протоколов «https://» и «http://», синтаксис в файле robots.txt будет разный.

Sitemap - карта сайта

Карта сайта - это форма навигации по сайту, которая используется для информирования поисковых систем о новых страницах. С помощью директивы sitemap, мы «насильно» показываем роботу, где расположена карта.


Символы в robots.txt

Символы, применяемые в файле: «/, *, $, #».


Проверка работоспособности после настройки robots.txt

После того как вы разместили Robots.txt на своем сайте, вам необходимо добавить и проверить его в вебмастере Яндекса и Google.

Проверка Яндекса:

  1. Перейдите по ссылке .
  2. Выберите: Настройка индексирования - Анализ robots.txt.

Проверка Google:

  1. Перейдите по ссылке .
  2. Выберите: Сканирование - Инструмент проверки файла robots.txt.

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

  1. Содержимое файла необходимо писать прописными буквами.
  2. В директиве Disallow нужно указывать только один файл или директорию.
  3. Строка «User-agent» не должна быть пустой.
  4. User-agent всегда должна идти перед Disallow.
  5. Не стоит забывать прописывать слэш, если нужно запретить индексацию директории.
  6. Перед загрузкой файла на сервер, обязательно нужно проверить его на наличие синтаксических и орфографических ошибок.

Успехов вам!

Видеообзор 3 методов создания и настройки файла Robots.txt

Это текстовый файл (документ в формате.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 является одним из самых важных при оптимизации любого сайта. Его отсутствие может привести к высокой нагрузке на сайт со стороны поисковых роботов и медленной индексации и переиндексации, а неправильная настройка к тому, что сайт полностью пропадет из поиска или просто не будет проиндексирован. Следовательно, не будет искаться в Яндексе, Google и других поисковых системах. Давайте разберемся во всех нюансах правильной настройки robots.txt.

Для начала короткое видео, которое создаст общее представление о том, что такое файл robots.txt.

Как влияет robots.txt на индексацию сайта

Поисковые роботы будут индексировать ваш сайт независимо от наличия файла robots.txt. Если же такой файл существует, то роботы могут руководствоваться правилами, которые в этом файле прописываются. При этом некоторые роботы могут игнорировать те или иные правила, либо некоторые правила могут быть специфичными только для некоторых ботов. В частности, GoogleBot не использует директиву Host и Crawl-Delay, YandexNews с недавних пор стал игнорировать директиву Crawl-Delay, а YandexDirect и YandexVideoParser игнорируют более общие директивы в роботсе (но руководствуются теми, которые указаны специально для них).

Подробнее об исключениях:
Исключения Яндекса
Стандарт исключений для роботов (Википедия)

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

К таким ненужным страницам относятся скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и т.д., формы заказа и корзина со всеми шагами оформления покупки, функционал поиска, личный кабинет, админка.

Для большинства роботов также желательно отключить индексацию всех JS и CSS. Но для GoogleBot и Yandex такие файлы нужно оставить для индексирования, так как они используются поисковыми системами для анализа удобства сайта и его ранжирования (пруф Google , пруф Яндекс).

Директивы robots.txt

Директивы — это правила для роботов. Есть спецификация W3C от 30 января 1994 года и расширенный стандарт от 1996 года . Однако не все поисковые системы и роботы поддерживают те или иные директивы. В связи с этим для нас полезнее будет знать не стандарт, а то, как руководствуются теми или иными директивы основные роботы.

Давайте рассмотрим по порядку.

User-agent

Это самая главная директива, определяющая для каких роботов далее следуют правила.

Для всех роботов:
User-agent: *

Для конкретного бота:
User-agent: GoogleBot

Обратите внимание, что в robots.txt не важен регистр символов. Т.е. юзер-агент для гугла можно с таким же успехом записать соледующим образом:
user-agent: googlebot

Ниже приведена таблица основных юзер-агентов различных поисковых систем.

Бот Функция
Google
Googlebot основной индексирующий робот Google
Googlebot-News Google Новости
Googlebot-Image Google Картинки
Googlebot-Video видео
Mediapartners-Google
Mediapartners Google AdSense, Google Mobile AdSense
AdsBot-Google проверка качества целевой страницы
AdsBot-Google-Mobile-Apps Робот Google для приложений
Яндекс
YandexBot основной индексирующий робот Яндекса
YandexImages Яндекс.Картинки
YandexVideo Яндекс.Видео
YandexMedia мультимедийные данные
YandexBlogs робот поиска по блогам
YandexAddurl робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
YandexFavicons робот, индексирующий пиктограммы сайтов (favicons)
YandexDirect Яндекс.Директ
YandexMetrika Яндекс.Метрика
YandexCatalog Яндекс.Каталог
YandexNews Яндекс.Новости
YandexImageResizer робот мобильных сервисов
Bing
Bingbot основной индексирующий робот Bing
Yahoo!
Slurp основной индексирующий робот Yahoo!
Mail.Ru
Mail.Ru основной индексирующий робот Mail.Ru
Rambler
StackRambler Ранее основной индексирующий робот Rambler. Однако с 23.06.11 Rambler перестает поддерживать собственную поисковую систему и теперь использует на своих сервисах технологию Яндекса. Более не актуально.

Disallow и Allow

Disallow закрывает от индексирования страницы и разделы сайта.
Allow принудительно открывает для индексирования страницы и разделы сайта.

Но здесь не все так просто.

Во-первых, нужно знать дополнительные операторы и понимать, как они используются — это *, $ и #.

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

Примеры использования:

Disallow: *?s=
Disallow: /category/$

Во-вторых, нужно понимать, каким образом выполняются вложенные правила.
Помните, что порядок записи директив не важен. Наследование правил, что открыть или закрыть от индексации определяется по тому, какие директории указаны. Разберем на примере.

Allow: *.css
Disallow: /template/

http://site.ru/template/ — закрыто от индексирования
http://site.ru/template/style.css — закрыто от индексирования
http://site.ru/style.css — открыто для индексирования
http://site.ru/theme/style.css — открыто для индексирования

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

Allow: *.css
Allow: /template/*.css
Disallow: /template/

Повторюсь, порядок директив не важен.

Sitemap

Директива для указания пути к XML-файлу Sitemap. URL-адрес прописывается так же, как в адресной строке.

Например,

Sitemap: http://site.ru/sitemap.xml

Директива Sitemap указывается в любом месте файла robots.txt без привязки к конкретному user-agent. Можно указать несколько правил Sitemap.

Host

Директива для указания главного зеркала сайта (в большинстве случаев: с www или без www). Обратите внимание, что главное зеркало указывается БЕЗ http://, но С https://. Также если необходимо, то указывается порт.
Директива поддерживается только ботами Яндекса и Mail.Ru. Другими роботами, в частности GoogleBot, команда не будет учтена. Host прописывается только один раз!

Пример 1:
Host: site.ru

Пример 2:
Host: https://site.ru

Crawl-delay

Директива для установления интервала времени между скачиванием роботом страниц сайта. Поддерживается роботами Яндекса, Mail.Ru, Bing, Yahoo. Значение может устанавливаться в целых или дробных единицах (разделитель — точка), время в секундах.

Пример 1:
Crawl-delay: 3

Пример 2:
Crawl-delay: 0.5

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

Чем больше значение, тем меньше страниц робот загрузит за одну сессию. Оптимальное значение определяется индивидуально для каждого сайта. Лучше начинать с не очень больших значений — 0.1, 0.2, 0.5 — и постепенно их увеличивать. Для роботов поисковых систем, имеющих меньшее значение для результатов продвижения, таких как Mail.Ru, Bing и Yahoo можно изначально установить бо́льшие значения, чем для роботов Яндекса.

Clean-param

Это правило сообщает краулеру, что URL-адреса с указанными параметрами не нужно индексировать. Для правила указывается два аргумента: параметр и URL раздела. Директива поддерживается Яндексом.

Clean-param: author_id http://site.ru/articles/

Clean-param: author_id&sid http://site.ru/articles/

Clean-Param: utm_source&utm_medium&utm_campaign

Другие параметры

В расширенной спецификации robots.txt можно найти еще параметры Request-rate и Visit-time. Однако они на данный момент не поддерживаются ведущими поисковыми системами.

Смысл директив:
Request-rate: 1/5 — загружать не более одной страницы за пять секунд
Visit-time: 0600-0845 — загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.

Закрывающий robots.txt

Если вам нужно настроить, чтобы ваш сайт НЕ индексировался поисковыми роботами, то вам нужно прописать следующие директивы:

User-agent: *
Disallow: /

Проверьте, чтобы на тестовых площадках вашего сайта были прописаны эти директивы.

Правильная настройка robots.txt

Для России и стран СНГ, где доля Яндекса ощутима, следует прописывать директивы для всех роботов и отдельно для Яндекса и Google.

Чтобы правильно настроить robots.txt воспользуйтесь следующим алгоритмом:

  1. Закройте от индексирования админку сайта
  2. Закройте от индексирования личный кабинет, авторизацию, регистрацию
  3. Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
  4. Закройте от индексирования ajax, json-скрипты
  5. Закройте от индексирования папку cgi
  6. Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
  7. Закройте от индексирования функционал поиска
  8. Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
  9. Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
  10. Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
  11. Закройте от индексирования страницы с параметрами UTM-меток и сессий
  12. Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
  13. Укажите Sitemap и Host
  14. По необходимости пропишите Crawl-Delay и Clean-Param
  15. Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
  16. Через 2 недели перепроверьте, появились ли в поисковой выдаче новые страницы, которые не должны индексироваться. В случае необходимости повторить выше перечисленные шаги.

Пример robots.txt

# Пример файла robots.txt для настройки гипотетического сайта https://site.ru User-agent: * Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Disallow: *utm= Crawl-Delay: 5 User-agent: GoogleBot Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Disallow: *utm= Allow: /plugins/*.css Allow: /plugins/*.js Allow: /plugins/*.png Allow: /plugins/*.jpg Allow: /plugins/*.gif User-agent: Yandex Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Allow: /plugins/*.css Allow: /plugins/*.js Allow: /plugins/*.png Allow: /plugins/*.jpg Allow: /plugins/*.gif Clean-Param: utm_source&utm_medium&utm_campaign Crawl-Delay: 0.5 Sitemap: https://site.ru/sitemap.xml Host: https://site.ru

Как добавить и где находится robots.txt

После того как вы создали файл robots.txt, его необходимо разместить на вашем сайте по адресу site.ru/robots.txt — т.е. в корневом каталоге. Поисковый робот всегда обращается к файлу по URL /robots.txt

Как проверить robots.txt

Проверка robots.txt осуществляется по следующим ссылкам:

  • В Яндекс.Вебмастере — на вкладке Инструменты>Анализ robots.txt
  • В Google Search Console — на вкладке Сканирование>Инструмент проверки файла robots.txt

Типичные ошибки в robots.txt

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

  • robots.txt отсутствует
  • в robots.txt сайт закрыт от индексирования (Disallow: /)
  • в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
  • в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
  • в файле указаны только директивы
    Allow: *.css
    Allow: *.js
    Allow: *.png
    Allow: *.jpg
    Allow: *.gif
    при этом файлы css, js, png, jpg, gif закрыты другими директивами в ряде директорий
  • директива Host прописана несколько раз
  • в Host не указан протокол https
  • путь к Sitemap указан неверно, либо указан неверный протокол или зеркало сайта

P.S.

P.S.2

Полезное видео от Яндекса (Внимание! Некоторые рекомендации подходят только для Яндекса).