Файл роботс txt. Рекомендации по настройке файла robots txt

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

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

Как видно по расширению robots.txt – это текстовый файл. Для создания или редактирования данного файла лучше использовать самые простые текстовые редакторы наподобие Блокнот (Notepad). robots.txt должен быть размещен в корневом каталоге сайта и имеет собственный формат, который мы рассмотрим ниже.

Формат файла robots.txt

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

User-agent: googlebot

Название робота вы можете найти на сайте соответствующего поисковика. Дальше должна идти одна или несколько директив Disallow. Эти директивы сообщают роботу, какие файлы и папки индексировать запрещено. Например, следующие строки запрещают роботам индексировать файл feedback.php и каталог cgi-bin:

Disallow: /feedback.php Disallow: /cgi-bin/

Также можно использовать только начальные символы файлов или папок. Строка Disallow: /forum запрещает индексирование всех файлов и папок в корне сайта, имя которых начинается на forum, например, файл http://site.ru/forum.php и папку http://site.ru/forum/ со всем ее содержимым. Если Disallow будет пустым, то это значит, что робот может индексировать все страницы. Если значением Disallow будет символ /, то это значит что весь сайт индексировать запрещено.

Для каждого поля User-agent должно присутствовать хотя бы одно поле Disallow. То-есть, если вы не собираетесь ничего запрещать для индексации, то файл robots.txt должен содержать следующие записи:

User-agent: * Disallow:

Дополнительные директивы

Кроме регулярных выражений Яндекс и Google разрешают использование директивы Allow, которая является противоположностью Disallow, то-есть указывает какие страницы можно индексировать. В следующем примере Яндексу запрещено индексировать все, кроме адресов страниц начинающихся с /articles:

User-agent: Yandex Allow: /articles Disallow: /

В данном примере директиву Allow нужно прописывать перед Disallow, иначе Яндекс поймет это как полный запрет индексации сайта. Пустая директива Allow также полностью запрещает индексирование сайта:

User-agent: Yandex Allow:

равнозначно

User-agent: Yandex Disallow: /

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

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

Большинство поисковых систем учитывают только явно указанные имена файлов и папок, но есть и более продвинутые поисковики. Робот Google и робот Яндекса поддерживают использование простых регулярных выражений в robots.txt, что значительно уменьшает количество работы для вебмастеров. Например, следующие команды запрещают роботу Google индексировать все файлы с расширением.pdf:

User-agent: googlebot Disallow: *.pdf$

В приведенном примере символ * – это любая последовательность символов, а $ указывает на окончание ссылки.

