Как редактировать файл robots txt. Роботы яндекса Как создать файл роботс

Файл sitemap.xml и правильный robots.txt для сайта - это два обязательных документа, которые способствуют быстрому и полноценному индексированию всех необходимых страниц веб-ресурса поисковыми роботами. Правильная индексация сайта в Яндексе и Google - залог успешного продвижения блога в поисковых системах.

Как сделать карту сайта в формате XML и для чего она нужна я уже писал . А сейчас давайте поговорим о том, как создать правильный robots.txt для сайта на Вордпресс и для чего он вообще нужен. Подробную информацию об этом файле можно получить у самих Яндекса и Гугла, соответственно и . Я же коснусь самой сути и затрону основные настройки robots.txt для WordPress на примере своего файла.

Зачем нужен файл robots.txt для сайта

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

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

  • исключить из индекса дубликаты и различные мусорные страницы;
  • наложить запрет на индексацию страниц, файлов и папок, которые мы хотим скрыть;
  • вообще отказать в индексации некоторым поисковым роботам (например, Yahoo, чтобы скрыть от конкурентов информацию о входящих ссылках);
  • указать главное зеркало сайта (с www или без www);
  • указать путь к карте сайта sitemap.xml.

Как создать правильный robots.txt для сайта

Для этой цели существуют специальные генераторы и плагины, но правильнее это сделать вручную.

Надо просто создать обычный текстовый файл с названием robots.txt, воспользовавшись любым текстовым редактором (например, Блокнотом или Notepad++) и загрузить его на хостинг в корневую папку блога. В этом файле надо прописать определенные директивы, т.е. правила индексации для роботов Яндекса, Гугла и др.

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

Правила создания и директивы robots.txt

Для успешной поисковой оптимизации блога надо знать некоторые правила создания robots.txt:

  • Отсутствие или пустой файл robots.txt будет означать, что поисковикам разрешено индексировать все содержание веб-ресурса.
  • robots.txt должен открываться по адресу ваш сайт.ru/robots.txt , отдавая роботу код ответа 200 OK и иметь размер не более 32 Кб. Файл, который не удастся открыть (например, из-за 404 ошибки) или большего размера, будет считаться разрешающим.
  • Количество директив в файле не должно быть больше 1024. Длина одной строки – не более 1024 символов.
  • Правильный файл robots.txt может иметь несколько инструкций, каждая из которых должна начинаться с директивы User-agent и должна содержать хотя бы одну директиву Disallow. Обычно пишут инструкции в robots.txt для Google и всех остальных роботов и отдельно для Яндекса.

Основные директивы robots.txt:

User-agent – указывает, какому поисковому роботу адресована инструкция.

Символ “*” означает, что это относится ко всем роботам, например:

User-agent: *

Если нам надо создать правило в robots.txt для Яндекса, то пишем:

User-agent: Yandex

Если указана директива для конкретного робота, директива User-agent: * ним не учитывается.

Disallow и Allow – соответственно, запрещают и разрешают роботам индексацию указанных страниц. Все адреса надо указывать от корня сайта, т.е. начиная с третьего слеша. Например:

  • Запрет индексации всего сайта всем роботам:

    User-agent: *
    Disallow: /

  • Запрещено индексировать Яндексу все страницы, начинающиеся с /wp-admin:

    User-agent: Yandex
    Disallow: /wp-admin

  • Пустая директива Disallow разрешает индексировать все и аналогична Allow. Например, разрешаю индексировать Яндексу весь сайт:

    User-agent: Yandex
    Disallow:

  • И наоборот, запрещаю индексировать все страницы всем поисковым роботам:

    User-agent: *
    Allow:

  • Директивы Allow и Disallow из одного блока User-agent сортируются по длине префикса URL и выполняются последовательно. Если для одной страницы сайта подходит несколько директив, то выполняется последняя в списке. Теперь на использование директив роботом порядок их написания не имеет значения. Если у директив префиксы одинаковой длины, то первой выполняется Allow. Такие правила вступили в силу с 8.03.12 года. Например, разрешает индексировать только страницы начинающиеся с /wp-includes:

    User-agent: Yandex
    Disallow: /
    Allow: /wp-includes

Sitemap – указывает адрес карты сайта XML. На одном сайте может быть несколько директив Sitemap, которые могут быть вложенными. Все адреса файлов Sitemap надо указать в robots.txt, чтобы ускорить индексацию сайта:

Sitemap: http://сайт/sitemap.xml.gz
Sitemap: http://сайт/sitemap.xml

Host – сообщает роботу-зеркальщику, какое зеркало сайта считать главным.

Если сайт доступен по нескольким адресам (например, с www и без www), то это создает полные дубли страниц, за которые можно попасть под фильтр. Также, в этом случае, может быть проиндексирована не основная страница, а основная, наоборот, будет исключена из индекса поисковой системы. Чтобы этого не допустить служит директива Host, которая предназначена в файле robots.txt только для Яндекса и может быть только одна. Пишется она после Disallow и Allow и выглядит так:

