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


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

У нас с вами имеются в распоряжении два набора инструментов, с помощью которых мы можем управлять этим процессом как бы с двух сторон. Во-первых, существует такой важный инструмент как карта сайта (Sitemap xml). Она говорит поисковикам о том, какие страницы сайта подлежат индексации и как давно они обновлялись.

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

Индексация сайта


Упомянутые выше инструменты очень важны для успешного развития вашего проекта, и это вовсе не голословное утверждение. В статье про Sitemap xml (см. ссылку выше) я приводил в пример результаты очень важного исследования по наиболее частым техническим ошибкам начинающих вебмастеров, там на втором и третьем месте (после не уникального контента) находятся как раз отсутствие этих файлов роботс и сайтмап, либо их неправильное составление и использование.

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

Надо очень четко понимать, что при использовании CMS (движка) не все содержимое сайта должно быть доступно роботам поисковых систем. Почему?

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

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


Поисковый бот будет искать этот файл в корневом каталоге вашего ресурса и если не найдет, то будет загонять в индекс все, до чего сможет дотянуться. Поэтому после написания требуемого роботса, его нужно сохранить в корневую папку, например, с помощью Ftp клиента Filezilla так, чтобы он был доступен к примеру по такому адресу:

https://ktonanovenkogo.ru/robots.txt

Кстати, если вы хотите узнать как выглядит этот файл у того или иного проекта в сети, то достаточно будет дописать к Урлу его главной страницы окончание вида /robots.txt. Это может быть полезно для понимания того, что в нем должно быть.

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

Как можно запретить индексацию отдельных частей сайта и контента?

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


  1. Роботс.тхт — самый высокоуровневый способ, ибо позволяет задать правила индексации для всего сайта целиком (как его отдельный страниц, так и целых каталогов). Он является полностью валидным методом, поддерживаемым всеми поисковиками и другими ботами живущими в сети. Но его директивы вовсе не являются обязательными для исполнения. Например, Гугл не шибко смотрит на запреты в robots.tx — для него авторитетнее одноименный мета-тег рассмотренный ниже.
  2. Мета-тег robots — имеет влияние только на страницу, где он прописан. В нем можно запретить индексацию и переход робота по находящимся в этом документе ссылкам (подробнее смотрите ниже). Он тоже является полностью валидным и поисковики будут стараться учитывать указанные в нем значения. Для Гугла, как я уже упоминал, этот метод имеет больший вес, чем файлик роботса в корне сайта.
  3. Тег Noindex и атрибут rel=»nofollow» — самый низкоуровневый способ влияния на индексацию. Они позволяют закрыть от индексации отдельные фрагменты текста (noindex) и не учитывать вес передаваемый по ссылке. Они не валидны (их нет в стандартах). Как именно их учитывают поисковики и учитывают ли вообще — большой вопрос и предмет долгих споров (кто знает наверняка — тот молчит и пользуется).

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

Вообще, роботов (ботов, пауков, краулеров) существует множество. Какие-то из них индексируют контент (как например, боты поисковых систем или воришек). Есть боты проверяющие ссылки, обновления, зеркалирование, проверяющие микроразметку и т.д. Смотрите сколько роботов есть только у Яндекса.

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

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

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


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

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

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

Теперь поговорим немного о синтаксисе этого файла. Директивы в 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).


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

Как быть в этом случае? Если нужно написать правило запрета индексации, которое должны выполнить все типы роботов Гугла, то используйте название 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$

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

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

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

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

Однако, в начале 2018 год это было отменено и и теперь функции Host выполняет 301-редирект.

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

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

Сейчас переезд сайта после отказа от директивы Host очень сильно упростился, ибо теперь не нужно ждать пока произойдет склейка зеркал по директиве Host для Яндекса, а можно сразу после настройки Https на сайте делать постраничный редирект с Http на Https.

Напомню в качестве исторического экскурса, что по стандарту написания роботс.тхт за любой директивой User-agent должна сразу следовать хотя бы одна директива Disallow (пусть даже и пустая, ничего не запрещающая). Так же, наверное, имеется смысл прописывать Host для отдельного блока «User-agent: Yandex», а не для общего «User-agent: *», чтобы не сбивать с толку роботов других поисковиков, которые эту директиву не поддерживают:

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

либо

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

либо

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

либо

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

в зависимости от того, что для вас оптимальнее (с www или без), а так же в зависимости от протокола.

Указываем или скрываем путь до карты сайта sitemap.xml в файле robots

