Что означает disallow в robots txt. Как редактировать файл robots txt
Большинство роботов хорошо спроектированы и не создают каких-либо проблем для владельцев сайтов. Но если бот написан дилетантом или «что-то пошло не так», то он может создавать существенную нагрузку на сайт, который он обходит. Кстати, пауки вовсе на заходят на сервер подобно вирусам — они просто запрашивают нужные им страницы удаленно (по сути это аналоги браузеров, но без функции просмотра страниц).
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 в роботс.тхт
Приведу несколько простых примеров использования директив с объяснением его действий.
- Приведенный ниже код разрешает всем ботам (на это указывает звездочка в User-agent) проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow . User-agent: * Disallow:
- Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения. User-agent: * Disallow: /
- В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ — абсолютный путь к этому каталогу) User-agent: * Disallow: /image/
- Чтобы заблокировать один файл, достаточно будет прописать его абсолютный путь до него (читайте ):
User-agent: *
Disallow: /katalog1//katalog2/private_file.html
Забегая чуть вперед скажу, что проще использовать символ звездочки (*), чтобы не писать полный путь:
Disallow: /*private_file.html
- В приведенном ниже примере будут запрещены директория «image», а также все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.): User-agent: * Disallow: /image Дело в том, что по умолчанию в конце записи подразумевается звездочка, которая заменяет любые символы, в том числе и их отсутствие. Читайте об этом ниже.
- С помощью директивы Allow
мы разрешаем доступ. Хорошо дополняет Disallow. Например, таким вот условием поисковому роботу Яндекса мы запрещаем выкачивать (индексировать) все, кроме вебстраниц, адрес которых начинается с /cgi-bin:
User-agent: Yandex
Allow: /cgi-bin
Disallow: /
Ну, или такой вот очевидный пример использования связки Allow и Disallow:
User-agent: * Disallow: /catalog Allow: /catalog/auto
- При описании путей для директив Allow-Disallow можно использовать символы "*" и "$"
, задавая, таким образом, определенные логические выражения.
- Символ "*"(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»: User-agent: * Disallow: *.php$
- Зачем нужен на конце знак $ (доллара)
? Дело в том, что по логике составления файла robots.txt, в конце каждой директивы как бы дописывается умолчательная звездочка (ее нет, но она как бы есть). Например мы пишем:
Disallow: /images
Подразумевая, что это то же самое, что:
Disallow: /images*
Т.е. это правило запрещает индексацию всех файлов (вебстраниц, картинок и других типов файлов) адрес которых начинается с /images, а дальше следует все что угодно (см. пример выше). Так вот, символ $ просто отменяет эту умолчательную (непроставляемую) звездочку на конце. Например:
Disallow: /images$
Запрещает только индексацию файла /images, но не /images.html или /images/primer.html. Ну, а в первом примере мы запретили индексацию только файлов оканчивающихся на.php (имеющих такое расширение), чтобы ничего лишнего не зацепить:
Disallow: *.php$
Звездочка после вопросительного знака напрашивается, но она, как мы с вами выяснили чуть выше, уже подразумевается на конце. Таким образом мы запретим индексацию страниц поиска и прочих служебных страниц создаваемых движком, до которых может дотянуться поисковый робот. Лишним не будет, ибо знак вопроса чаще всего 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 в сети много.
Приведу две крайности :
- можно найти мегафайлище с подробными пояснениями (символом # отделяются комментарии, которые в реальном файле лучше будет удалить): 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
- А вот можно взять на вооружение пример минимализма: 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 продвижении
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 можно разместить практически на любом сайте (с мельчайшими корректировками).
Давайте теперь разберем, что тут есть.
- Здесь 2 списка правил - один «персонально» для Яндекса, другой - для всех остальных поисковых роботов.
- Правило Disallow: пустое, а значит никаких запретов на сканирование нет.
- В списке для Яндекса присутствует директива 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 тоже не лишена проблемы дублей. Однако, она не так сильно обострена, как в Битриксе. Теперь о ее решении.
- Включаем ЧПУ в настройках сайта.
- закрываем от индексации:
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:
- User-agent — указывает, для какого именно поискового робота создан список правил.
- Disallow - «рекомендую вот это не индексировать».
- Sitemap - указывает расположение XML-карты сайта со всеми URL, которые нужно проиндексировать. В большинстве случаев карта расположена по адресу http://[ваш_сайт]/sitemap.xml.
- Crawl-delay — директива, указывающая период (в секундах), через который будет загружена страница сайта.
- Host - показывает Яндексу основное зеркало сайта.
- Allow - «рекомендую вот это проиндексировать, не смотря на то, что это противоречит одному из Disallow-правил».
- Clean-param - помогает в борьбе с get-параметрами, применяется для снижения рисков образования страниц-дублей.
Знаки при составлении robots.txt:
- Знак «$» для «звездочки» является «ограничителем».
- После слэша «/» указывается наименование файла/папки/расширения, которую нужно скрыть (в случае с Disallow) или открыть (в случае с Allow) для индексирования.
- Знаком «*» обозначается «любое количество любых символов».
- Знаком «#» отделяются какие-либо комментарии или примечания, оставленные вэб-мастером для себя, либо для кого-то другого. Поисковые роботы их не читают.
Привет, сегодня мы расскажем о том, как создать правильный Robots txt и зачем он вообще нужен.
Содержание:
Что такое robots txt
В одной из наших прошлых статей мы рассказывали и том, как работают поисковые роботы. Файл robots txt даёт инструкции поисковым роботам, о том, как правильно индексировать ваш сайт. С помощью директив вы можете, например, указать роботу какие страницы или директории следует индексировать, а какие нет, сформировать группу зеркал для вашего сайта(если они у вас есть), указать путь к файлу sitemap и так далее. В основном его используют именно для запрета индексации определённых страниц сайта.
Как создать правильный robots txt
В любом текстовом редакторе создайте файл с именем robots txt. Затем, используя директивы описанные ниже, укажите роботу на страницы сайта, которые надо добавить или же наоборот убрать из поисковой выдачи. После того, как вы создали файл, проверьте его на наличие ошибок с помощью Яндекс вебмастера или Google Search Console.
Готовый файл поместите в корневой каталог вашего сайта(там, где находится файл index.html).
Директива User-agent
Это своеобразное приветствие поисковых роботов.
Строка "User-agent:*" Скажет, что все поисковые роботы могут использовать инструкции, содержащиеся в этом файле. А, например, строка "User-agent: Yandex" даст инструкции только для поискового робота яндекса. Примеры использования указаны ниже. Также у поисковых систем есть вспомогательные роботы для разных категорий. Например, YandexNews и Googlebot-News - это роботы для работы с новостями.
Директивы Allow и Disallow
С помощью директивы Disallow вы указываете какие страницы или каталоги сайта запрещено индексировать. А с помощью директивы Allow, соответственно, можно.
Примеры:User-agent:*
Disallow: /
Allow:/catalog /
Такая запись сообщит всем поисковым роботам, что из всего сайта им можно индексировать только директорию catalog.
Кстати, символ # предназначен для описания комментариев. Все, что находится после этого символа и до конца строки не учитывается.
А вот пример robots txt с указанием индивидуальных инструкций для разных поисковиков:
#разрешает роботу индексировать весь сайт, кроме раздела с велосипедами
User-agent:*
Disallow: /велосипеды
/
#запрещает роботу индексировать сайт, кроме раздела с лодками
User-agent: Googlebot
Allow: /лодки
/
Disallow:/
#запретит всем остальным поисковым системам индексировать сайт
User-agent: *
Disallow: /
Обратите внимание , что между директивами User-agent, Allow и Disallow не может быть пустых строк!
Спецсимволы * и $
В директивах allow и Disallow можно использовать спецсимволы * и $, чтобы задавать регулярные выражения. *-выбирает указанную последовательность
Например: #Запрещает роботам индексировать все страницы, url которых содержит privateUser-agent:*
Disallow: /*private
По умолчанию в конце каждого правила необходимо прописать спецсимвол *. А чтобы отменить * в конце правила используется символ $.
Например: # запрещает "/lock"# но не запрещает "/lock.html"
User-agent:*
Disallow: /lock$ # запрещает и "/lock"
# и "/lock.html"
User-agent:*
Disallow: /lock
Спецсимвол $ не запрещает указанный * на конце, то есть:
User-agent:*Disallow: /lock$ # запрещает только "/lock"
Disallow: /lock*$ # так же, как "Disallow: /lock"
# запрещает и /lock.html и /lock
Директива sitemap
Если вы используете карту сайта sitemap, то используйте директиву sitemap и в ней укажите путь к одному(или нескольким файлам).
User-agent:*sitemap:https://site.com/sitemap.xml
Директива Host
Если у вашего сайта есть зеркала, то с помощью этой директивы специальный робот сформирует группу зеркал вашего сайта, а в поиск внесет только главное зеркало. Эта директива не гарантирует выбор указанного сайта в ней в качестве главного зеркала, но даёт ему высокий приоритет при принятии решения.
Пример:#указываем главное зеркало сайта
User-Agent: YandexDisallow:/mg-admin
Host: https://www.zerkalo.ru
Примечание . Эта директива используется исключительно для Яндекса! + Для каждого файла robots.txt обрабатывается только одна директива Host. Если в файле указано несколько директив, робот использует первую.
Директива Host должна содержать:
- Протокол HTTPS, если зеркало доступно только по защищенному каналу. Если вы используете протокол HTTP, то его указывать необязательно.
- Одно корректное доменное имя, соответствующего RFC 952 и не являющегося IP-адресом.
- Номер порта, если необходимо (Host: myhost.ru:8080).
Можно ли использовать кириллицу в robots txt?
Нет, использовать кириллицу нельзя. Для указания имен доменов на кириллице используйте, например, этот сервис .
Настройка robots txt MogutaCMS
В MogutaCMS заполнять robots.txt не требуется, т.к. он заполняется автоматически при установке движка.
Теперь вы знаете, как задать правильный robots txt, а также знаете как использовать различные директивы для управления индексацией своего сайта, а если у вас остались какие-либо вопросы, то мы готови ответить на них в специальном обсуждении в вк или же в комментариях ниже. До новых встреч!
Здравствуйте, уважаемые читатели блога «Мир Вебмастера»!
Файл robots.txt – это очень важный файл, напрямую влияющий на качество индексации вашего сайта, а значит и на его поисковое продвижение.
Именно поэтому вы должны уметь правильно оформлять роботс.тхт, чтобы случайно не запретить к индексу какие-нибудь важные документы интернет-проекта.
О том, как оформить файл robots.txt, какой синтаксис нужно использовать при этом, как разрешать и запрещать к индексу документы, и пойдет речь в этой статье.
О файле robots.txt
Сначала давайте подробнее узнаем, что же это за файл такой.
Файл роботс – это файл, который показывает поисковым системам, какие страницы и документы сайта можно добавлять в индекс, а какие – нельзя. Он необходим из-за того, что изначально поисковые системы стараются проиндексировать весь сайт, а это не всегда правильно. Например, если вы создаете сайт на движке (WordPress, Joomla и т.д.), то у вас будут присутствовать папки, организующие работу административной панели. Понятно, что информацию в этих папках индексировать нельзя, как раз в этом случае и используется файл robots.txt, который ограничивает доступ поисковикам.
Также в файле роботс.тхт указывается адрес карты сайта (она улучшает индексацию поисковыми системами), а также главный домен сайта (главное зеркало).
Зеркало – это абсолютная копия сайта, т.е. когда один сайт , то говорят, что один из них – это главный домен, а другой – его зеркало.
Таким образом, у файла достаточно много функций, причем немаловажных!
Синтаксис файла robots.txt
Файл роботс содержит блоки правил, которые говорят той или иной поисковой системе, что можно индексировать, а что нет. Блок правил может быть и один (для всех поисковиков), но также их может быть несколько – для каких-то конкретных поисковиков отдельно.
Каждый такой блок начинается с оператора «User-Agent», который указывает, к какой поисковой системе применимы данные правила.
User-
Agent:
A
{правила для робота «А»}
User-
Agent:
B
{правила для робота «В»}
В примере выше показано, что оператор «User-Agent» имеет параметр – имя робота поисковой системы, к которой применяются правила. Основные из них я укажу ниже:
После «User-Agent» идут другие операторы. Вот их описание:
Для всех операторов справедлив один синтаксис. Т.е. операторы нужно использовать следующим образом:
Оператор1: параметр1
Оператор2: параметр2
…
Таким образом, сначала мы пишем название оператора (неважно, большими или маленькими буквами), затем ставим двоеточие и через пробел указываем параметр данного оператора. Затем с новой строки таким же образом описываем оператор два.
Важно!!! Пустая строка будет означать, что блок правил для данного поисковика закончен, поэтому не разделяйте операторы пустой строкой.
Пример файла robots.txt
Рассмотрим простенький пример файла robots.txt, чтобы лучше разобраться в особенностях его синтаксиса:
User-agent: Yandex
Allow: /folder1/
Disallow: /file1.html
Host: www.site.ru
User-agent: *
Disallow: /document.php
Disallow: /folderxxx/
Disallow: /folderyyy/folderzzz
Disallow: /feed/
Sitemap: http://www.site.ru/sitemap.xml
Теперь разберем описанный пример.
Файл состоит из трех блоков: первый для Яндекса, второй для всех поисковых систем, а в третьем указан адрес карты сайта (применяется автоматически для всех поисковиков, поэтому указывать «User-Agent» не нужно). Яндексу мы разрешили индексировать папку «folder1» и все ее содержимое, но запретили индексировать документ «file1.html», находящийся в корневом каталоге на хостинге. Также мы указали главный домен сайта яндексу. Второй блок – для всех поисковиков. Там мы запретили документ «document.php», а также папки «folderxxx», «folderyyy/folderzzz» и «feed».
Обратите внимание, что мы запретили в втором блоке команд к индексу не всю папку «folderyyy», а лишь папку внутри этой папки – «folderzzz». Т.е. мы указали полный путь для «folderzzz». Так всегда нужно делать, если мы запрещаем документ, находящийся не в корневом каталоге сайта, а где-то внутри других папок.
Создание займет меньше двух минут:
Созданный файл роботс можно проверить на работоспособность в панели вебмастеров Яндекса . Если в файле вдруг обнаружатся ошибки, то яндекс это покажет.
Обязательно создайте файл robots.txt для вашего сайта, если его у вас до сих пор нету. Это поможет развиваться вашему сайту в поисковых системах. Также можете почитать еще одну нашу статью про методом мета-тегов и.htaccess.
Приветствую вас, уважаемые читатели SEO блога Pingo. В данной статье я хочу изложить своё представление о том, как правильно составить robots.txt для сайта. В своё время меня очень раздражало, что информация в интернете по этому вопросу довольно отрывочна. Из-за этого приходилось ползать по большому количеству ресурсов, постоянно фильтруя повторяющуюся информацию и вычленяя новую.
Таким образом, здесь я постараюсь ответить на большинство вопросов, начиная с определения и заканчивая примерами реальных задач, решаемых данным инструментом. Если что-то забуду - отпишитесь в комментариях об этом - исследую вопрос и дополню материал.
Robots.txt - что это, зачем нужен и где обитает?
Итак, сперва ликбез для тех, кому данная тема незнакома совершенно.
Robots.txt - текстовый файл, содержащий инструкции по индексации сайта для роботов поисковых систем. В этом файле вебмастер может определить параметры индексации своего сайта как для всех роботов сразу, так и для каждой поисковой системы по отдельности (например, для гугла).
Где находится robots.txt? Он размещается в корневой папке FTP сайта, и, по сути, является обычным документом в формате txt, редактирование которого можно осуществлять через любой текстовый редактор (лично я предпочитаю Notepad++). Содержимое файла роботс можно увидеть, введя в адресной строке браузера http://www.ваш-сайт.ru/robots.txt. Если, конечно, он существует.
Как создать robots.txt для сайта? Достаточно сделать обычный текстовый файл с таким именем и загрузить его на сайт. О том, как его правильно настроить и составить, будет сказано ниже.
Структура и правильная настройка файла robots.txt
Как должен выглядеть правильный файл robots txt для сайта? Структуру можно описать следующим образом:
1. Директива User-agent
Что писать в данном разделе? Эта директива определяет то, для какого именно робота предназначены нижеизложенные инструкции. Например, если они предназначены для всех роботов, то достаточно следующей конструкции:
В синтаксисе файла robots.txt знак «*» равноценен словосочетанию «что угодно». Если же требуется задать инструкции для конкретной поисковой системы или робота, то на месте звездочки из предыдущего примера пишется его название, например:
User-agent: YandexBot
У каждого поисковика существует целый набор роботов, выполняющих те или иные функции. Роботы поисковой системы Яндекс описаны . В общем же плане имеется следующее:
- Yandex - указание на роботов Яндекс.
- GoogleBot - основной индексирующий робот .
- MSNBot - основной индексирующий робот Bing.
- Aport - роботы Aport.
- Mail.Ru - роботы ПС Mail.
Если имеется директива для конкретной поисковой системы или робота, то общие игнорируются.
2. Директива Allow
Разрешает отдельные страницы раздела, если, скажем, ранее он целиком закрыт от индексации. Например:
User-agent: *
Disallow: /
Allow: /открытая-страница.html
В данном примере мы запрещаем к индексации весь сайт, кроме страницы poni.html
Служит эта директива в какой-то степени для указания на исключения из правил, заданных директивой Disallow. В случае, если таких ситуаций нет, то директива может не использоваться совсем. Она не позволяет открыть сайт для индексации, как многие думают, так как если нет запрета вида Disallow: /, то он открыт по умолчанию.
2. Директива Disallow
Является антиподом директивы Allow и закрывает от индексации отдельные страницы, разделы или сайт целиком. Являет аналогом тега noindex. Например:
User-agent: *
Disallow: /закрытая-страница.html
3. Директива Host
Используется только для Яндекса и указывает на основное зеркало сайта. Выглядит это так.
Основное зеркало без www:
Основное зеркало с www:
Host: www.site.ru
Сайт на https:
Host: https://site.ru
Нельзя записывать директиву host в файл дважды. Если же вследствие какой-то ошибки это произошло, то обрабатывается та директива, которая идет первой, а вторая - игнорируется.
4. Директива Sitemap
Используется для указания пути к XML-карте сайта sitemap.xml (если она есть). Синтаксис следующий:
Sitemap: http://www.site.ru/sitemap.xml
5. Директива Clean-param
Используется для закрытия от индексации страниц с параметрами, которые могут являться дублями. Очень полезная на мой взгляд директива, которая отсекает параметрический хвост урлов, оставляя только костяк, который и является родоначальным адресом страницы.
Особенно часто встречается такая проблема при работе с каталогами и интернет-магазинами.
Скажем, у нас имеется страница:
http://www.site.ru/index.php
И эта страница в процессе работы может обрастать клонами вида.
http://www.site.ru/index.php?option=com_user_view=remind
http://www.site.ru/index.php?option=com_user_view=reset
http://www.site.ru/index.php?option=com_user_view=login
Для того, чтобы избавиться от всевозможных вариантов этого спама, достаточно указать следующую конструкцию:
Clean-param: option /index.php
Синтаксис из примера, думаю, понятен:
Clean-param: # указываем директиву
option # указываем спамный параметр
/index.php # указываем костяк урла со спамным параметром
Если параметров несколько, то просто перечисляем их через амперсант(&):
http://www.site.ru/index.php?option=com_user_view=remind&size=big # урл с двумя параметрами
Clean-param: option&big /index.php # указаны два параметра через амперсант
Пример взят простой, поясняющий саму суть. Особенно спасибо этому параметру хочется сказать при работе с CMS Bitrix.
Директива Crawl-Delay
Позволяет задать таймаут на загрузку страниц сайта роботом Яндекс. Используется при большой загруженности сервера, при которой он просто не успевает быстро отдавать содержимое. На мой взгляд, это анахронизм, который уже не учитывается и который можно не использовать.
Crawl-delay: 3.5 #таймаут в 3,5 секунды
Синтаксис
- # - используется для написания комментариев:
- * - означает любую последовательность символов, значение:
- $ - обрезание правила, антипод знака звездочки:
User-agent: * # директива относится ко всем роботам
Disallow: /page* # запрет всех страниц, начинающихся на page
Disallow: /*page # запрет всех страниц, заканчивающихся на page
Disallow: /cgi-bin/*.aspx # запрет всех aspx страниц в папке cgi-bin
Disallow: /page$ # будет закрыта только страница /page, а не /page.html или pageline.html
Пример файла robots.txt
С целью закрепления понимания вышеописанной структуры и правил, приведем стандартный robots txt для CMS Data Life Engine.
User-agent: * # директивы предназначены для всех поисковых систем
Disallow: /engine/go.php # запрещаем отдельные разделы и страницы
Disallow: /engine/download.php #
Disallow: /user/ #
Disallow: /newposts/ #
Disallow: /*subaction=userinfo # закрываем страницы с отдельными параметрами
Disallow: /*subaction=newposts #
Disallow: /*do=lastcomments #
Disallow: /*do=feedback #
Disallow: /*do=register #
Disallow: /*do=lostpassword #
Host: www.сайт # указываем главное зеркало сайта
Sitemap: https://сайт/sitemap.xml # указываем путь до карты сайта
User-agent: Aport # указываем направленность правил на ПС Aport
Disallow: / # предположим, не хотим мы с ними дружить
Проверка robots.txt
Как проверить robots txt на корректность составления? Стандартный вариант - валидатор Яндекса - http://webmaster.yandex.ru/robots.xml . Вводим путь до вашего файла роботс или сразу вставляем его содержимое в текстовое поле. Вводим список урлов, которые мы хотим проверить - закрыты или открыты они согласно заданным директивам - нажимаем «Проверить» и вуаля! Профит.
Выводится статус страницы - открыта ли она для индексации или закрыта. Если закрыта, то указывается, каким именно правилом. Чтобы разрешить индексацию такой страницы, нужно доработать правило, на которое указывает валидатор. Если в файле имеются синтаксические ошибки, то валидатор также об этом сообщит.
Генератор robots.txt - создание в режиме онлайн
Если изучать синтаксис желания или времени нет, но необходимость закрыть спамные страницы сайта присутствует, то можно воспользоваться любым бесплатным онлайн генератором , который позволит создать robots txt для сайта всего парой кликов. Затем вам останется лишь скачать файл и загрузить его к себе на сайт. При работе с ним вам лишь необходимо проставить галочки у очевидных настроек, а также указать страницы, которые вы хотите закрыть от индексации. Остальное генератор сделает за вас.
Готовые файлы для популярных CMS
Файл robots.txt для сайта на 1C Битрикс
User-Agent: *
Disallow: /bitrix/
Disallow: /personal/
Disallow: /upload/
Disallow: /*login*
Disallow: /*auth*
Disallow: /*search
Disallow: /*?sort=
Disallow: /*gclid=
Disallow: /*register=
Disallow: /*?per_count=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*logout=
Disallow: /*back_url_admin=
Disallow: /*print=
Disallow: /*backurl=
Disallow: /*BACKURL=
Disallow: /*back_url=
Disallow: /*BACK_URL=
Disallow: /*ADD2BASKET
Disallow: /*ADD_TO_COMPARE_LIST
Disallow: /*DELETE_FROM_COMPARE_LIST
Disallow: /*action=BUY
Disallow: /*set_filter=y
Disallow: /*?mode=matrix
Disallow: /*?mode=listitems
Disallow: /*openstat
Disallow: /*from=adwords
Disallow: /*utm_source
Host: www.site.ru
Robots.txt для DataLife Engine (DLE)
User-agent: *
Disallow: /engine/go.php
Disallow: /engine/download.php
Disallow: /engine/classes/highslide/
Disallow: /user/
Disallow: /tags/
Disallow: /newposts/
Disallow: /statistics.html
Disallow: /*subaction=userinfo
Disallow: /*subaction=newposts
Disallow: /*do=lastcomments
Disallow: /*do=feedback
Disallow: /*do=register
Disallow: /*do=lostpassword
Disallow: /*do=addnews
Disallow: /*do=stats
Disallow: /*do=pm
Disallow: /*do=search
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml
Robots.txt для Joomla
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: *print
Disallow: /*utm_source
Disallow: /*mailto*
Disallow: /*start*
Disallow: /*feed*
Disallow: /*search*
Disallow: /*users*
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml
Robots.txt для Wordpress
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: */trackback
Disallow: */feed
Disallow: /wp-login.php
Disallow: /wp-register.php
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml
Robots.txt для Ucoz
User-agent: *
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat
Disallow: /search
Disallow: /shop/order/
Disallow: /?ssid=
Disallow: /google
Disallow: /