Host: сайт

Crawl-delay – задает задержку между закачкой страниц в секундах. Используется, если идет большая нагрузка и сервер не успевает обрабатывать запросы. На молодых сайтах лучше директиву Crawl-delay не использовать. Пишется она так:

User-agent: Yandex
Crawl-delay: 4

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

Спецсимволы * и $ используются в robots.txt для указания путей директив Disallow и Allow:

  • Спецсимвол “*” означает любую последовательность символов. Например, Disallow: /*?* означает запрет на любые страницы, где в адресе встречается “?”, не зависимо от того, какие символы идут до и после этого знака. По умолчанию спецсимвол “*” добавляется к концу каждого правила, даже если он не прописан специально.
  • Символ “$” отменяет “*” на конце правила и означает строгое соответствие. Например, директива Disallow: /*?$ будет запрещать индексацию страниц, заканчивающихся знаком “?”.

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

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

User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

Чтобы не морочить себе голову с созданием правильного robots.txt для WordPress, можете использовать этот файл. Проблем с индексацией нет. У меня стоит скрипт защиты от копирования, поэтому будет удобнее готовый robots.txt скачать и загрузить его на свой хостинг. Только не забудьте заменить имя моего сайта на свое в директивах Host и Sitemap.

Полезные дополнения по правильной настройке файла robots.txt для WordPress

Если на вашем блоге Вордпресс установлены древовидные комментарии, то они создают дубли страниц вида ?replytocom= . В robots.txt такие страницы закрыты директивой Disallow: /*?* . Но это не выход и запреты лучше удалить, а с replytocom бороться другим способом. Каким, .

Таким образом, актуальный robots.txt на июль 2014 года выглядит так:

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

В нем дополнительно прописаны правила для роботов-индесаторов картинок.

User-agent: Mediapartners-Google
Disallow:

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

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

Disallow: /author/
Disallow: /tag
Disallow: /category/*/*
Disallow: /20*

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

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

Файл robots.txt находится в корневом каталоге вашего сайта. Например, на сайте www.example.com адрес файла robots.txt будет выглядеть как www.example.com/robots.txt. Файл robots.txt представляет собой обычный текстовый файл, который соответствует стандарту исключений для роботов , и включает одно или несколько правил, каждое из которых запрещает или разрешает тому или иному поисковому роботу доступ к определенному пути на сайте.

Вот пример простого файла robots.txt с двумя правилами. Ниже приведены пояснения.