User-agent: Yandex Allow: /articles/*.html$ Disallow: /

Приведенные выше директивы разрешают Яндексу индексировать только находящиеся в папке /articles/ файлы с расширением ".html". Все остальное запрещено для индексации.

Карта сайта

В файле robots.txt можно указывать расположение XML-карты сайта:

User-agent: googlebot Disallow: Sitemap: http://site.ru/sitemap.xml

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

User-agent: Yandex Disallow: Sitemap: http://mysite.ru/my_sitemaps1.xml Sitemap: http://mysite.ru/my_sitemaps2.xml

Зеркала сайта

Как вы знаете обычно один и тот же сайт может быть доступен по двум адресам: как с www, так и без него. Для поискового робота site.ru и www.site.ru это разные сайты, но с одинаковым содержимым. Они называются зеркалами.

Из-за того что на страницы сайта есть ссылки как с www так и без, то вес страниц может разделиться между www.site.ru и site.ru. Чтобы этого не происходило поисковику нужно указать главное зеркало сайта. В результате "склеивания" весь вес будет принадлежать одному главному зеркалу и сайт сможет занять более высокую позицию в поисковой выдаче.

Указать основное зеркало для Яндекса можно прямо в файле robots.txt с помощью директивы Host:

User-agent: Yandex Disallow: /feedback.php Disallow: /cgi-bin/ Host: www.site.ru

После склейки зеркалу www.site.ru будет принадлежать весь вес и он будет занимать более высокую позицию в поисковой выдаче. А site.ru поисковик вообще не будет индексировать.

Для остальных поисковиков выбором главного зеркала является серверный постоянный редирект (код 301) с дополнительных зеркал на основное. Делается это с помощью файла.htaccess и модуля mod_rewrite. Для этого ложим в корень сайта файл.htaccess и пишем туда следующее:

RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteCond %{HTTP_HOST} ^site.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

В результате все запросы с site.ru будут идти на www.site.ru, то-есть site.ru/page1.php будет перенаправляться на www.site.ru/page1.php.

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

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

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

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

User-agent: StackRambler Disallow: /garbage/ # ничего полезного в этой папке нет Disallow: /doc.xhtml # и на этой странице тоже # и все комментарии в этом файле также бесполезны

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

1. Разрешаем всем роботам индексировать все документы сайта:

User-agent: * Disallow:
User-agent: * Disallow: /

3. Запрещаем роботу поисковика Google индексировать файл feedback.php и содержимое каталога cgi-bin:

User-agent: googlebot Disallow: /cgi-bin/ Disallow: /feedback.php

4. Разрешаем всем роботам индексировать весь сайт, а роботу поисковика Яндекс запрещаем индексировать файл feedback.php и содержимое каталога cgi-bin:

User-agent: Yandex Disallow: /cgi-bin/ Disallow: /feedback.php Host: www.site.ru User-agent: * Disallow:

5. Разрешаем всем роботам индексировать весь сайт, а роботу Яндекса разрешаем индексировать только предназначенную для него часть сайта:

User-agent: Yandex Allow: /yandex Disallow: / Host: www.site.ru User-agent: * Disallow:

Пустые строки разделяют ограничения для разных роботов. Каждый блок ограничений должен начинаться со строки с полем User-Agent, указывающей робота, к которому относятся данные правила индексации сайта.

Часто встречающиеся ошибки

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

Не нужно прописывать в robots.txt запрет на индексирование сайта для различных программ, которые предназначены для полного скачивания сайта, например, TeleportPro. Ни "программы-качалки", ни браузеры никогда не смотрят в этот файл и не выполняют прописанных там инструкций. Он предназначен исключительно для поисковых систем. Не стоит также блокировать в robots.txt админку вашего сайта, ведь если на нее нигде нет ссылки, то и индекироваться она не будет. Вы всего лишь раскроете расположение админки людям, которые не должны о ней знать. Также стоит помнить, что слишком большой robots.txt может быть проигнорирован поисковой системой. Если у вас слишком много страниц не предназначенных для индексации, то лучше их просто удалить с сайта или перенести в отдельную директорию и запретить индексирование данной директории.

Проверка файла robots.txt на наличие ошибок

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

Копирование статьи запрещено.

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

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

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

На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.

Что следует закрывать от индексации:

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

Как создать и добавить Robots.txt на сайт?

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

Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt

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

Инструкции для поисковых роботов задаются с помощью директив с различными параметрами.

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

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

Где * является спецсимволом для обозначения любого робота.

Список популярных поисковых роботов:

  • Googlebot — основной робот Google;
  • YandexBot — основной индексирующий робот;
  • Googlebot-Image — робот картинок;
  • YandexImages — робот индексации Яндекс.Картинок;
  • Yandex Metrika — робот Яндекс.Метрики;
  • Yandex Market— робот Яндекс.Маркета;
  • Googlebot-Mobile —индексатор мобильной версии.

Директивы Disallow и Allow

С помощью данных директив можно задавать какие разделы или файлы можно индексировать, а какие не следует.

Disallow - директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:

Disallow: /site/

В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/

Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / - это закроет весь сайт от индексации.

  • Для запрета папки сайта следует указать следующее:
    Disallow: /folder/
  • Для запрета только одного файла нужно написать:
    Disallow: /folder/img.jpg
  • Если нужно запретить файлы только определенного разрешения:
    Disallow: /*.css$
  • Allow напротив является разрешающей инструкцией для индексации.
    User-agent: *
    Allow: /site
    Disallow: /

    Такая инструкция запрещает индексировать весь сайт, за исключением папки site.

Директива Sitemap

Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:

User-agent: *
Disallow: /site/
Allow: /
Sitemap : http://site.com/sitemap1.xml
Sitemap : http://site.com/sitemap2.xml

Директиву можно указать в любой из инструкций для любого робота.

Директива Host

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

User-agent: Yandex
Disallow: /site/
Host : site.ru

Примечание: Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.

В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.

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

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

Директива Clean-param имеет следующий синтаксис:

Clean-param : p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]

Рассмотрим пример, на сайте есть динамические страницы:

  • https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
  • https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7

Для того, чтобы исключить подобные страницы из индекса следует задать директиву таким образом:

Clean-param : kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param : kol_from1&price_to2&pcolor / # для всех страниц сайта

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

Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.

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

Пример использования директивы Crawl-delay:

User-agent: *
Disallow: /site
Crawl-delay : 4

Особенности файла Robots.txt

  • Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
  • Перед директивой не должно быть указано каких-либо других символов (в том числе пробела )
  • Параметры директив необходимо указывать в одну строку
  • Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
  • Параметры не нужно указывать в кавычках или других символах
  • После директив не следует указывать “;”
  • Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
  • В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
  • Robots.txt нечувствителен к регистру
  • Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
  • В директивах «Allow», «Disallow» можно указывать только 1 параметр
  • В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
  • Использование кириллицы в роботс не допускаются

Спецсимволы robots.txt

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

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

User-agent: *
Disallow: /store/* .php # запрещает "/store/ex.php" и "/store/test/ex1.php"
Disallow: /* tpl # запрещает не только "/tpl", но и "/tpl/user"

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

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

User-agent: *
Disallow: /site$ # запрещено для индексации "/site", но не запрещено"/ex.css"
User-agent: *
Disallow: /site # запрещено для индексации и "/site", и "/site.css"
User-agent: *
Disallow: /site$ # запрещен к индексации только "/site"
Disallow: /site*$ # так же, как "Disallow: /site" запрещает и /site.css и /site

Особенности настройки robots.txt для Яндекса

Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:

User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com

В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).

Особенности настройки robots.txt для Google

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

User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *.js
Host: www.site.com

С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.

Проверка правильности настройки роботс

Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера :


Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:


Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:


Но данный инструмент доступен только в том случае, если сайт добавлен в панель Вебмастера Google.

Заключение

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

Пример настройки роботс для WordPress

Правильный robots.txt для Wordpress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):

User-agent: Yandex



Host: www.site.ru

User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *.css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами

User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати


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

Пример настройки роботс для Bitrix

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

  • попадание в выдачу большого количества служебных страниц;
  • индексация дублей страниц сайта.

Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots.txt для CMS 1C-Bitrix:

User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru

User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/

User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo.png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

Пример настройки роботс для OpenCart

Правильный robots.txt для OpenCart должен быть составлен таким образом:

User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=


Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site.ru

User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login

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

Пример настройки роботс для Umi.CMS

Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):

User-Agent: Yandex
Disallow: /?
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru

User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js

User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs

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

Пример настройки роботс для Joomla

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

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Host: www.site.ru

User-agent: Googlebot
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/

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

Robots.txt - это текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем.

Яндекс поддерживает следующие директивы:

Директива Что делает
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Директива Что делает
User-agent * Указывает на робота, для которого действуют перечисленные в robots.txt правила.
Disallow Запрещает индексирование разделов или отдельных страниц сайта.
Sitemap Указывает путь к файлу Sitemap , который размещен на сайте.
Clean-param Указывает роботу, что URL страницы содержит параметры (например, UTM-метки), которые не нужно учитывать при индексировании.
Allow Разрешает индексирование разделов или отдельных страниц сайта.
Crawl-delay Задает роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

* Обязательная директива.

Наиболее часто вам могут понадобиться директивы Disallow, Sitemap и Clean-param. Например:

User-agent: * #указываем, для каких роботов установлены директивы\nDisallow: /bin/ # запрещает ссылки из \"Корзины с товарами\".\nDisallow: /search/ # запрещает ссылки страниц встроенного на сайте поиска\nDisallow: /admin/ # запрещает ссылки из панели администратора\nSitemap: http://example.com/sitemap # указываем роботу на файл sitemap для сайта\nClean-param: ref /some_dir/get_book.pl

Роботы других поисковых систем и сервисов могут иначе интерпретировать эти директивы.

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

Использование кириллицы

Использование кириллицы запрещено в файле robots.txt и HTTP-заголовках сервера.

Для указания имен доменов используйте Punycode . Адреса страниц указывайте в кодировке, соответствующей кодировке текущей структуры сайта.

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

#Неверно:\nUser-agent: Yandex\nDisallow: /корзина\n\n#Верно:\nUser-agent: Yandex\nDisallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0

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

Вопросы и ответы

В Яндекс.Вебмастере на странице «Диагностика сайта» возникает ошибка «Сервер отвечает редиректом на запрос /robots.txt»

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

Проверить ответ сервера и доступность файла robots.txt для робота можно с помощью инструмента Проверка ответа сервера .

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

Robots.txt для сайта - это индексный текстовый файл в кодировке UTF-8.

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

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

Файл действителен для протоколов http, https, ftp, а также имеет «силу» только в пределах хоста/протокола/номера порта, на котором размещен.

Где находится robots.txt на сайте?

У файла robots.txt может быть только одно расположение - корневой каталог на хостинге. Выглядит это примерно вот так: http://vash-site.xyz/robots.txt

Директивы файла robots txt для сайта

Обязательными составляющими файла robots.txt для сайта являются правило Disallow и инструкция User-agent. Есть и второстепенные правила.

Правило Disallow

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

Пример 1 - разрешено индексировать весь сайт:

Пример 2 - полностью запретить индексацию сайта:

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

Пример 6 - как в robots txt закрыть от индексации файлы конкретного расширения (в данном случае - .gif):

Звездочка перед.gif$ сообщает, что имя файла может быть любым, а знак $ сообщает о конце строки. Т.е. такая «маска» запрещает сканирование вообще всех GIF-файлов.

Правило Allow в robots txt

Правило Allow все делает с точностью до наоборот - разрешает индексирование файла/папки/страницы.

И сразу же конкретный пример:

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

Сортировка правил и директив Allow и Disallow производится по возрастанию длины префикса URL и применяется последовательно. Если для одной и той же страницы подходит несколько правил, то робот выбирает последнее подходящее из списка.

Рассмотрим 2 ситуации с двумя правилами, которые противоречат друг другу - одно правило запрещает индексировать папки /content, а другое - разрешает.

В данном случае будет приоритетнее директива Allow, т.к. оно находится ниже по списку:

А вот здесь приоритетным является директива Disallow по тем же причинам (ниже по списку):

User-agent в robots txt

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

Например, в данном случае мы говорим «Эй, Googlebot, иди сюда, тут для тебя специально подготовленный список рекомендаций», а он такой «ОК, специально для меня - значит специально для меня» и другие списки сканировать не будет.

Правильный robots txt для Google (Googlebot)

Примерно та же история и с поисковым ботом Яндекса. Забегая вперед, список рекомендаций для Яндекса почти в 100% случаев немного отличается от списка для других поисковых роботов (чем - расскажем чуть позже). Но суть та же: «Эй, Яндекс, для тебя отдельный список» - «ОК, сейчас изучим его».

Т.е. если в одном и том же robots.txt есть 3 списка с User-agent: *, User-agent: Googlebot и User-agent: Yandex, это значит, первый является «одним для всех», за исключением Googlebot и Яндекс, т.к. для них есть «личные» списки.

Sitemap

Правило Sitemap - расположение файла с XML-картой сайта, в которой содержатся адреса всех страниц, являющихся обязательными к сканированию. Как правило, указывается адрес вида http://site.ua/sitemap.xml.

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

Правило Sitemap должно быть вписано в Robots.txt следующим образом:

Директива Host

Межсекционная директива Host в файле robots.txt так же является обязательной. Она необходима для поискового робота Яндекса - сообщает ему, какое из зеркал сайта нужно учитывать при индексировании. Именно поэтому для Яндекса формируется отдельный список правил, т.к. Google и остальные поисковые системы директиву Host не понимают. Поэтому если у вашего сайта есть копии или же сайт может открываться под разными URL адресами, то добавьте директиву host в файл robots txt, чтобы страницы сайта правильно индексировались.

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

Адрес основного зеркала обязательно должно быть указано следующим образом:

Для сайтов, работающих по http - Host: site.ua или Host: http://site.ua (т.е. http:// пишется по желанию)

Для сайтов, работающих по https - Host: https://site.ua (т.е. https:// прописывается в обязательном порядке)

Пример директивы host в robots txt для сайта на протоколе HTTPS:

Crawl delay

В отличие от предыдущих, параметр Crawl-delay уже не является обязательным. Основная его задача - подсказать поисковому роботу, в течение скольких секунд будут грузиться страницы. Обычно применяется в том случае, если Вы используете слабые сервера. Актуален только для Яндекса.

Clean param

С помощью директивы Clean-param можно бороться с get-параметрами, чтобы не происходило дублирование контента, т.к. один и тот же контент бывает доступен по разным динамическим ссылкам (это те, которые со знаками вопроса). Динамические ссылки могут генерироваться сайтом в том случае, когда используются различные сортировки, применяются идентификаторы сессий и т.д.

Например, один и тот же контент может быть доступен по трем адресам:

www.site.com/catalog/get_phone.ua?ref=page_1&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_2&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_3&phone_id=1

В таком случае директива Clean-param оформляется вот так:

Т.е. после двоеточия прописывается атрибут ref, указывающий на источник ссылки, и только потом указывается ее «хвост» (в данном случае - /catalog/get_phone.ua).

Самые частые вопросы

Как в robots.txt запретить индексацию?

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

Disallow: http://your-site.xyz/privance.html

Disallow: http://your-site.xyz/foord.doc

Disallow: http://your-site.xyz/barcode.jpg

А затем удаляете адрес домена (в данном случае удалить надо вот эту часть - http://your-site.xyz). После удаления у нас останется ровно то, что и должно остаться:

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

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

Disallow: /*.html

Disallow: /*.doc

Disallow: /*.jpg

Как в robots.txt указать главное зеркало?

Для этих целей придумана директива Host. Т.е. если адреса http://your-site.xyz и http://yoursite.com являются «зеркалами» одного и того же сайта, то одно из них необходимо указать в директиве Host. Пусть основным зеркалом будет http://your-site.xyz. В этом случае правильными вариантами будут следующие:

Если сайт работает по https-протоколу, то нужно делать только так:

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: https://your-site.xyz

Если сайт работает по http-протоколу, то оба приведенных ниже варианта будут верными:

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: http://your-site.xyz

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: your-site.xyz

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

Простейший пример правильного robots.txt

В таком виде файл robots.txt можно разместить практически на любом сайте (с мельчайшими корректировками).

Давайте теперь разберем, что тут есть.

  1. Здесь 2 списка правил - один «персонально» для Яндекса, другой - для всех остальных поисковых роботов.
  2. Правило Disallow: пустое, а значит никаких запретов на сканирование нет.
  3. В списке для Яндекса присутствует директива Host с указанием основного зеркала, а также, ссылка на карту сайта.

НО… Это НЕ значит, что нужно оформлять robots.txt именно так. Правила должны быть прописаны строго индивидуально для каждого сайта. Например, нет смысла индексировать «технические» страницы (страницы ввода логина-пароля, либо тестовые страницы, на которых отрабатывается новый дизайн сайта, и т.д.). Правила, кстати, зависят еще и от используемой CMS.

Закрытый от индексации сайт - как выглядит robots.txt?

Даем сразу же готовый код, который позволит запретить индексацию сайта независимо от CMS:

Как указать главное зеркало для сайта на https robots.txt?

Очень просто:

Host: https://your-site.xyz

ВАЖНО!!! Для https-сайтов протокол должен указываться строго обязательно!

Наиболее частые ошибки в robots.txt

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

1. Перепутанные инструкции:

Правильный вариант:

2. В один Disallow вставляется куча папок:

В такой записи робот может запутаться. Какую папку нельзя индексировать? Первую? Последнюю? Или все? Или как? Или что? Одна папка = одно правило Disallow и никак иначе.

3. Название файла допускается только одно - robots.txt, причем все буквы маленькие. Имена Robots.txt, ROBOTS.TXT и т.п. не допускаются.

4. Правило User-agent запрещено оставлять пустым. Либо указываем имя поискового робота (например, для Яндекса), либо ставим звездочку (для всех остальных).

5. Мусор в файле (лишние слэши, звездочки и т.д.).

6. Добавление в файл полных адресов скрываемых страниц, причем иногда даже без правила Disallow.

Неправильно:

http://mega-site.academy/serrot.html

Тоже неправильно:

Disallow: http://mega-site.academy/serrot.html

Правильно:

Disallow: /serrot.html

Онлайн-проверка файла robots.txt

Существует несколько способов проверки файла robots.txt на соответствие общепринятому в интернете стандарту.

Способ 1. Зарегистрироваться в панелях веб-мастера Яндекс и Google. Единственный минус - придется покопаться, чтоб разобраться с функционалом. Далее вносятся рекомендованные изменения и готовый файл закачивается на хостинг.

Способ 2. Воспользоваться онлайн-сервисами:

Https://services.sl-team.ru/other/robots/

Https://technicalseo.com/seo-tools/robots-txt/

Http://tools.seochat.com/tools/robots-txt-validator/

Итак, robots.txt сформирован. Осталось только проверить его на ошибки. Лучше всего использовать для этого инструменты, предлагаемые самими поисковыми системами.

Google Вебмастерс (Search Console Google): заходим в аккаунт, если в нем сайт не подтвержден - подтверждаем, далее переходим на Сканирование -> Инструмент проверки файла robots.txt.

Здесь можно:

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

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

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

Готовые решения для самых популярных CMS

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

Disallow: /cgi-bin # классика жанра

Disallow: /? # любые параметры запроса на главной

Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins

Disallow: *?s= # поиск

Disallow: *&s= # поиск

Disallow: /search # поиск

Disallow: *?attachment_id= # страница вложения. Вообще-то на ней редирект...

Disallow: */feed # все фиды