Директива Sitemap указывает на местоположение файла карты сайта (обычно он называется Sitemap.xml, но не всегда). В качестве параметра указывается путь к этому файлу, включая http:// (т.е. его Урл).Благодаря этому поисковый робот сможете без труда его найти. Например:

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

Раньше файл карты сайта хранили в корне сайта, но сейчас многие его прячут внутри других директорий, чтобы ворам контента не давать удобный инструмент в руки. В этом случае путь до карты сайта лучше в роботс.тхт не указывать. Дело в том, что это можно с тем же успехом сделать через панели поисковых систем (Я.Вебмастер, Google.Вебмастер, панель Майл.ру), тем самым «не паля» его местонахождение.

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

Проверка robots.txt в Яндекс и Гугл вебмастере

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

  1. Зайти в инструменты проверки Яндекса и Гугла.
  2. Убедиться, что в панель вебмастера загружена версия файла с внесенными вами изменениями. В Яндекс вебмастере загрузить измененный файл можно с помощью показанной на скриншоте иконки:

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

    В Гугл Вебмастере нужно нажать кнопку «Отправить» (справа под списком директив роботса), а затем в открывшемся окне выбрать последний вариант нажатием опять же на кнопку «Отправить»:

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

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

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

    Если возникли нестыковки, то выяснить причины, внести изменения в robots.txt, загрузить обновленный файл в панель вебмастеров и повторить проверку. Все ОК?

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

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

Причины ошибок выявляемых при проверке файла роботс.тхт

  1. Файл должен находиться в корне сайта, а не в какой-то папке (это не .htaccess, и его действия распространяются на весь сайт, а не на каталог, в котором его поместили), ибо поисковый робот его там искать не будет.
  2. Название и расширение файла robots.txt должно быть набрано в нижнем регистре (маленькими) латинскими буквами.
  3. В названии файла должна быть буква S на конце (не robot.txt, как многие пишут)
  4. Часто в User-agent вместо звездочки (означает, что этот блок robots.txt адресован всем ботам) оставляют пустое поле. Это не правильно и * в этом случае обязательна
    User-agent: * Disallow: /
  5. В одной директиве Disallow или Allow можно прописывать только одно условие на запрет индексации директории или файла. Так нельзя:
    Disallow: /feed/ /tag/ /trackback/

    Для каждого условия нужно добавить свое Disallow:

    Disallow: /feed/ Disallow: /tag/ Disallow: /trackback/
  6. Довольно часто путают значения для директив и пишут:
    User-agent: / Disallow: Yandex

    вместо

    User-agent: Yandex Disallow: /
  7. Порядок следования Disallow (Allow) не важен — главное, чтобы была четкая логическая цепь
  8. Пустая директива Disallow означает то же, что «Allow: /»
  9. Нет смысла прописывать директиву sitemap под каждым User-agent, если будете указывать путь до карты сайта (читайте об этом ниже), то делайте это один раз, например, в самом конце.
  10. Директиву Host лучше писать под отдельным «User-agent: Yandex», чтобы не смущать ботов ее не поддерживающих

Мета-тег Robots — помогает закрыть дубли контента при индексации сайта

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

Для этого внутри тега «HEAD» нужной вебстраницы дописывается МЕТА-тег Robots с нужными параметрами, и так повторяется для всех документов, к которым нужно применить то или иное правило (запрет или разрешение). Выглядеть это может, например, так:

<html> <head> <meta name="robots" content="noindex,nofollow"> <meta name="description" content="Эта страница ...."> <title>...</title> </head> <body> ... 

В этом случае, боты всех поисковых систем должны будут забыть об индексации этой вебстраницы (об этом говорит присутствие noindex в данном мета-теге) и анализе размещенных на ней ссылок (об этом говорит присутствие nofollow — боту запрещается переходить по ссылкам, которые он найдет в этом документе).

Существуют только две пары параметров у метатега robots: [no]index и [no]follow:

  1. Index — указывают, может ли робот проводить индексацию данного документа
  2. Follow — может ли он следовать по ссылкам, найденным в этом документе

Значения по умолчанию (когда этот мета-тег для страницы вообще не прописан) – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обоих параметров или, соответственно, наоборот: all=index,follow и none=noindex,nofollow.

Более подробные объяснения можно найти, например, в хелпе Яндекса:

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

Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack. Если используете другие плагины или другие движки сайта, то гуглите на тему прописывания для нужных страниц meta name=»robots».

