Как редактировать файл robots txt. Как редактировать файл robots txt Пример robots txt для яндекса

Robots.txt is a text file that contains site indexing parameters for the search engine robots.

Recommendations on the content of the file

Yandex supports the following directives:

Directive What it does
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay

We recommend using the crawl speed setting

Directive What it does
User-agent * Indicates the robot to which the rules listed in robots.txt apply.
Disallow Prohibits indexing site sections or individual pages.
Sitemap Specifies the path to the Sitemap file that is posted on the site.
Clean-param Indicates to the robot that the page URL contains parameters (like UTM tags) that should be ignored when indexing it.
Allow Allows indexing site sections or individual pages.
Crawl-delay

Specifies the minimum interval (in seconds) for the search robot to wait after loading one page, before starting to load another.

We recommend using the crawl speed setting in Yandex.Webmaster instead of the directive.

* Mandatory directive.

You"ll most often need the Disallow, Sitemap, and Clean-param directives. For example:

User-agent: * #specify the robots that the directives are set for Disallow: /bin/ # disables links from the Shopping Cart. Disallow: /search/ # disables page links of the search embedded on the site Disallow: /admin/ # disables links from the admin panel Sitemap: http://example.com/sitemap # specify for the robot the sitemap file of the site Clean-param: ref /some_dir/get_book.pl

Robots from other search engines and services may interpret the directives in a different way.

Note. The robot takes into account the case of substrings (file name or path, robot name) and ignores the case in the names of directives.

Using Cyrillic characters

The use of the Cyrillic alphabet is not allowed in the robots.txt file and server HTTP headers.

For domain names, use Punycode . For page addresses, use the same encoding as that of the current site structure.

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

Robots.txt — директива user-agent и боты поисковых систем

Роботс.тхт имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса и хелпе Гугла . Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent "), разрешающие ("Allow ") и запрещающие ("Disallow "), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.

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

Например, раньше для поисковой системы Яндекс было полезным указать, вашего вебпроекта является главным в специальной директиве "Host", которую понимает только этот поисковик (ну, еще и Майл.ру, ибо у них поиск от Яндекса). Правда, в начале 2018 Яндекс все же отменил Host и теперь ее функции как и у других поисковиков выполняет 301-редирект.

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

Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:

<поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел>

Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.

User-agent

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

User-agent: *

Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:

User-agent: Yandex

Название роботов поисковых систем и их роль в файле robots.txt

Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:

Google http://www.google.com Googlebot Яндекс http://www.ya.ru Yandex Бинг http://www.bing.com/ bingbot

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

Как быть в этом случае? Если нужно написать правило запрета индексации, которое должны выполнить все типы роботов Гугла, то используйте название Googlebot и все остальные пауки этого поисковика тоже послушаются. Однако, можно запрет давать только, например, на индексацию картинок, указав в качестве User-agent бота Googlebot-Image. Сейчас это не очень понятно, но на примерах, я думаю, будет проще.

Примеры использования директив Disallow и Allow в роботс.тхт