Disallow: */rss # rss фид

Disallow: */embed # все встраивания

Disallow: */page/ # все виды пагинации

Allow: */uploads # открываем uploads

Allow: /*/*.js # внутри /wp- (/*/ - для приоритета)

Allow: /*/*.css # внутри /wp- (/*/ - для приоритета)

Allow: /wp-*.png # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д.

#Disallow: /wp/ # когда WP установлен в подкаталог wp

Sitemap: http://site.ru/sitemap2.xml # еще один файл

#Sitemap: http://site.ru/sitemap.xml.gz # сжатая версия (.gz)

Host: www.site.ru # для Яндекса и Mail.RU. (межсекционная)

# Версия кода: 1.0

# Не забудьте поменять `site.ru` на ваш сайт.

Давайте разберем код файла robots txt для WordPress CMS:

Здесь мы указываем, что все правила актуальны для всех поисковых роботов (за исключением тех, для кого составлены «персональные» списки). Если список составляется для какого-то конкретного робота, то * меняется на имя робота:

User-agent: Yandex

User-agent: Googlebot

Allow: */uploads

Здесь мы осознанно даем добро на индексирование ссылок, в которых содержится /uploads. В данном случае это правило является обязательным, т.к. в движке WordPress есть директория /wp-content/uploads (в которой вполне могут содержаться картинки, либо другой «открытый» контент), индексирование которой запрещено правилом Disallow: /wp-. Поэтому с помощью Allow: */uploads мы делаем исключение из правила Disallow: /wp-.

