Компьютеры Windows Интернет

Как запретить все в robots. Как запретить индексацию нужных страниц. Директивы «Host:» и «Sitemap:»

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

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

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

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

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

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

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

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

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

User-agent

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

User-agent: *

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

User-agent: Yandex

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

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

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

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

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

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

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

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

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

    Disallow: /*private_file.html

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

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

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

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

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

      Disallow: /images*

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

      Disallow: /images$

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

      Disallow: *.php$

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Robots для WordPress

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Быстрая индексация сайта

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

    Плохая, медленная индексация сайта

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

    • Страницы сайта медленно загружаются . Это может стать причиной полного исключения сайта из индекса.
    • Сайт редко обновляется . Зачем роботу часто приходить на сайт, на котором новые страницы появляются раз в месяц.
    • Неуникальный контент . Если на сайте размещен (статьи, фотографии), поисковая система снизит трастовость (доверие) к вашему сайту и снизит расход ресурсов на его индексацию.
    • Большое количество страниц . Если на сайте много страниц и не , то на индексацию или переиндексацию всех страниц сайта может уйти очень много времени.
    • Сложная структура сайта . Запутанная структура сайта и большие количество вложений сильно затрудняют индексацию страниц сайта.
    • Много «лишних» страниц . На каждом сайте есть целевые страницы, содержание которых статично, уникально и полезно для пользователей и побочные страницы, вроде , авторизации или страниц фильтров. Если подобные страницы существуют, их как правило очень много, но в индексацию попадают далеко не все. А страницы, которые попадают — конкурируют с целевыми страницами. Все эти страницы регулярно переиндексируются, расходуя и так ограниченый ресурс, выделенный на индексацию вашего сайта.
    • Динамические страницы . Если на сайте существуют страницы, содержимое которых не зависит от динамических параметров (пример: site.ru/page.html?lol=1&wow=2&bom=3), в результате может появиться множество дублей целевой страницы site.ru/page.html.

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

    Убрать из индексации все лишнее

    Существует множество возможностей рационально использовать ресурсы, которые выделяют поисковики на индексацию сайта. И широкие возможности для управления индексацией сайта открывает именно robots.txt.

    Используя дерективы Allow, Disallow, Clean-param и другие, можно эффективно распределить не только внимание поискового робота, но и существенно снизить нагрузку на сайт.

    Для начала, нужно исключить из индексации все лишнее, используя дерективу Disallow.

    Например, запретим страницы логина и регистрации:

    Disallow: /login Disallow: /register

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

    Disallow: /tag

    Некоторых динамических страниц:

    Disallow: /*?lol=1

    Или всех динамических страницы:

    Disallow: /*?*

    Или сведем на нет страницы с динамическими параметрами:

    Clean-param: lol&wow&bom /

    На многих сайтах, число страниц найденых роботом может отличаться от числа страниц в поиске в 3 и более раз. То есть, более 60% страниц сайта не участвуют в поиске и являются баластом, который нужно либо ввести в поиск, либо избавится от него. Исключив, нецелвые страницы и приблизив количество страниц в поиске к 100% вы увидите существенный прирост к скорости индексации сайта, рост позиций в поисковой выдаче и больше трафика.

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

    Сбрасывайте ненужный баласт и быстрее идите в топ.

    Цель этого руководства – помочь веб-мастерам и администраторам в использовании robots.txt.

    Введение

    Стандарт исключений для роботов по сути своей очень прост. Вкратце, это работает следующим образом:

    Когда робот, соблюдающий стандарт заходит на сайт, он прежде всего запрашивает файл с названием «/robots.txt». Если такой файл найден, Робот ищет в нем инструкции, запрещающие индексировать некоторые части сайта.

    Где размещать файл robots.txt

    Робот просто запрашивает на вашем сайте URL «/robots.txt», сайт в данном случае – это определенный хост на определенном порту.

    URL Сайта URL файла robots.txt
    http://www.w3.org/ http://www.w3.org/robots.txt
    http://www.w3.org:80/ http://www.w3.org:80/robots.txt
    http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt
    http://w3.org/ http://w3.org/robots.txt

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

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

    Неправильное расположение robots.txt
    http://www.w3.org/admin/robots.txt
    http://www.w3.org/~timbl/robots.txt Файл находится не в корне сайта
    ftp://ftp.w3.com/robots.txt Роботы не индексируют ftp
    http://www.w3.org/Robots.txt Название файла не в нижнем регистре

    Как видите, файл robots.txt нужно класть исключительно в корень сайта.

    Что писать в файл robots.txt

    В файл robots.txt обычно пишут нечто вроде:

    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /tmp/
    Disallow: /~joe/

    В этом примере запрещена индексация трех директорий.

    Затметьте, что каждая директория указана на отдельной строке – нельзя написать «Disallow: /cgi-bin/ /tmp/». Нельзя также разбивать одну инструкцию Disallow или User-agent на несколько строк, т.к. перенос строки используется для отделения инструкций друг от друга.

    Регулярные выражения и символы подстановки так же нельзя использовать. «Звездочка» (*) в инструкции User-agent означает «любой робот». Инструкции вида «Disallow: *.gif» или «User-agent: Ya*» не поддерживаются.

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

    Запретить весь сайт для индексации всеми роботами

    User-agent: *
    Disallow: /

    Разрешить всем роботам индексировать весь сайт

    User-agent: *
    Disallow:

    Или можете просто создать пустой файл «/robots.txt».

    Закрыть от индексации только несколько каталогов

    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /tmp/
    Disallow: /private/

    Запретить индексацию сайта только для одного робота

    User-agent: BadBot
    Disallow: /

    Разрешить индексацию сайта одному роботу и запретить всем остальным

    User-agent: Yandex
    Disallow:

    User-agent: *
    Disallow: /

    Запретить к индексации все файлы кроме одного

    Это довольно непросто, т.к. не существует инструкции “Allow”. Вместо этого можно переместить все файлы кроме того, который вы хотите разрешить к индексации в поддиректорию и запретить ее индексацию:

    User-agent: *
    Disallow: /docs/

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

    User-agent: *
    Disallow: /private.html
    Disallow: /foo.html
    Disallow: /bar.html

    Файл robots.txt — текстовый файл в формате.txt, ограничивающий поисковым роботам доступ к содержимому на http-сервере. Как определение, Robots.txt — это стандарт исключений для роботов , который был принят консорциумом W3C 30 января 1994 года, и который добровольно использует большинство поисковых систем. Файл robots.txt состоит из набора инструкций для поисковых роботов, которые запрещают индексацию определенных файлов, страниц или каталогов на сайте. Рассмотрим описание robots.txt для случая, когда сайт не ограничивает доступ роботам к сайту.

    Простой пример robots.txt:

    User-agent: * Allow: /

    Здесь роботс полностью разрешает индексацию всего сайта.

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

    Ваш_сайт.ru/robots.txt

    Для размещения файла robots.txt в корне сайта обычно необходим доступ через FTP . Однако, некоторые системы управления (CMS) дают возможность создать robots.txt непосредственно из панели управления сайтом или через встроенный FTP-менеджер.

    Если файл доступен, то вы увидите содержимое robots.txt в браузере.

    Для чего нужен robots.txt

    Roots.txt для сайта является важным аспектом . Зачем нужен robots.txt ? Например, в SEO robots.txt нужен для того, чтобы исключать из индексации страницы, не содержащие полезного контента и многое другое . Как, что, зачем и почему исключается уже было описано в статье про , здесь не будем на этом останавливаться. Нужен ли файл robots.txt всем сайтам? И да и нет. Если использование robots.txt подразумевает исключение страниц из поиска, то для небольших сайтов с простой структурой и статичными страницами подобные исключения могут быть лишними. Однако, и для небольшого сайта могут быть полезны некоторые директивы robots.txt , например директива Host или Sitemap, но об этом ниже.

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

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

    Cоздать robots.txt онлайн

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

    Редактирование robots.txt

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

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

    Правильная настройка robots.txt позволяет избежать попадания частной информации в результаты поиска крупных поисковых систем. Однако, не стоит забывать, что команды robots.txt не более чем руководство к действию, а не защита . Роботы надежных поисковых систем, вроде Яндекс или Google, следуют инструкциям robots.txt, однако прочие роботы могут легко игнорировать их. Правильное понимание и применение robots.txt — залог получения результата.

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

    Правильный robots.txt начинается с директивы User-agent , которая указывает, к какому роботу обращены конкретные директивы.

    Примеры User-agent в robots.txt:

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

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

    Пример robots.txt с несколькими вхождениями User-agent:

    # Будет использована всеми роботами Яндекса User-agent: Yandex Disallow: /*utm_ # Будет использована всеми роботами Google User-agent: Googlebot Disallow: /*utm_ # Будет использована всеми роботами кроме роботов Яндекса и Google User-agent: * Allow: /*utm_

    Директива User-agent создает лишь указание конкретному роботу, а сразу после директивы User-agent должна идти команда или команды с непосредственным указанием условия для выбранного робота. В примере выше используется запрещающая директива «Disallow», которая имеет значение «/*utm_». Таким образом, закрываем все . Правильная настройка robots.txt запрещает наличие пустых переводов строки между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

    Пример неправильного перевода строки в robots.txt:

    Пример правильного перевода строки в robots.txt:

    User-agent: Yandex Disallow: /*utm_ Allow: /*id= User-agent: * Disallow: /*utm_ Allow: /*id=

    Как видно из примера, указания в robots.txt поступают блоками , каждый из которых содержит указания либо для конкретного робота, либо для всех роботов «*».

    Кроме того, важно соблюдать правильный порядок и сортировку команд в robots.txt при совместном использовании директив, например «Disallow» и «Allow». Директива «Allow» — разрешающая директива, является противоположностью команды robots.txt «Disallow» — запрещающей директивы.

    Пример совместного использования директив в robots.txt:

    User-agent: * Allow: /blog/page Disallow: /blog

    Данный пример запрещает всем роботам индексацию всех страниц, начинающихся с «/blog», но разрешает индексации страниц, начинающиеся с «/blog/page».

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

    User-agent: * Disallow: /blog Allow: /blog/page

    Сначала запрещаем весь раздел, потом разрешаем некоторые его части.

    Еще один правильный пример robots.txt с совместными директивами:

    User-agent: * Allow: / Disallow: /blog Allow: /blog/page

    Обратите внимание на правильную последовательность директив в данном robots.txt.

    Директивы «Allow» и «Disallow» можно указывать и без параметров, в этом случае значение будет трактоваться обратно параметру «/».

    Пример директивы «Disallow/Allow» без параметров:

    User-agent: * Disallow: # равнозначно Allow: / Disallow: /blog Allow: /blog/page

    Как составить правильный robots.txt и как пользоваться трактовкой директив — ваш выбор. Оба варианта будут правильными. Главное — не запутайтесь.

    Для правильного составления robots.txt необходимо точно указывать в параметрах директив приоритеты и то, что будет запрещено для скачивания роботам. Более полно использование директив «Disallow» и «Allow» мы рассмотрим чуть ниже, а сейчас рассмотрим синтаксис robots.txt. Знание синтаксиса robots.txt приблизит вас к тому, чтобы создать идеальный robots txt своими руками .

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

    Роботы поисковых систем добровольно следуют командам robots.txt — стандарту исключений для роботов, однако не все поисковые системы трактуют синтаксис robots.txt одинаково. Файл robots.txt имеет строго определённый синтаксис, но в то же время написать robots txt не сложно, так как его структура очень проста и легко понятна.

    Вот конкретные список простых правил, следуя которым, вы исключите частые ошибки robots.txt :

    1. Каждая директива начинается с новой строки;
    2. Не указывайте больше одной директивы в одной строке;
    3. Не ставьте пробел в начало строки;
    4. Параметр директивы должен быть в одну строку;
    5. Не нужно обрамлять параметры директив в кавычки;
    6. Параметры директив не требуют закрывающих точки с запятой;
    7. Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
    8. Допускаются комментарии в robots.txt после знака решетки #;
    9. Пустой перевод строки может трактоваться как окончание директивы User-agent;
    10. Директива «Disallow: » (с пустым значением) равнозначна «Allow: /» — разрешить все;
    11. В директивах «Allow», «Disallow» указывается не более одного параметра;
    12. Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
    13. Написание названия директив и параметров заглавными буквами считается плохим тоном и если по стандарту, robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий;
    14. Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /category
    15. Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
    16. Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
    17. Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
    18. В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
    19. Использование любых символов национальных алфавитов в robots.txt не допускается.

    Поскольку разные поисковые системы могут трактовать синтаксис robots.txt по-разному, некоторые пункты можно опустить. Так например, если прописать несколько директив «User-agent» без пустого перевода строки, все директивы «User-agent» будут восприняты корректно Яндексом, так как Яндекс выделяет записи по наличию в строке «User-agent».

    В роботсе должно быть указано строго только то, что нужно, и ничего лишнего. Не думайте, как прописать в robots txt все , что только можно и чем его заполнить. Идеальный robots txt — это тот, в котором меньше строк, но больше смысла. «Краткость — сестра таланта». Это выражение здесь как нельзя кстати.

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

    Для того, чтобы проверить robots.txt на корректность синтаксиса и структуры файла, можно воспользоваться одной из онлайн-служб. К примеру, Яндекс и Google предлагают собственные сервисы для вебмастеров, которые включают анализ robots.txt:

    Проверка файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml

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

    Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

    Robots.txt vs Яндекс и Google

    Есть субъективное мнение, что указание отдельного блока директив «User-agent: Yandex» в robots.txt Яндекс воспринимает более позитивно, чем общий блок директив с «User-agent: *». Аналогичная ситуация robots.txt и Google. Указание отдельных директив для Яндекс и Google позволяет управлять индексацией сайта через robots.txt. Возможно, им льстит персонально обращение, тем более, что для большинства сайтов содержимое блоков robots.txt Яндекса, Гугла и для других поисковиков будет одинаково. За редким исключением, все блоки «User-agent» будут иметь стандартный для robots.txt набор директив. Так же, используя разные «User-agent» можно установить запрет индексации в robots.txt для Яндекса , но, например не для Google.

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

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

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

    Пример как в robots.txt запретить индексацию сайта:

    User-agent: * Disallow: /

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

    В параметре директивы Disallow допускается использование специальных символов * и $:

    * — любое количество любых символов, например, параметру /page* удовлетворяет /page, /page1, /page-be-cool, /page/kak-skazat и т.д. Однако нет необходимости указывать * в конце каждого параметра, так как например, следующие директивы интерпретируются одинаково:

    User-agent: Yandex Disallow: /page User-agent: Yandex Disallow: /page*

    $ — указывает на точное соответствие исключения значению параметра:

    User-agent: Googlebot Disallow: /page$

    В данном случае, директива Disallow будет запрещать /page, но не будет запрещать индексацию страницы /page1, /page-be-cool или /page/kak-skazat.

    Если закрыть индексацию сайта robots.txt , в поисковые системы могут отреагировать на так ход ошибкой «Заблокировано в файле robots.txt» или «url restricted by robots.txt» (url запрещенный файлом robots.txt). Если вам нужно запретить индексацию страницы , можно воспользоваться не только robots txt, но и аналогичными html-тегами:

    • - не индексировать содержимое страницы;
    • - не переходить по ссылкам на странице;
    • - запрещено индексировать содержимое и переходить по ссылкам на странице;
    • — аналогично content=»none».

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

    Allow — разрешающая директива и противоположность директиве Disallow. Эта директива имеет синтаксис, сходный с Disallow.

    Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:

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

    Запрещается индексировать весь сайт , кроме страниц, начинающихся с /page.

    Disallow и Allow с пустым значением параметра

    Пустая директива Disallow:

    User-agent: * Disallow:

    Не запрещать ничего или разрешить индексацию всего сайта и равнозначна:

    User-agent: * Allow: /

    Пустая директива Allow:

    User-agent: * Allow:

    Разрешить ничего или полный запрет индексации сайта, равнозначно:

    User-agent: * Disallow: /

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

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

    Mysite.ru mysite.com

    Или для определения приоритета между:

    Mysite.ru www.mysite.ru

    Роботу Яндекса можно указать, какое зеркало является главным . Директива Host указывается в блоке директивы «User-agent: Yandex» и в качестве параметра, указывается предпочтительный адрес сайта без «http://».

    Пример robots.txt с указанием главного зеркала:

    User-agent: Yandex Disallow: /page Host: mysite.ru

    В качестве главного зеркала указывается доменное имя mysite.ru без www. Таки образом, в результатах поиска буде указан именно такой вид адреса.

    User-agent: Yandex Disallow: /page Host: www.mysite.ru

    В качестве основного зеркала указывается доменное имя www.mysite.ru.

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

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

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

    При помощи директивы Sitemap, в robots.txt можно указать расположение на сайте .

    Пример robots.txt с указанием адреса карты сайта:

    User-agent: * Disallow: /page Sitemap: http://www.mysite.ru/sitemap.xml

    Указание адреса карты сайта через директиву Sitemap в robots.txt позволяет поисковому роботу узнать о наличии карты сайта и начать ее индексацию.

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

    Директива Clean-param позволяет исключить из индексации страницы с динамическими параметрами. Подобные страницы могут отдавать одинаковое содержимое, имея различные URL страницы. Проще говоря, будто страница доступна по разным адресам. Наша задача убрать все лишние динамические адреса, которых может быть миллион. Для этого исключаем все динамические параметры, используя в robots.txt директиву Clean-param .

    Синтаксис директивы Clean-param:

    Clean-param: parm1[&parm2&parm3&parm4&..&parmn] [Путь]

    Рассмотрим на примере страницы со следующим URL:

    Www.mysite.ru/page.html?&parm1=1&parm2=2&parm3=3

    Пример robots.txt Clean-param:

    Clean-param: parm1&parm2&parm3 /page.html # только для page.html

    Clean-param: parm1&parm2&parm3 / # для всех

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

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

    Пример robots.txt Crawl-delay:

    User-agent: Yandex Disallow: /page Crawl-delay: 3

    В данном случае мы «просим» роботов яндекса скачивать страницы нашего сайта не чаще, чем один раз в три секунды. Некоторые поисковые системы поддерживают формат дробных чисел в качестве параметра директивы Crawl-delay robots.txt .

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

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

    Теперь этот файл нужно загрузить в . Если ресурс сделан на движке вордпрес, то корневая папка находится там, где папки wp-content, wp-includes и т. д.

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

    Как закрыть сайт от индексации только для Яндекса?
    Пропишите в файле robots.txt вот такую строчку:

    User-agent: Yandex
    Disallow: /

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

    Как закрыть сайт от индексации только для Google?
    Откройте файл robots.txt и пропишите там вот такую строчку:

    User-agent: Googlebot
    Disallow: /

    Для того чтобы проверить, что Гугл не индексирует сайт, создайте , добавьте свой ресурс в Google Webmaster и зайдите в него. Здесь также нужно ввести несколько страниц и нажать на кнопку «проверить».


    Я заметил, что поисковая система Google индексирует даже те документы, которые запрещены в файле robots.txt и заносит их в дополнительный индекс, так называемые «сопли». Почему, не знаю, но вы должны понимать, что запретить сайт или отдельную страницу с помощью файла robots.txt на 100 % нельзя. Этот файл, как я понял, только рекомендация для Гугла, а он уже сам решает, что ему индексировать, а что нет.

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

    User-agent: *
    Disallow: /

    Теперь вы также можете перейти в Яндекс или Гугл Вебмастер и проверить запрет индексации.

    Свой файл robots.txt вы можете увидеть по такому адресу:

    Вашдомен.ru/robots.txt

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

    Кстати, мой robots.txt находиться . Если ваш ресурс сделан на движке wordpress, то можете просто скопировать его. Он правильно настроен для того, чтобы поисковые боты индексировали только нужные документы и что бы на сайте не было дублей.

    2. Закрываем сайт от индексации с помощью панели инструментов.
    Этот способ подойдет только для тех, чей ресурс сделан на вордпрес. Зайдите в «Панель управление» — «Настройки» — «Чтение». Здесь нужно поставить галочку напротив надписи «Рекомендовать поисковым машинам не индексировать сайт».


    Обратите внимание, что ниже находиться очень интересная надпись: «Поисковые машины сами решают, следовать ли Вашей просьбе». Это как раз то, о чем я писал выше. Яндекс скорее всего не будет индексировать страницы, которые запрещены к индексации, а вот с Гуглом могут возникнуть проблемы.

    3. Закрываем сайт от индексации вручную.
    Когда вы закрываете целый ресурс или страницу от индексации, то в исходном коде автоматически появляется вот такая строчка:

    meta name="robots" content="noindex,follow"

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

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

    После обновления откройте исходный код страницы (CTRL + U) и посмотрите, появилась ли эта строчка там. Если есть, значит все хорошо. На всякий случай можете еще проверить с помощью инструментов для вебмастеров от Яндекса и Гугла.

    На этом все на сегодня. Теперь вы знаете, как закрыть сайт от индексации. Надеюсь, эта статья была полезна для вас. Всем пока.