Приведу несколько простых примеров использования директив с объяснением его действий.

  1. Приведенный ниже код разрешает всем ботам (на это указывает звездочка в User-agent) проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow . User-agent: * Disallow:
  2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения. User-agent: * Disallow: /
  3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ — абсолютный путь к этому каталогу) User-agent: * Disallow: /image/
  4. Чтобы заблокировать один файл, достаточно будет прописать его абсолютный путь до него (читайте ): User-agent: * Disallow: /katalog1//katalog2/private_file.html

    Забегая чуть вперед скажу, что проще использовать символ звездочки (*), чтобы не писать полный путь:

    Disallow: /*private_file.html

  5. В приведенном ниже примере будут запрещены директория «image», а также все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.): User-agent: * Disallow: /image Дело в том, что по умолчанию в конце записи подразумевается звездочка, которая заменяет любые символы, в том числе и их отсутствие. Читайте об этом ниже.
  6. С помощью директивы Allow мы разрешаем доступ. Хорошо дополняет Disallow. Например, таким вот условием поисковому роботу Яндекса мы запрещаем выкачивать (индексировать) все, кроме вебстраниц, адрес которых начинается с /cgi-bin: User-agent: Yandex Allow: /cgi-bin Disallow: /

    Ну, или такой вот очевидный пример использования связки Allow и Disallow:

    User-agent: * Disallow: /catalog Allow: /catalog/auto

  7. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$" , задавая, таким образом, определенные логические выражения.
    1. Символ "*"(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»: User-agent: * Disallow: *.php$
    2. Зачем нужен на конце знак $ (доллара) ? Дело в том, что по логике составления файла robots.txt, в конце каждой директивы как бы дописывается умолчательная звездочка (ее нет, но она как бы есть). Например мы пишем: Disallow: /images

      Подразумевая, что это то же самое, что:

      Disallow: /images*

      Т.е. это правило запрещает индексацию всех файлов (вебстраниц, картинок и других типов файлов) адрес которых начинается с /images, а дальше следует все что угодно (см. пример выше). Так вот, символ $ просто отменяет эту умолчательную (непроставляемую) звездочку на конце. Например:

      Disallow: /images$

      Запрещает только индексацию файла /images, но не /images.html или /images/primer.html. Ну, а в первом примере мы запретили индексацию только файлов оканчивающихся на.php (имеющих такое расширение), чтобы ничего лишнего не зацепить:

      Disallow: *.php$

  • Во многих движках пользователи (человеко-понятные Урлы), в то время как Урлы, генерируемые системой, имеют знак вопроса "?" в адресе. Этим можно воспользоваться и написать такое правило в robots.txt: User-agent: * Disallow: /*?

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

  • Директивы Sitemap и Host (для Яндекса) в Robots.txt

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

    Директива Host — указывает главное зеркало сайта для Яндекса

    Например, раньше, если вы еще не перешли на защищенный протокол , указывать в Host нужно было не полный Урл, а доменное имя (без http://, т.е..ru). Если же уже перешли на https, то указывать нужно будет полный Урл (типа https://myhost.ru).

    Замечательный инструмент для борьбы с дублями контента — поисковик просто не будет индексировать страницу, если в Canonical прописан другой урл. Например, для такой страницы моего блога (страницы с пагинацией) Canonical указывает на https://сайт и никаких проблем с дублированием тайтлов возникнуть не должно.

    Но это я отвлекся...

    Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt, а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).

    Например, в WordPress страницы с очень похожим содержимым могут попасть в индекс поисковиков, если разрешена индексация и содержимого рубрик, и содержимого архива тегов, и содержимого временных архивов. Но если с помощью описанного выше мета-тега Robots создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Как это сделать описано по ссылке приведенной чуть выше (на плагин ОлИнСеоПак)

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

    Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков — Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент, и момент этот связан с поисковой системой Яндекс.

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

    Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.

    Как обстоит дело на самом деле — сказать трудно, ибо алгоритмы работы поиска — это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директиве User-agent: Yandex все те правила, что мы задали User-agent: * . Если вы оставите User-agent: Yandex с пустым Disallow: , то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.

    Robots для WordPress

    Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином .

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

    Мой вариант этого файла вы можете сами посмотреть. Он старый, давно не менялся, но я стараюсь следовать принципу «не чини то, что не ломалось», а вам уже решать: использовать его, сделать свой или еще у кого-то подсмотреть. У меня там еще запрет индексации страниц с пагинацией был прописан до недавнего времени (Disallow: */page/), но недавно я его убрал, понадеясь на Canonical, о котором писал выше.

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

    Приведу две крайности :

    1. можно найти мегафайлище с подробными пояснениями (символом # отделяются комментарии, которые в реальном файле лучше будет удалить): User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команду Host понимает # Яндекс и Mail.RU, Google не учитывает. Host: www.site.ru
    2. А вот можно взять на вооружение пример минимализма: User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Host: https://site.ru Sitemap: https://site.ru/sitemap.xml

    Истина, наверное, лежит где-то посредине. Еще не забудьте прописать мета-тег Robots для «лишних» страниц, например, с помощью чудесного плагина — . Он же поможет и Canonical настроить.

    Правильный robots.txt для Joomla

    User-agent: * Disallow: /administrator/ Disallow: /bin/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /layouts/ Disallow: /libraries/ Disallow: /logs/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/

    В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.

    Поэтому в окончательном виде правильный robots для Joomla, по-моему мнению, должен выглядеть так:

    User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /component/tags* Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Host: vash_sait.ru (или www.vash_sait.ru) User-agent: * Allow: /*.css?*$ Allow: /*.js?*$ Allow: /*.jpg?*$ Allow: /*.png?*$ Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/ Disallow: /layouts/ Disallow: /cli/ Disallow: /bin/ Disallow: /logs/ Disallow: /components/ Disallow: /component/ Disallow: /*mailto/ Disallow: /*.pdf Disallow: /*% Disallow: /index.php Sitemap: http://путь к вашей карте XML формата

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

    Поэтому заранее все это дело разрешаем индексировать с помощью Allow. То же самое, кстати, и в примере файла для Вордпресс было.

    Удачи вам! До скорых встреч на страницах блога сайт

    Вам может быть интересно

    Домены с www и без него - история появления, использование 301 редиректа для их склеивания
    Зеркала, дубли страниц и Url адреса - аудит вашего сайта или что может быть причиной краха при его SEO продвижении SEO для новичков: 10 основных пунктов технического аудита сайта
    Bing вебмастер - центр для вебмастеров от поисковой системы Бинг
    Гугл вебмастер - инструменты Search Console (Google Webmaster)
    Как обойти распространенные ошибки при продвижении сайта
    Как продвинуть сайт самостоятельно, улучшая внутреннюю оптимизацию под ключевые слова и удаляя дубли контента
    Яндекс Вебмастер - индексация, ссылки, видимость сайта, выбор региона, авторство и проверка на вирусы в Yandex Webmaster

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

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

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

    Общие правила robots.txt

    Во-первых, сам файл robots.txt должен иметь кодировку ANSI.

    Во-вторых, нельзя использовать для написания правил никаких национальных алфавитов, возможна только латиница.

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

    В самих директивах, блоках правил и между ними не допускаются какие-либо лишние заголовки и символы.

    Директивы и блоки правил разделяются переносом строки. Единственное допущение, это комментарии.

    Комментирование в robots.txt

    Для комментирования используется символ ‘#’. Если вы поставите в начале строки символ «решётки», то до конца строки всё содержимое игнорируется поисковыми роботами.

    User-agent: *
    Disallow: /css #пишем комментарий
    #Пишем ещё один комментарий
    Disallow: /img

    Секции в файле robots.txt

    При прочтении файла роботом, используется только секция адресованная роботу этой поисковой системы, то есть, если в секции, user-agent указано имя поисковой системы Яндекс, то его робот прочитает только адресованную ему секцию, игнорируя другие, в частности и секцию с директивой для всех роботов - User-agent:*.

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

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

    User-agent:YandexBot
    # юзер-агент для роботов системы Яндекс
    User-agent: *
    # юзер-агент для всех роботов

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

    Директивы, что это?

    Директива - это команда или правило сообщающее поисковому роботу определённую информацию. Директива сообщает поисковому боту, как индексировать ваш сайт, какие каталоги не просматривать, где находится карта сайта в формате XML, какое имя домена является главным зеркалом и некоторые другие технические подробности.

    Секция файла robots.txt состоит из отдельных команд,
    директив. Общий синтаксис директив таков:

    [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]

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

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

    Директива Disallow

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

    «*» - звёздочка означает - «любое количество символов». То есть, путь /folder* одинаков по своему значению с «/folders», «/folder1», «/folder111», «/foldersssss» или «/folder». Роботы, при чтении правил, автоматически дописывают знак «*». В примере, приведённом ниже, обе директивы абсолютно равнозначны:

    Disallow: /news
    Disallow: /news*

    «$» - знак доллара запрещает роботам при чтении директив автоматически дописывать символ «*» (звёздочка) в конце директивы. Другими словами, символ «$» означает конец строки сравнения. То есть, в нашем примере мы запрещаем индексацию папки «/folder», но не запрещаем в папках «/folder1», «/folder111» или «/foldersssss»:

    User-agent: *
    Disallow: /folder$

    «#» - (шарп) знак комментария . Всё, что написано после этого значка, в одной с ним строке, игнорируется поисковыми системами.

    Директива Allow

    Директива ALLOW файла robots.txt противоположна по своему значению директиве DISSALOW, директива ALLOW разрешающая. В примере ниже показано, что мы запрещаем индексировать весь сайт кроме папки /folder:

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

    Пример одновременного использования «Allow», «Disallow» и приоритетность

    Не забывайте, о понимании приоритетности при запретах и разрешениях, при указании директив. Раньше приоритет указывался порядком объявления запретов и разрешений. Сейчас приоритет определяется указанием максимально существующего пути в пределах одного блока для робота поисковой системы (User-agent), в порядке увеличения длинны пути и месту указания директивы, чем длиннее путь, тем приоритетнее:

    User-agent: *
    Allow: /folders
    Disallow: /folder

    В приведённом примере выше разрешена индексация URL`ов начинающихся с «/folders», но запрещена в путях, которые имеют в своих URL`ах начало «/folder», «/folderssss» или «/folder2». В случае попадания одинакового пути под обе директивы «Allow» и «Disallow», предпочтение отдаётся директиве «Allow».

    Пустое значение параметра в директивах «Allow» и «Disallow»

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

    То же самое можно сказать и об «Allow:». Директива «Allow:» без символа «/» запрещает индексацию всего сайта, так же как и «Disallow: /».

    Директива Sitemap

    По всем канонам SEO-оптимизации, необходимо использовать карту сайта (SITEMAP) в формате XML и предоставлять её поисковым системам.

    Несмотря на функциональность «кабинетов для WEB-мастеров» в поисковых системах, необходимо заявлять о присутствии sitemap.xml и в robots.txt с помощью директивы «SITEMAP ». Поисковые роботы при обходе вашего сайта увидят указание на файл sitemap.xml и будут обязательно использовать его при следующих обходах. Пример использования директивы sitemap в файле robots.txt:

    User-agent: *
    Sitemap: https://www.domainname.zone/sitemap.xml

    Директива Host

    Ещё одной важной директивой robots.txt является директива HOST .

    Считается, что не все поисковые системы её распознают. Но «Яндекс» указывает, что читает эту директиву, а Яндекс в России является основным «поисковым кормильцем», поэтому не будем игнорировать директиву «host».

    Эта директива говорит поисковым системам, какой домен является главным зеркалом. Все мы знаем, что сайт может иметь несколько адресов. В URL сайта может использоваться или не использоваться префикс WWW или сайт может иметь несколько доменных имён, например, domain.ru, domain.com, domen.ru, www.domen.ru. Вот именно в таких случаях мы и сообщаем поисковой системе в файле robots.txt с помощью директивы host, какое из этих имён является главным. Значением директивы является само имя главного зеркала. Приведём пример. Мы имеем несколько доменных имён (domain.ru, domain.com, domen.ru, www.domen.ru) и все они перенаправляют посетителей на сайт www.domen.ru, запись в файле robots.txt будет выглядеть так:

    User-agent: *
    Host: www.domen.ru

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

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

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

    Данная директива является технической, командой поисковым роботам, как часто нужно посещать ваш сайт. Точнее, директива Crawl-delay указывает минимальный перерыв между посещениями вашего сайта роботами (краулерами поисковых систем). Зачем указывать это правило? Если роботы заходят к вам очень часто, а новая информация на сайте появляется намного реже, то со временем поисковые системы привыкнут к редкому изменению информации на вашем сайте и будут посещать вас значительно реже, чем хотелось бы вам. Это поисковый аргумент в пользу использования директивы «Crawl-delay». Теперь технический аргумент. Слишком частое посещение вашего сайта роботами создаёт дополнительную нагрузку на сервер, которая вам совсем не нужна. Значением директивы лучше указывать целое число, но сейчас некоторые роботы научились читать и дробные числа. Указывается время в секундах, например:

    User-agent: Yandex
    Crawl-delay: 5.5

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

    Необязательная директива «Clean-param» указывает поисковым роботам параметры адресов сайта, которые не нужно индексировать и следует воспринимать, как одинаковые URL. Например, у вас одни и те же страницы выводятся по разным адресам, отличающимся одним или несколькими параметрами:

    www.domain.zone/folder/page/
    www.domain.zone/index.php?folder=folder&page=page1/
    www.domain.zone/ index.php?folder=1&page=1

    Поисковые роботы будут сканировать все подобные страницы и заметят, что страницы одинаковые, содержат один и тот же контент. Во-первых, это создаст путаницу в структуре сайта при индексации. Во-вторых, дополнительная нагрузка на сервер возрастёт. В третьих, скорость сканирования заметно упадёт. Чтобы избежать этих неприятностей и используется директива «Clean-param». Синтаксис следующий:

    Clean-param: param1[¶m2¶m3¶m4& ... ¶m*N] [Путь]

    Директиву «Clean-param», как и «Host» читают не все поисковые системы. Но Яндекс её понимает.

    Ошибки, которые часто встречаются в robots.txt

    Файл robots.txt находится не в корне сайта

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

    Ошибка в имени файла robots.txt

    Имя файла пишется маленькими буквами (нижний регистр) и должен называться robots. txt . Все остальные варианты считаются ошибочными и поисковые стсемы будут вам сообщать об отсутствии файла. Частые ошибки выглядят так:

    ROBOTS.txt
    Robots.txt
    robot.txt

    Использование недопустимых символов в robot.txt

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

    Ошибки синтаксиса robots.txt

    Старайтесь строго соблюдать правила синтаксиса в файле robots.txt. Синтаксические ошибки могут привести к игнорированию содержимого всего файла поисковыми системами.

    Перечисление нескольких роботов одной строкой в директиве User-agent

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

    User-agent: Yandex, Googlebot, Bing

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

    User-agent с пустым значением

    Директива User-agent не может иметь пустое значение. Пустыми могут быть только «Allow» и «Disallow» и то с учётом того, что меняют своё значение. Указание директивы User-agent с пустым значением является грубейшей ошибкой.

    Нескольких значений в директиве Disallow

    Реже встречающаяся ошибка, но, тем не менее, периодически её можно видеть на сайтах, это указание нескольких значений в директивах Allow и Disallow, например:

    Disallow: /folder1 /folder2 /folder3

    Disallow: /folder1
    Disallow: /folder2
    Disallow: /folder3

    Несоблюдение приоритетов директив в robots.txt

    Эта ошибка уже описывалась выше, но для закрепления материала повторимся. Раньше приоритет определялся порядком указания директив. На сегодняшний день правила изменились, приоритет уточняется по длине строки. Если в файле будут присутствовать две взаимоисключающих директивы, Allow и Disallow с одинаковым содержимым, то приоритет будет иметь Allow.

    Поисковые системы и robots.txt

    Директивы в файле robots.txt носят рекомендательный характер для поисковых систем. Это значит, что правила прочтения могут периодически меняться или дополняться. Так же помните, что каждая поисковая система по-своему обрабатывает директивы файла. И не все директивы каждая из поисковых систем читает. Например, директиву «Host» сегодня читает только Яндекс. При этом Яндекс не гарантирует, что имя домена указанное, как главное зеркало в директиве Host обязательно будет назначено главным, но утверждает, что приоритет указанному имени в директиве будет отдаваться.

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

    Файл robot.txt – необходим для большинства сайтов.

    Каждый SEO-оптимизатор должен понимать смысл этого файла, а также уметь прописывать самые востребованные директивы.

    Правильно составленный robots улучшает положение сайта в поисковой выдаче и, среди прочих методов продвижения , является эффективным инструментом SEO .

    Чтобы разобраться в том, что такое robot.txt и как он действует, вспомним, как работают поисковики.

    Чтобы проверить его наличие, введите в адресную строку корневой домен, затем добавьте /robots.txt в конец URL-адреса.

    Например, файл робот Moz находится по адресу: moz.com/robots.txt. Вводим, и получаем страницу:

    Инструкции для «робота»

    Как создать файл robots.txt?

    3 типа инструкций для robots.txt.

    Если обнаружили, что файл robots.txt отсутствует, создать его несложно.

    Как уже было сказано в начале статьи – это обычный текстовый файл в корневом каталоге сайта.

    Его можно сделать через админ-панель или файл-менеджер, с помощью которого программист работает с файлами на сайте.

    В том, как и что там прописывать, мы разберемся по ходу статьи.

    Поисковые системы получают из этого файла инструкции трех типов:

    • сканировать все, то есть полный доступ (Allow);
    • сканировать нельзя ничего – полный запрет (Disallow);
    • сканировать отдельные элементы нельзя (указано какие) – частичный доступ.

    На практике это имеет вот такой вид:

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

    Чтобы лучше в этом разобраться, давайте изучим синтаксис этого файла.

    Синтаксис Robots.Txt

    Robots.txt: как он выглядит?

    Важные моменты: что нужно всегда помнить о robots.

    Семь общих терминов, которые часто встречаются на сайтах.

    В самой простой форме робот имеет такой вид:

    User agent: [имя системы, для которой мы пишем директивы] Disallow: Sitemap: [указываем, где у нас лежит карта сайта] # Правило 1 User agent: Googlebot Disallow: /prim1/ Sitemap: http://www.nashsite.com/sitemap.xml

    Вместе эти три строки считаются самым простым robots.txt.

    Здесь мы запретили боту индексировать URL: http://www.nashsite.com/prim1/ и указали где находится карта сайта.

    Обратите внимание: в файле robots набор директив для одного пользовательского агента (поисковика) отделен от набора директив для другого разрывом строки.

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

    Это важный момент и о нем нельзя забывать.

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

    Вот пример:

    На иллюстрации выше – для MSNbot, discobot и Slurp прописаны индивидуальные правила, которые будут работать только для этих поисковиков.

    Все остальные пользовательские агенты следуют общим директивам в группе user-agent: *.

    Синтаксис robots.txt абсолютно не сложен.

    Существуют семь общих терминов, которые часто встречаются на сайтах.

    • User-agent: специфический веб-поисковик (бот поисковой системы), которому Вы даете инструкции обхода. Список большинства пользовательских агентов можно найти здесь. Всего в нем 302 системы, из которых наиболее актуальны две – Гугл и Яндекс.
    • Disallow: команда запрета, указывающая агенту, что не нужно заходить на URL. Для каждого URL разрешена только одна строка «disallow».
    • Allow (применимо только для Googlebot): команда сообщает боту, что он может получить доступ к странице или подпапке, даже если ее родительская страница или подпапка были закрыты.
    • Crawl-delay (задержка сканирования): сколько миллисекунд поисковик должен ждать перед загрузкой и обходом содержимого страницы.

    Обратите внимание – Googlebot не поддерживает эту команду, но скорость сканирования может быть вручную установлена ​​в Google Search Console.

    • Sitemap: Используется для вызова местоположения любых XML-карт, связанных с этим URL-адресом. Эта команда поддерживается только Google, Ask, Bing и Yahoo.
    • Host: эта директива указывает на основное зеркало сайта, которое стоит учитывать при индексации. Его можно прописать только один раз.
    • Clean-param: это команда используется для борьбы с дублированием контента при динамической адресации.

    Регулярные выражения

    Регулярные выражения: как они выглядят и что обозначают.

    Как разрешать и запрещать сканировать в robots.txt.

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

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

    • * является подстановочным символом, обозначает что директива работает для всех поисковых ботов;
    • $ соответствует концу URL-адреса или строки;
    • # применяется для комментариев разработчиков и оптимизаторов.

    Вот несколько примеров robots.txt для http://www.nashsite.com

    URL-адрес файла robots.txt: www.nashsite.com /robots.txt

    User-agent: * (то есть для всех поисковых систем) Disallow: / (слеш обозначает корневой каталог сайта)

    Мы только что запретили всем поисковикам сканировать и индексировать сайт целиком.

    Как часто требуется такое действие?

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

    Так работают внутренние сайты некоторых фирм.

    Кроме того, такая директива прописывается, если сайт находится на стадии разработки или модернизации.

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

    User-agent: * Disallow:

    В запрете (disallow) нет ничего, а значит можно все.

    Использование этого синтаксиса в файле robots.txt предоставляет возможность сканерам обходить все страницы на http://www.nashsite.com, включая домашнюю страницу, админку и контакты.

    Блокировка определенных поисковых ботов и отдельных папок

    Синтаксис для поисковика Google (Googlebot).

    Синтаксис для остальных поисковых агентов.

    User-agent: Googlebot Disallow: / example-subfolder /

    Этот синтаксис указывает только поисковику Google (Googlebot), что не нужно сканировать адрес: www.nashsite.com/example-subfolder/.

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

    User-agent: Bingbot Disallow: /example-subfolder/blocked-page.html

    Этот синтаксис говорит, что только Bingbot-у (имя поискового агента Bing), не следует заходить на страницу по адресу: www.nashsite.com /example-subfolder/blocked-page.

    По сути это все.

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

    Почему не работает и что делать

    Алгоритм основного действия.

    Другие методы.

    Неправильно работающий robots.txt – это проблемы.

    Ведь на то, чтобы выявить ошибку, а потом разобраться в ней, потребуется время.

    Перечитайте файл, убедитесь, что Вы не заблокировали что-то лишнее.

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

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

    Ну и перед использованием, проверьте этот файл бесплатным тестером от Google .

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

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

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

    Как создать?

    Сделать файл robots.txt очень просто - создаете обычный текстовый документ, называете его robots, не ошибитесь в регистре букв или в самих буквах, название должно быть именно такое. Если не планируете запрещать индексирование страниц сайта, можно созданный файл оставить пустым. Если планируете - просто заполняете документ в соответствии с принятыми в 1994 году общими стандартами. После этого необходимо загрузить файл в корневой каталог вашего сайта, чтобы файл открывался по ссылке http://www.site.ru/robots.txt . Всё.

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

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

    • Директива user-agent

      Первое, с чего следует начать заполнение файла - указать, для какого робота будут команды, для этого пишем в первой строчке:

      если ваши инструкции предназначены для роботов Яндекса:

      User-agent: yandex

      для роботов Google:

      User-agent: googlebot

      для всех роботов без исключения:
    • Директива Disallow и Allow

      Команда Disallow запрещает роботу индексировать тот или иной файл или папку.

      Например,

      запрещает индексировать файлы данной папки:

      Disallow: /cgi-bin/

      запрещает индексировать данный файл:

      Disallow: /company.html

      запрет на индексацию всего сайта:

      Проверьте ваш сайт - это одна из частых причин неиндексирования сайта.

      Важно! Неправильно указывать несколько директив в одной строчке:

      Disallow: /cgi-bin/ /cell/ /bot/

      Директива Allow наоборот - снимает запрет на индексацию некоторых файлов. Пример ее использования:

      User-agent: Yandex
      Allow: /cgi-binDisallow: /

      Такая запись в файле запрещает скачивать роботу Яндекса все, кроме страниц, начинающихся с "/cgi-bin".

      Важно! Если в файле указали директиву, но не указали параметры для нее, значения будут такие:

      запрета на индексацию сайта нет:
      весь сайт запрещен к индексации:
    • Директива sitemap

      Если у вас есть карта сайта в формате sitemaps.xml, укажите путь к ней в специальной директиве Sitemap (если файлов несколько, укажите все):

      Sitemap: http://site.ru/sitemaps1.xml
      Sitemap: http://site.ru/sitemaps2.xml

    • Директива Host

      Данная запись используется роботами Яндекса. Определите и укажите в директиве Host главное зеркало вашего сайта:

      Host: www.site.ru

      Часто начинающие вебмастера забывают, что сайт с www и без (www.site.ru и site.ru) являются зеркалами друг друга. Поэтому обязательно укажите, какой адрес является приоритетным с www или без.

      Директива Host не гарантирует выбор указанного главного зеркала, но Яндекс учитывает ее с высоким приоритетом.

    Пример заполнения robots.txt

    User-agent: *
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /language/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Host: sait.ru
    Sitemap: http://site.ru/sitemaps.xml

    Проверка файла robots.txt

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