В остальном просто идут запреты на индексирование:

Disallow: /cgi-bin - запрет на индексирование скриптов

Disallow: /feed - запрет на сканирование RSS-фида

Disallow: /trackback - запрет сканирования уведомлений

Disallow: ?s= или Disallow: *?s= - запрет на индексирование страниц внутреннего поиска сайта

Disallow: */page/ - запрет индексирования всех видов пагинации

Правило Sitemap: http://site.ru/sitemap.xml указывает Яндекс-роботу путь к файлу с xml-картой. Путь должен быть прописан полностью. Если таких файлов несколько - прописываем несколько Sitemap-правил (1 файл = 1 правило).

В строке Host: site.ru мы специально для Яндекса прописали основное зеркало сайта. Оно указывается для того, чтоб остальные зеркала индексировались одинаково. Пустая строка перед Host: является обязательной.

Где находится robots txt WordPress вы все наверное знаете - так как и в другие CMS, данный файл должен находится в корневом каталоге сайта.

Файл robots.txt для Joomla

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

Вот так выглядит правильный robots.txt для Joomla:

Disallow: /administrator/

Disallow: /cache/

Disallow: /components/

Disallow: /images/

Disallow: /includes/

Disallow: /installation/

Disallow: /language/

Disallow: /layouts/