# Группа 1 User-agent: Googlebot Disallow: /nogooglebot/ # Группа 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Пояснения

  1. Агент пользователя с названием Googlebot не должен сканировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (можно опустить, результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

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

Формат и расположение

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

При создании и тестировании файлов robots.txt используйте инструмент проверки . Он позволяет проанализировать синтаксис файла и узнать, как он будет функционировать на вашем сайте.

Правила в отношении формата и расположения файла

  • Файл должен носить название robots.txt.
  • На сайте должен быть только один такой файл.
  • Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать сканирование всех страниц сайта http://www.example.com/ , файл robots.txt следует разместить по адресу http://www.example.com/robots.txt . Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги .
  • Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website .example.com/robots.txt) или нестандартными портами (например, http://example.com:8181 /robots.txt).
  • Комментарием считается любой текст после символа #.

Синтаксис

  • Файл robots.txt должен представлять собой текстовый файл в кодировке UTF-8 (которая включает коды символов ASCII). Другие наборы символов использовать нельзя.
  • Файл robots.txt состоит из групп .
  • Каждая группа может содержать несколько правил , по одному на строку. Эти правила также называются директивами .
  • Группа включает следующую информацию:
    • К какому агенту пользователя применяются директивы группы.
    • есть доступ .
    • К каким каталогам или файлам у этого агента нет доступа .
  • Инструкции групп считываются сверху вниз. Робот будет следовать правилам только одной группы с наиболее точно соответствующим ему агентом пользователя.
  • По умолчанию предполагается , что если доступ к странице или каталогу не заблокирован правилом Disallow: , то агент пользователя может их обрабатывать.
  • Правила чувствительны к регистру . Так, правило Disallow: /file.asp применимо к URL http://www.example.com/file.asp , но не к http://www.example.com/File.asp .

Директивы, которые используются в файлах robots.txt

  • User-agent: Обязательная директива, в группе таких может быть несколько . Определяет, к какому поисковому роботу должны применяться правила. С такой строки начинается каждая группа. Большинство агентов пользователя, относящихся к роботам Google, можно найти в специальном списке и в базе данных роботов Интернета . Поддерживается подстановочный знак * для обозначения префикса, суффикса пути или всего пути. Используйте знак * , как показано в примере ниже, чтобы заблокировать доступ всем поисковым роботам (кроме роботов AdsBot , которых нужно указывать отдельно). Рекомендуем ознакомиться со списком роботов Google . Примеры: # Пример 1. Блокировка доступа только роботу Googlebot User-agent: Googlebot Disallow: / # Пример 2. Блокировка доступа роботам Googlebot и AdsBot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Пример 3. Блокировка доступа всем роботам, за исключением AdsBot User-agent: * Disallow: /
  • Disallow: . Указывает на каталог или страницу относительно корневого домена, которые нельзя сканировать агенту пользователя, определенному выше. Если это страница, должен быть указан полный путь к ней, как в адресной строке браузера. Если это каталог, путь к нему должен заканчиваться косой чертой (/). Поддерживается подстановочный знак * для обозначения префикса, суффикса пути или всего пути.
  • Allow: По крайней мере одна директива Disallow: или Allow: должна быть в каждой группе . Указывает на каталог или страницу относительно корневого домена, которые можно сканировать агенту пользователя, определенному выше. Используется, для того чтобы отменить директиву Disallow и разрешить сканирование подкаталога или страницы в закрытом для сканирования каталоге. Если это страница, должен быть указан полный путь к ней, как в адресной строке браузера. Если это каталог, путь к нему должен заканчиваться косой чертой (/). Поддерживается подстановочный знак * для обозначения префикса, суффикса пути или всего пути.
  • Sitemap: Необязательная директива, таких в файле может быть несколько или не быть совсем. Указывает на расположение файла Sitemap, используемого на этом сайте. URL должен быть полным. Google не обрабатывает и не проверяет варианты URL с префиксами http и https или с элементом www и без него. Файлы Sitemap сообщают Google, какой контент нужно сканировать и как отличить его от контента, который можно или нельзя сканировать. Пример: Sitemap: https://example.com/sitemap.xml Sitemap: http://www.example.com/sitemap.xml

Другие правила игнорируются.

Ещё один пример

Файл robots.txt состоит из групп. Каждая из них начинается со строки User-agent , определяющей робота, который должен следовать правилам. Ниже приведен пример файла с двумя группами и с поясняющими комментариями к обеим.

# Блокировать доступ робота Googlebot к каталогам example.com/directory1/... и example.com/directory2/... # но разрешить доступ к каталогу directory2/subdirectory1/... # Доступ ко всем остальным каталогам разрешен по умолчанию. User-agent: googlebot Disallow: /directory1/ Disallow: /directory2/ Allow: /directory2/subdirectory1/ # Блокировать доступ ко всему сайту другой поисковой системе. User-agent: anothercrawler Disallow: /

Полный синтаксис файла robots.txt

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

Полезные правила

Вот несколько распространенных правил для файла robots.txt:

Правило Пример
Запрет сканирования всего сайта. Следует учесть, что в некоторых случаях URL сайта могут присутствовать в индексе, даже если они не были просканированы. Обратите внимание, что это правило не относится к роботам AdsBot , которых нужно указывать отдельно. User-agent: * Disallow: /
Чтобы запретить сканирование каталога и всего его содержания , поставьте после названия каталога косую черту. Не используйте файл robots.txt для защиты конфиденциальной информации! Для этих целей следует применять аутентификацию. URL, сканирование которых запрещено файлом robots.txt, могут быть проиндексированы, а содержание файла robots.txt может просмотреть любой пользователь, и таким образом узнать местоположение файлов с конфиденциальной информацией. User-agent: * Disallow: /calendar/ Disallow: /junk/
Чтобы разрешить сканирование только для одного поискового робота User-agent: Googlebot-news Allow: / User-agent: * Disallow: /
Чтобы разрешить сканирование для всех поисковых роботов, за исключением одного User-agent: Unnecessarybot Disallow: / User-agent: * Allow: /

Чтобы запретить сканирование отдельной страницы , укажите эту страницу после косой черты.

User-agent: * Disallow: /private_file.html

Чтобы скрыть определенное изображение от робота Google Картинок

User-agent: Googlebot-Image Disallow: /images/dogs.jpg

Чтобы скрыть все изображения с вашего сайта от робота Google Картинок

User-agent: Googlebot-Image Disallow: /

Чтобы запретить сканирование всех файлов определенного типа (в данном случае GIF)

User-agent: Googlebot Disallow: /*.gif$

Чтобы заблокировать определенные страницы сайта, но продолжать на них показ объявлений AdSense , используйте правило Disallow для всех роботов, за исключением Mediapartners-Google. В результате этот робот сможет получить доступ к удаленным из результатов поиска страницам, чтобы подобрать объявления для показа тому или иному пользователю.

User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: /
Чтобы указать URL, который заканчивается на определенном фрагменте , применяйте символ $ . Например, для URL, заканчивающихся на.xls , используйте следующий код: User-agent: Googlebot Disallow: /*.xls$

Эта информация оказалась полезной?

Как можно улучшить эту статью?

Это текстовый файл (документ в формате.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

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

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 просто кликните по соответствующей ссылке.