Как создать правильный роботс.тхт?

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

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

Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать полного или даже частичного дублирования контента (информационного содержимого). Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL).

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

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

<link rel="canonical" href="https://ktonanovenkogo.ru/" />

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

Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в 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. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином Google XML Sitemaps.

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

Мой вариант этого файла вы можете сами посмотреть. Он старый, давно не менялся, но я стараюсь следовать принципу «не чини то, что не ломалось», а вам уже решать: использовать его, сделать свой или еще у кого-то подсмотреть. У меня там еще запрет индексации страниц с пагинацией был прописан до недавнего времени (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 для «лишних» страниц, например, с помощью чудесного плагина — All in One SEO Pack. Он же поможет и Canonical настроить.

ktonanovenkogo.ru

как закрыть сайт от индексации

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

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

текстовый документ

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

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

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

User-agent: Yandex Disallow: / 

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

Закрываем сайт от индексации

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

User-agent: Googlebot Disallow: / 

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

Если страница разрешена к индексированию, то будет писать «Разрешено», в таком случае вы сделали что-то не так. Если документ запрещен к индексации, то будет писать «Заблокировано по строке», и Гугл укажет строку, с помощью которой страница запрещена к индексации. Вы также можете прочитать статью о том, как проверить индексацию сайта.

файл robots.txt

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

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

User-agent: * Disallow: / 

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

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

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

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

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

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

не индексировать сайта

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

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

<meta name="robots" content="noindex,follow" />

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

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

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

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

vachevskiy.ru

Все поисковые роботы при заходе на сайт в первую очередь ищут файл robots.txt. Это текстовый файл, находящийся в корневой директории сайта (там же где и главный файл index., для основного домена/сайта, это папка public_html), в нем записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации папки или страницы сайта, указать роботу на главное зеркало сайта, рекомендовать поисковому роботу соблюдать определенный временной интервал индексации сайта и многое другое

Если файла robotx.txt нет в каталоге вашего сайта, тогда вы можете его создать.
Чтобы запретить индексирование сайта через файл robots.txt, используются 2 директивы: User-agent и Disallow.

User-agent: УКАЗАТЬ_ПОИСКОВОГО_БОТА
Disallow: / # будет запрещено индексирование всего сайта
Disallow: /page/ # будет запрещено индексирование директории /page/

Примеры:

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

User-agent: MSNBot
Disallow: /

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

User-agent: Slurp
Disallow: /
3. Запретить индексацию вашего сайта ботом Yandex

User-agent: Yandex
Disallow: /

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

User-agent: Googlebot
Disallow: /

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

User-agent: *
Disallow: /

6. Усложняем задачу и например Яндексу запрещаем индексировать папки cgi-bin и images, а Апорту файлы myfile1.htm и myfile2.htm в директории subdir (название папки где расположены файлы myfile1.htm и myfile2.htm)

User-agent: Yandex
Disallow: /cgi-bin/
Disallow: /images/

User-agent: Aport
Disallow: /subdir/myfile1.htm
Disallow: /subdir/myfile2.htm

7. Запрет индексации папок cgi-bin и images для всех поисковиков
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/

Теперь как разрешить индексировать все страницы сайта всем поисковикам (примечание: эквивалентом данной инструкции будет пустой файл robots.txt):

User-agent: *
Disallow:

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

my.aiwebhost.com

Цель этого руководства – помочь веб-мастерам и администраторам в использовании 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, расположенный в корне сайта. Вместо этого можно использовать Мета-тег Robots.

Не забывайте, что 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

robotstxt.org.ru

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

Чтобы создать файл robotx.txt, нужен простой текстовый файл. Если вы не собираетесь создавать запреты к индексации, можно сделать пустой файл robots.txt. Важно, чтобы его название и расширение было написано строчными буквами. Как вы уже могли понять, robots.txt содержит инструкции для поисковика — что индексировать, а что нет. Файл состоит из одной или нескольких инструкций, каждая из которых пишется с новой строки. В свою очередь, каждая инструкция должна состоять из двух частей. Первая определяет, кому это относится, то есть какой поисковик должен следовать данной инструкции, вторая — что именно нельзя индексировать. Первая часть называется, User-agent. Если вы хотите обратиться ко всем поисковикам, то можете писать User-agent: *. Вторая часть Disallow, (запретить). Если вы хотите запретить индексацию всех страниц сайта, то нужно написать Disallow: /, если же разрешаете обрабатывать сайт полностью, то после Disallow должна следовать пустота Disallow: . Вы можете указать, какие папки (Disallow: /имя папки/) или же файлы (Disallow: имя файла. расширение) не следует индексировать.

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

Символ # используется для обозначения начала комментария (текст, игнорируемый роботом). Например:

User-agent: * #Запрет индексации папки cgi
Disallow: /cgi/

Пример 1. Разрешаем индексировать все страницы сайта всем поисковикам (примечание: эквивалентом данной инструкции будет пустой файл robots.txt):

User-agent: *
Disallow:

Пример 2. Запрещаем индексировать все страницы сайта всем поисковикам:

User-agent: *
Disallow: /

Пример 3. Разрешаем индексировать всем кроме Яндекса:

User-agent: Yandex
Disallow: /

Пример 4. Запрещаем индексировать всем поисковикам кроме Яндекса (примечание: обратите внимание на обязательную пустую строку между двумя инструкциями, без нее файл не будет воспринят правильно)

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

Пример 5. Яндексу запрещаем индексировать папки cgi и images, а Апорту файлы myfile1.htm и myfile2.htm в директории dir

User-agent: Yandex
Disallow: /cgi/
Disallow: /images/

User-agent: Aport
Disallow: /dir/myfile1.htm
Disallow: /dir/myfile2.htm

Пример 6. Весьма актуальная проблема.  Запрещаем индексировать динамические ссылки, пример (?sl=…) всем поисковикам:

User-agent: *
Disallow: /*?sl* #Запрет индексации динамических ссылок

Пример 7. Указание значения для Disallow без открывающего слеша приведет к тому, что робот пропустит не только папки с таким именем, но и файлы. В следующем примере, роботы не будут индексировать папку с именем myfile, а также все файлы, имеющие данное имя например myfile.php.

User-agent: *
Disallow: myfile

Пример 8. Итоговый пример файла robots.txt

User-agent: * #Запрет индексации папок cgi и images для всех поисковиков
Disallow: /cgi/
Disallow: /images/

User-agent: Google #Запрет индексации файлов myfile1.htm и myfile2.htm для Google
Disallow: /myfile1.htm
Disallow: /myfile2.htm

User-agent: * #Запрет индексации файлов spisok.php и vsakaya-fignya.php для всех поисковиков
Disallow: /spisok.php
Disallow: /vsakaya-fignya.php

User-agent: *
Disallow: /*?sl* #Запрет индексации динамических ссылок с переменной sl

При правильном использовании robots.txt у вас не должно возникнуть проблем с поисковиками, но могут возникнуть сложности со слишком любопытными посетителями. Дело в том, что они спокойно могут просмотреть содержимое файла, введя в адресную строку http://имя сайта/robots.txt. Увидев, какие файлы и папки вы скрываете, они решат обратить свой взор именно на эти части сайта, заинтересовавшись, что же вы там хотели спрятать. Поэтому если вы указываете какую-то папку в robots.txt, то непременно обязаны поместить в нее index.php или (.htm, .phtml, .shtml, .xml, .php, .asp, .pl — кому что больше по душе). Тогда при вводе в адресную строку http://имя_сайта/имя_заветной_папки пользователь получит не список имеющихся в ней файлов, что совсем неприемлемо для безопасности сайта, а ту информацию, которую вы напишите в индекс-файле. К тому же размещение файла index в каждой папке должно быть для вас обязательным пунктом, даже если у вас отсутствует robots.txt.

i-adept.ru

Оглавление

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

2. Контроль индексации в файле robots.txt

2.1 Файл robots.txt

2.2 Запрет индексации страницы с определёнными параметрами с помощью robots.txt

2.3 Запрет индексации поисковыми системами, но разрешение для сканеров рекламных сетей

2.4 Запрет индексации всех страниц со строкой запроса

2.5 Запрет индексации страниц с определённым параметром, передающимся методом GET

2.6 Запрет индексации страниц с любым из нескольких параметров

2.7 Как запретить поисковым системам индексировать страницы, в URL которых несколько определённых параметров

2.8 Как закрыть сайт от индексации

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

2.10 Запрет всем поисковым системам индексировать часть сайта

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

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

2.13 Запрет на индексацию всех файлов, кроме одного

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

4. Запрет индексации страницы с помощью мета тега robots

5. Запрет индексации с помощью заголовка X-Robots-Tag в HTTP

6. Блокировка доступа поисковым системам с помощью mod_rewrite


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

Передо мной возникла задача исключить из индексирования поисковыми системами страницы, содержащие определённую строку запроса (уникальные для пользователя отчёты, каждый из которых имеет свой адрес). Я решил эту задачу для себя, а также решил полностью разобраться с вопросами разрешения и запрещения индексирования сайта. Этому посвящён данный материал. В нём рассказывается не только о продвинутых случаях использования robots.txt, но также и других, менее известных способах контроля индексации сайта.

В Интернете много примеров, как исключить определённые папки из индексации поисковыми системами. Но может возникнуть ситуация, когда нужно исключить страницы, причём не все, а содержащие только указанные параметры.

Пример страницы с параметрами: сайт.ru/?act=report&id=7a98c5

Здесь act – это имя переменной, значение которой report, и id – это тоже переменная со значением 7a98c5. Т.е. строка запроса (параметры) идут после знака вопроса.

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

  • с помощью файла robots.txt
  • с помощью правил в файле .htaccess
  • с помощью метатега robots

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

Файл robots.txt

Файл robots.txt – это простой текстовый файл, который размещается в корневой директории (папке) сайта, и содержащий одну или более записей. Типичный пример содержимого файла:

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

В этом файле из индексации исключены три директории.

Помните, что строку с "Disallow" нужно писать отдельно для каждого URL префикса, который вы хотите исключить. То есть вы не можете написать "Disallow: /cgi-bin/ /tmp/" в одну строку. Также помните о специальном значении пустых строк – они разделяют блоки записей.

Регулярные выражения не поддерживаются ни в строке User-agent, ни в Disallow.

Файл robots.txt должен размещаться в корневой папке вашего сайта. Его синтаксис следующий:

  User-agent: *  Disallow: /папка или страница, запрещённая для индексации  Disallow: /другая папка

В качестве значения User-agent указана * (звёздочка) – это соответствует любому значению, т.е. правила предназначены для всех поисковых машин. Вместо звёздочки можно указать имя определённой поисковой машины, для которой предназначено правило.

Можно указать более чем одну директиву Disallow.

В файле robots.txt можно использовать подстановочный символы:

  • * обозначает 0 или более экземпляров любого действительного символа. Т.е. это любая строка, в том числе и пустая.
  • $ обозначает конец URL.

Другие символы, в том числе &, ?, = и т.д. понимаются буквально.

Запрет индексации страницы с определёнными параметрами с помощью robots.txt

Итак, я хочу заблокировать адреса вида (вместо ЗНАЧЕНИЕ может быть любая строка): сайт.ru/?act=report&id=ЗНАЧЕНИЕ

Для этого подойдёт правило:

  User-agent: *  Disallow: /*?*act=report&id=*

В нём / (слеш) означает корневую папку сайта, затем следует * (звёздочка), она означает «что угодно». Т.е. это может быть любой относительный адрес, например:

  • /ru
  • /page.php
  • /order/new/id

Затем следует ? (знак вопроса), который трактуется буквально, т.е. как знак вопроса. Следовательно далее идёт строка запроса.

Вторая * означает, что в строке запроса может быть что-угодно.

Затем идёт последовательность символов act=report&id=*, в ней act=report&id= трактуется буквально, как есть, а последняя звёздочка вновь означает любую строку.

Запрет индексации поисковыми системами, но разрешение для сканеров рекламных сетей

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

Чтобы это исправить, добавьте в самое начало файла robots.txt следующие строки:

  User-agent: Mediapartners-Google  Disallow:    User-agent: AdsBot-Google*  Disallow:    User-Agent: YandexDirect  Disallow:

Этими строками мы разрешаем ботам Mediapartners-Google, AdsBot-Google* и YandexDirect индексировать сайт.

Т.е. файл robots.txt для моего случая выглядит так:

  User-agent: Mediapartners-Google  Disallow:    User-agent: AdsBot-Google*  Disallow:    User-Agent: YandexDirect  Disallow:    User-agent: *  Disallow: /*?*act=report&id=*

Запрет индексации всех страниц со строкой запроса

Это можно сделать следующим образом:

  User-agent: *  Disallow: /*?*

Данный пример блокирует все страницы, содержащие в URL ? (знак вопроса).

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

Запрет индексации страниц с определённым параметром, передающимся методом GET

К примеру, нужно заблокировать URL, содержащие в строке запроса параметр order, для этого подойдёт следующее правило:

  User-agent: *  Disallow: /*?*order=

Запрет индексации страниц с любым из нескольких параметров

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

  User-agent: *  Disallow: /*?*dir=  Disallow: /*?*order=  Disallow: /*?*p=

Как запретить поисковым системам индексировать страницы, в URL которых несколько определённых параметров

К примеру, нужно исключить из индексации страницы, содержание в строке запроса параметр dir, параметр order и параметр p. К примеру, страница с таким URL должна быть исключена из индексации: mydomain.com/new-printers?dir=asc&order=price&p=3

Этого можно добиться используя директиву:

  User-agent: *  Disallow: /*?dir=*&order=*&p=*

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

Как закрыть сайт от индексации

Чтобы запретить всем роботам индексировать весь сайт:

  User-agent: *  Disallow: /

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

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

  User-agent: *  Disallow:

Либо просто создайте пустой файл /robots.txt, либо вообще не используйте его – по умолчанию, всё, что не запрещено для индексации, считается открытым. Поэтому пустой файл, либо его отсутствие – означают разрешение на полное индексирование.

Запрет всем поисковым системам индексировать часть сайта

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

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

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

Для закрытия доступа отдельным роботам и поисковым системам, используйте имя робота в строке User-agent. В данном примере закрыт доступ для BadBot:

  User-agent: BadBot  Disallow: /

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

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

Допустим, мы хотим разрешить индексировать сайт только Google, а другим поисковым системам закрыть доступ, тогда сделайте так:

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

Первые две строки дают разрешение роботу Google на индексацию сайта, а последние две строки запрещают это всем остальным роботам.

Запрет на индексацию всех файлов, кроме одного

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

Использование:

  Allow: [путь]

Важно: Allow должна следовать до Disallow.

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

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

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

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

Для этого перейдите во вкладку Инструменты, выберите Анализ robots.txt. Этот файл должен загрузиться автоматически, если там старая версия, то нажмите кнопку Проверить:

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

Затем в поле Разрешены ли URL? введите адреса, которые вы хотите проверить. Можно за один раз вводить много адресов, каждый из них должен размещаться на новой строчке. Когда всё готово, нажмите кнопку Проверить.

В столбце Результат если URL адрес закрыт для индексации поисковыми роботами, он будет помечен красным светом, если открыт – то зелёным.

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

В Search Console имеется аналогичный инструмент. Он находится во вкладке Сканирование. Называется Инструмент проверки файла robots.txt.

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

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

После этого перезагрузите страницу (клавиша F5):

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

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

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

Если вы хотите закрыть страницу от индексации, то в теге <head>…</head> пропишите:

  <meta name="robots" content="noindex,nofollow>

Слова noindex,nofollow означают, что страница закрыта от индексации и что поисковые машины не должны следовать по ссылкам, которые присутствуют на этой странице.

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

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

Запрет индексации с помощью заголовка X-Robots-Tag в HTTP

Вы можете добавить в файл .htaccess строку:

  Header set X-Robots-Tag "noindex, nofollow"

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

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

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

Например, запрет для индексации всех файлов с расширением .PDF:

  <Files ~ ".pdf$">    Header set X-Robots-Tag "noindex, nofollow"  </Files>

Запрет для индексации всех файлов изображений (.png, .jpeg, .jpg, .gif):

  <Files ~ ".(png|jpe?g|gif)$">    Header set X-Robots-Tag "noindex"  </Files>

Блокировка доступа поисковым системам с помощью mod_rewrite

На самом деле, всё, что было описано выше, НЕ ГАРАНТИРУЕТ, что поисковые системы и запрещённые роботы не будут заходить и индексировать ваш сайт. Есть роботы, которые «уважают» файл robots.txt, а есть те, которые его просто игнорируют.

С помощью mod_rewrite можно закрыть доступ для определённых ботов

  RewriteEngine On    RewriteCond %{HTTP_USER_AGENT} Google [NC,OR]  RewriteCond %{HTTP_USER_AGENT} Yandex [NC]  RewriteRule ^ - [F]

Приведённые директивы заблокируют доступ роботам Google и Yandex для всего сайта.

Если, допустим, нужно закрыть для индексирования только одну папку report/, то следующие директивы полностью закроют доступ к этой папке (будет выдаваться код ответа 403 Доступ Запрещён) для сканеров Google и Yandex.

  RewriteEngine On  RewriteCond %{HTTP_USER_AGENT} Google [NC,OR]  RewriteCond %{HTTP_USER_AGENT} Yandex [NC]  RewriteRule ^report/ - [F]

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

suay.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.