Disallow: /libraries/

Disallow: /logs/

Disallow: /media/

Disallow: /modules/

Disallow: /plugins/

Disallow: /templates/

robots.txt Wix

Платформа Wix автоматически генерирует файлы robots.txt персонально для каждого сайта Wix. Т.е. к Вашему домену добавляете /robots.txt (например: www.domain.com/robots.txt) и можете спокойно изучить содержимое файла robots.txt, находящегося на Вашем сайте.

Отредактировать robots.txt нельзя. Однако с помощью noindex можно закрыть какие-то конкретные страницы от индексирования.

robots.txt для Opencart

Стандартный файл robots.txt для OpenCart:

Disallow: /*route=account/

Disallow: /*route=affiliate/

Disallow: /*route=checkout/

Disallow: /admin

Disallow: /catalog

Disallow: /download

Disallow: /export

Disallow: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?filter_name=

Disallow: /*&filter_name=

Disallow: /*?filter_sub_category=

Disallow: /*&filter_sub_category=

Disallow: /*?filter_description=

Disallow: /*&filter_description=

Disallow: /*?tracking=

Disallow: /*&tracking=

Disallow: /*?page=

Disallow: /*&page=

Disallow: /wishlist

Disallow: /login

User-agent: Yandex

Disallow: /*route=account/

Disallow: /*route=affiliate/

Disallow: /*route=checkout/

Disallow: /*route=product/search

Disallow: /index.php?route=product/product*&manufacturer_id=

Disallow: /admin

Disallow: /catalog

Disallow: /download

Disallow: /export

Disallow: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?tracking=

Disallow: /*&tracking=

Disallow: /*route=product/search

Disallow: /*?page=

Disallow: /*&page=

Clean-param: tracking

Clean-param: filter_name

Clean-param: filter_sub_category

Clean-param: filter_description

Disallow: /wishlist

Disallow: /login

Disallow: /index.php?route=product/manufacturer

Disallow: /index.php?route=product/compare

Disallow: /index.php?route=product/category

Host: Vash_domen

Sitemap: http://Vash_domen/sitemap.xml

robots.txt для Битрикс (Bitrix)

1. Папки /bitrix и /cgi-bin должны быть закрыты, т.к. это чисто технический «хлам», который незачем светить в поисковой выдаче.

Disallow: /bitrix

Disallow: /cgi-bin

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

Disallow: /search

Disallow: /auth/

Disallow: /auth.php

4. Материалы для печати (например, счета на оплату) тоже нет смысла светить в поисковой выдаче. Закрываем.

Disallow: /*?print=

Disallow: /*&print=

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

Disallow: /*register=yes

Disallow: /*forgot_password=yes

Disallow: /*change_password=yes

Disallow: /*login=yes

Disallow: /*logout=yes

Disallow: /*auth=yes

6. Back-адреса тоже нет смысла индексировать. Эти адреса могут образовываться, например, при просмотре фотоальбома, когда Вы сначала листаете его «вперед», а потом - «назад». В эти моменты в адресной строке вполне может появиться что-то типа матерного ругательства: ?back_url_ =%2Fbitrix%2F%2F. Ценность таких адресов равна нулю, поэтому их тоже закрываем от индексирования. Ну а в качестве бонуса - избавляемся от потенциальных «дублей» в поисковой выдаче.

Disallow: /*BACKURL=*

Disallow: /*back_url=*

Disallow: /*BACK_URL=*

Disallow: /*back_url_admin=*

7. Папку /upload необходимо закрывать строго по обстоятельствам. Если там хранятся фотографии и видеоматериалы, размещенные на страницах, то ее скрывать не нужно, чтоб не срезать дополнительный трафик. Ну а если что-то конфиденциальное - однозначно закрываем:

Disallow: /upload

Готовый файл robots.txt для Битрикс:

Allow: /search/map.php

Allow: /bitrix/templates/

Disallow: */index.php

Disallow: /*action=

Disallow: /*print=

Disallow: /*/gallery/*order=

Disallow: /*/search/

Disallow: /*/slide_show/

Disallow: /*?utm_source=

Disallow: /*ADD_TO_COMPARE_LIST

Disallow: /*arrFilter=

Disallow: /*auth=

Disallow: /*back_url_admin=

Disallow: /*BACK_URL=

Disallow: /*back_url=

Disallow: /*backurl=

Disallow: /*bitrix_*=

Disallow: /*bitrix_include_areas=

Disallow: /*building_directory=

Disallow: /*bxajaxid=

Disallow: /*change_password=

Disallow: /*clear_cache_session=

Disallow: /*clear_cache=

Disallow: /*count=

Disallow: /*COURSE_ID=

Disallow: /*forgot_password=

Disallow: /*index.php$

Disallow: /*login=

Disallow: /*logout=

Disallow: /*modern-repair/$

Disallow: /*MUL_MODE=

Disallow: /*ORDER_BY

Disallow: /*PAGE_NAME=

Disallow: /*PAGE_NAME=detail_slide_show

Disallow: /*PAGE_NAME=search

Disallow: /*PAGE_NAME=user_post

Disallow: /*PAGEN_

Disallow: /*print_course=

Disallow: /*print=

Disallow: /*register=

Disallow: /*register=yes

Disallow: /*set_filter=

Disallow: /*show_all=

Disallow: /*show_include_exec_time=

Disallow: /*show_page_exec_time=

Disallow: /*show_sql_stat=

Disallow: /*SHOWALL_

Disallow: /*sort=

Disallow: /*sphrase_id=

Disallow: /*tags=

Disallow: /access.log

Disallow: /admin

Disallow: /auth.php

Disallow: /bitrix

Disallow: /bitrix/

Disallow: /cgi-bin

Disallow: /club/$

Disallow: /club/forum/search/

Disallow: /club/gallery/tags/

Disallow: /club/group/search/

Disallow: /club/log/

Disallow: /club/messages/

Disallow: /club/search/

Disallow: /communication/blog/search.php

Disallow: /communication/forum/search/

Disallow: /communication/forum/user/

Disallow: /content/board/my/

Disallow: /content/links/my/

Disallow: /error

Disallow: /e-store/affiliates/

Disallow: /e-store/paid/detail.php

Disallow: /examples/download/download_private/

Disallow: /examples/my-components/

Disallow: /include

Disallow: /personal

Disallow: /search

Disallow: /upload

Disallow: /*/*ELEMENT_CODE=

Disallow: /*/*SECTION_CODE=

Disallow: /*/*IBLOCK_CODE

Disallow: /*/*ELEMENT_ID=

Disallow: /*/*SECTION_ID=

Disallow: /*/*IBLOCK_ID=

Disallow: /*/*CODE=

Disallow: /*/*ID=

Disallow: /*/*IBLOCK_EXTERNAL_ID=

Disallow: /*/*SECTION_CODE_PATH=

Disallow: /*/*EXTERNAL_ID=

Disallow: /*/*IBLOCK_TYPE_ID=

Disallow: /*/*SITE_DIR=

Disallow: /*/*SERVER_NAME=

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

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

robots.txt для Modx и Modx Revo

CMS Modx Revo тоже не лишена проблемы дублей. Однако, она не так сильно обострена, как в Битриксе. Теперь о ее решении.

  1. Включаем ЧПУ в настройках сайта.
  2. закрываем от индексации:

Disallow: /index.php # т.к. это дубль главной страницы сайта

Disallow: /*? # разом решаем проблему с дублями для всех страниц

Готовый файл robots.txt для Modx и Modx Revo:

Disallow: /*?id=

Disallow: /assets

Disallow: /assets/cache

Disallow: /assets/components

Disallow: /assets/docs

Disallow: /assets/export

Disallow: /assets/import

Disallow: /assets/modules

Disallow: /assets/plugins

Disallow: /assets/snippets

Disallow: /connectors

Disallow: /index.php

Disallow: /install

Disallow: /manager

Disallow: /profile

Disallow: /search

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

Выводы

Без преувеличения файл robots.txt можно назвать «поводырём для поисковых роботов Яндекс и Гугл» (разумеется, если он составлен правильно). Если файл robots txt отсутствует, то его нужно обязательно создать и загрузить на хостинг Вашего сайта. Справка Disallow правил описаны выше в этой статьей и вы можете смело их использоваться в своих целях.

Еще раз резюмируем правила/директивы/инструкции для robots.txt:

  1. User-agent — указывает, для какого именно поискового робота создан список правил.
  2. Disallow - «рекомендую вот это не индексировать».
  3. Sitemap - указывает расположение XML-карты сайта со всеми URL, которые нужно проиндексировать. В большинстве случаев карта расположена по адресу http://[ваш_сайт]/sitemap.xml.
  4. Crawl-delay — директива, указывающая период (в секундах), через который будет загружена страница сайта.
  5. Host - показывает Яндексу основное зеркало сайта.
  6. Allow - «рекомендую вот это проиндексировать, не смотря на то, что это противоречит одному из Disallow-правил».
  7. Clean-param - помогает в борьбе с get-параметрами, применяется для снижения рисков образования страниц-дублей.

Знаки при составлении robots.txt:

  1. Знак «$» для «звездочки» является «ограничителем».
  2. После слэша «/» указывается наименование файла/папки/расширения, которую нужно скрыть (в случае с Disallow) или открыть (в случае с Allow) для индексирования.
  3. Знаком «*» обозначается «любое количество любых символов».
  4. Знаком «#» отделяются какие-либо комментарии или примечания, оставленные вэб-мастером для себя, либо для кого-то другого. Поисковые роботы их не читают.

В SEO мелочей не бывает. Иногда на продвижение сайта может оказать влияние всего лишь один небольшой файл — Robots.txt.

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

«Разве это возможно?», — спросите вы. Возможно. Для этого на вашем сайте должен быть файл robots.txt.

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

Готовый файл Robots.txt должен находиться в корневой папке сайта. Просто файл, без папки:

Хотите проверить, есть ли он на вашем сайте? Вбейте в адресную строку адрес: site.ru/robots.txt . Вам откроется вот такая страничка (если файл есть):

Файл состоит из нескольких блоков, отделённых отступом. В каждом блоке – рекомендации для поисковых роботов разных поисковых систем (плюс блок с общими правилами для всех), и отдельный блок со ссылками на карту сайта – Sitemap.

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

Каждый блок начинается директивой User-agent.

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

Нужно указывать относительные адреса страниц, а не абсолютные. Относительные – это без «www.site.ru». Например, вам нужно запретить к индексации страницу www.site.ru/shop . Значит после двоеточия ставим пробел, слэш и «shop»:

Disallow: /shop.

Звездочка (*) обозначает любой набор символов.

Знак доллара ($) – конец строки.

Вы можете решить – зачем писать файл с нуля, если его можно открыть на любом сайте и просто скопировать себе?

Для каждого сайта нужно прописывать уникальные правила. Нужно учесть особенности . Например, та же админпанель находится по адресу /wp-admin на движке WordPress, на другом адрес будет отличаться. То же самое с адресами отдельных страниц, с картой сайта и прочим.

Как правильно настроить Robots.txt

Как вы уже видели на скриншоте, первой идет директива User-agent. Она указывает, для какого поискового робота будут идти правила ниже.

User-agent: * — правила для всех поисковых роботов, то есть любой поисковой системы (Google, Yandex, Bing, Рамблер и т.п.).

User-agent: Googlebot – указывает на правила для поискового паука Google.

User-agent: Yandex – правила для поискового робота Яндекс.

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

Запретить индексацию: robots.txt Disallow

Чтобы запретить индексацию сайта в целом или отдельных страниц, используется директива Disallow.

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

User-agent: *

Disallow: /

Таким образом всем поисковым роботам запрещено индексировать контент на сайте.

А вот так можно открыть сайт для индексации:

User-agent: *

Disallow:

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

Чтобы закрыть от индексации отдельные страницы, нужно указать их адрес. Я уже писала, как это делается:

User-agent: *

Disallow: /wp-admin

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

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

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

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

User-agent: *

Disallow: /*. pdf$

Разрешить индексацию: robots.txt Allow

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

User-agent: *

Allow: /uslugi

Disallow: /

Главное зеркало сайта: robots.txt

До 20 марта 2018 года в файле robots.txt для поискового робота Яндекс нужно было указывать главное зеркало сайта через директиву Host. Сейчас этого делать не нужно – достаточно .

Что такое главное зеркало? Это какой адрес вашего сайта является главным – с www или без. Если не настроить редирект, то оба сайта будут проиндексированы, то есть, будут дубли всех страниц.

Карта сайта: robots.txt sitemap

После того, как прописаны все директивы для роботов, необходимо указать путь к Sitemap. Карта сайта показывает роботам, что все URL, которые нужно проиндексировать, находятся по определённому адресу. Например:

Sitemap: site.ru/sitemap.xml

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

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

В 2009 году Яндекс ввел новую директиву – Clean-param. С ее помощью можно описать динамические параметры, которые не влияют на содержание страниц. Чаще всего данная директива используется на форумах. Тут возникает много мусора, например id сессии, параметры сортировки. Если прописать данную директиву, поисковый робот Яндекса не будет многократно загружать информацию, которая дублируется.

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

Параметры, которые роботу не нужно учитывать, перечисляются в первой части значения через знак &:

Clean-param: sid&sort /forum/viewforum.php

Эта директива позволяет избежать дублей страниц с динамическими адресами (которые содержат знак вопроса).

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

Эта директива придёт на помощь тем, у кого слабый сервер.

Приход поискового робота – это дополнительная нагрузка на сервер. Если у вас высокая посещаемость сайта, то ресурс может попросту не выдержать и «лечь». В итоге робот получит сообщение об ошибке 5хх. Если такая ситуация будет повторяться постоянно, сайт может быть признан поисковой системой нерабочим.

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

Так же и с сервером.

Вернемся к директиве. Crawl-delay позволяет задать задержку сканирования страниц сайта с целью снизить нагрузку на сервер. Другими словами, вы задаете период, через который будут загружаться страницы сайта. Указывается данный параметр в секундах, целым числом: