Закрытие страниц от индексации. Как запретить индексацию нужных страниц

01.08.2019 Мобильный интернет

User-agent: *\nAllow:

Disallow: *

Disallow: /

Яндекс.Вебмастере


Команда Поиска

Как запрещающий сигнал в robots.txt.

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

User-agent: *\nAllow:

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

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

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

","contentType":"text/html"},"proposedBody":{"source":"

Как запрещающий сигнал в robots.txt.

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

User-agent: *\nAllow:

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

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

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

Как запрещающий сигнал в robots.txt.

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

User-agent: *\nAllow:

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

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

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

","contentType":"text/html"},"authorId":"30364427","slug":"izmeneniya-v-obrabotke-robots-txt","canEdit":false,"canComment":false,"isBanned":false,"canPublish":false,"viewType":"minor","isDraft":false,"isOnModeration":false,"isSubscriber":false,"commentsCount":45,"modificationDate":"Fri Jun 10 2016 14:41:00 GMT+0000 (Coordinated Universal Time)","isAutoPreview":true,"showPreview":true,"tags":[{"displayName":"Яндекс.Вебмастер","slug":"yandeks-vebmaster","url":"/blog??tag=yandeks-vebmaster"},{"displayName":"Индексирование","slug":"indeksirovanie","url":"/blog??tag=indeksirovanie"},{"displayName":"robots.txt","slug":"robots-txt","url":"/blog??tag=robots-txt"}],"isModerator":false,"commentsEnabled":true,"url":"/blog/575aa00fef202d16005fe180","urlTemplate":"/blog/%slug%","fullBlogUrl":"https://webmaster.yandex.ru/blog","addCommentUrl":"/blog/createComment/webmaster/575aa00fef202d16005fe180","updateCommentUrl":"/blog/updateComment/webmaster/575aa00fef202d16005fe180","addCommentWithCaptcha":"/blog/createWithCaptcha/webmaster/575aa00fef202d16005fe180","changeCaptchaUrl":"/blog/api/captcha/new","putImageUrl":"/blog/image/put","urlBlog":"/blog","urlEditPost":"/blog/575aa00fef202d16005fe180/edit","urlSlug":"/blog/post/generateSlug","urlPublishPost":"/blog/575aa00fef202d16005fe180/publish","urlUnpublishPost":"/blog/575aa00fef202d16005fe180/unpublish","urlRemovePost":"/blog/575aa00fef202d16005fe180/removePost","urlDraft":"/blog/575aa00fef202d16005fe180/draft","urlDraftTemplate":"/blog/%slug%/draft","urlRemoveDraft":"/blog/575aa00fef202d16005fe180/removeDraft","urlTagSuggest":"/blog/api/suggest/webmaster","urlAfterDelete":"/blog","isAuthor":false,"subscribeUrl":"/blog/api/subscribe/575aa00fef202d16005fe180","unsubscribeUrl":"/blog/api/unsubscribe/575aa00fef202d16005fe180","urlEditPostPage":"/blog/575aa00fef202d16005fe180/edit","urlForTranslate":"/blog/post/translate","urlRelateIssue":"/blog/post/updateIssue","urlUpdateTranslate":"/blog/post/updateTranslate","urlLoadTranslate":"/blog/post/loadTranslate","urlTranslationStatus":"/blog/575aa00fef202d16005fe180/translationInfo","urlRelatedArticles":"/blog/api/relatedArticles/webmaster/575aa00fef202d16005fe180","author":{"id":"30364427","uid":{"value":"30364427","lite":false,"hosted":false},"aliases":{},"login":"webmaster","display_name":{"name":"webmaster","avatar":{"default":"0/0-0","empty":true}},"address":"[email protected]","defaultAvatar":"0/0-0","imageSrc":"https://avatars.mds.yandex.net/get-yapic/0/0-0/islands-middle","isYandexStaff":false},"originalModificationDate":"2016-06-10T11:41:55.364Z","socialImage":{"orig":{"fullPath":"https://avatars.mds.yandex.net/get-yablogs/51778/file_1461153249801/orig"}}}}}">

Изменения в обработке robots.txt

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

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

User-agent: * Allow:

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

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

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разрешения и запрещения на индексацию берутся всеми поисковыми системами из файла robots.txt , находящегося в корневом каталоге сервера. Запрет на индексацию ряда страниц может появиться, например, из соображений секретности или из желания не индексировать одинаковые документы в разных кодировках. Чем меньше ваш сервер, тем быстрее робот его обойдет. Поэтому запретите в файле robots.txt все документы, которые не имеет смысла индексировать (например, файлы статистики или списки файлов в директориях). Обратите особое внимание на CGI или ISAPI скрипты - наш робот индексирует их наравне с другими документами.

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

User-Agent: *
Disallow: /cgi-bin/

Детальное описание спецификации файла можно прочитать на странице: « ».

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

1. Строка с полем User-Agent является обязательной и должна предшествовать строкам с полем Disallow . Так, приведенный ниже файл robots.txt не запрещает ничего:

Disallow: /cgi-bin
Disallow: /forum

2. Пустые строки в файле robots.txt являются значимыми, они разделяют записи, относящиеся к разным роботам. Например, в следующем фрагменте файла robots.txt строка Disallow: /forum игнорируется, поскольку перед ней нет строки с полем User-Agent.

User-Agent: *
Disallow: /cgi-bin
Disallow: /forum

3. Строка с полем Disallow может запретить индексирование документов только с одним префиксом. Для запрета нескольких префиксов нужно написать несколько строк. Например, нижеприведенный файл запрещает индексирование документов, начинающихся с “/cgi-bin /forum ”, которых, скорее всего, не существует (а не документов с префиксами /cgi-bin и /forum ).

User-Agent: *
Disallow: /cgi-bin /forum

4. В строках с полем Disallow записываются не абсолютные, а относительные префиксы. То есть файл

User-Agent: *
Disallow: www.myhost.ru/cgi-bin

запрещает, например, индексирование документа http://www.myhost.ru/www.myhost.ru/cgi-bin/counter.cgi , но НЕ запрещает индексирование документа http://www.myhost.ru/cgi-bin/counter.cgi .

5. В строках с полем Disallow указываются именно префиксы, а не что-нибудь еще. Так, файл:

User-Agent: *
Disallow: *

запрещает индексирование документов, начинающихся с символа «* » (которых в природе не существует), и сильно отличается от файла:

User-Agent: *
Disallow: /

который запрещает индексирование всего сайта.

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

Тогда данный документ также не будет проиндексирован.

Вы также можете использовать тэг

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

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

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

Чтобы запретить индексирование определенных фрагментов текста в документе, пометьте их тегами

Внимание! Тег NOINDEX не должен нарушать вложенность других тегов. Если указать следующую ошибочную конструкцию:


…код1…


…код2…

…код3…

запрет на индексирование будет включать не только «код1» и «код2», но и «код3».

Как выбрать главный виртуальный хост из нескольких зеркал?

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

Для того, чтобы индексировалось выбранное вами зеркало, достаточно запретить индексацию всех остальных зеркал при помощи . Это можно сделать, используя нестандартное расширение robots.txt — директиву Host , в качестве ее параметра указав имя основного зеркала. Если www.glavnoye-zerkalo.ru — основное зеркало, то robots.txt должен выглядеть примерно так:

User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.glavnoye-zerkalo.ru

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

Аргументом директивы Host является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Если какой-либо сайт не указан в качестве аргумента для Host , для него подразумевается наличие директивы Disallow: / , т.е. полный запрет индексации (при наличии в группе хотя бы одной корректной директивы Host ). Таким образом, файлы robots.txt вида

User-Agent: *
Host: www.myhost.ru

User-Agent: *
Host: www.myhost.ru:80

эквивалентны и запрещают индексирование как www.otherhost.ru , так и www.myhost.ru:8080 .

Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки Host игнорируются .

# Примеры игнорируемых директив Host
Host: www.myhost- .ru
Host: www.- myhost.ru
Host: www.myhost.ru:0
Host: www.my_ host.ru
Host: . my-host.ru:8000
Host: my-host.ru.
Host: my.. host.ru
Host: www.myhost.ru/
Host: www.myhost.ru:8080/
Host: http:// www.myhost.ru
Host: www.mysi.te
Host: 213.180.194.129
Host: www.firsthost.ru, www.secondhost.ru
Host: www.firsthost.ru www.secondhost.ru

Если у вас сервер Apache, то можно вместо использования директивы Host задать robots.txt с использованием директив SSI:


User-Agent: *
Disallow: /

В этом файле роботу запрещен обход всех хостов, кроме www.главное_имя.ru

Как включать SSI, можно прочесть в документации по вашему серверу или обратиться к вашему системному администратору. Проверить результат можно, просто запросив страницы:

Http://www.главное_имя.ru/robots.txt
http://www.другое_имя.ru/robots.txt и т.д. Результаты должны быть разные.

Рекомендации для веб-сервера Русский Apache

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

Если кодировки разложены по портам (или серверам), то надо выдавать на разных портах (серверах) РАЗНЫЙ robots.txt. А именно, во всех файлах robots.txt для всех портов/серверов, кроме «основного», должно быть написано:

User-Agent: *
Disallow: /

Для этого можно использовать механизм SSI, .

Если кодировки в вашем Apache выделяются по именам «виртуальных» директорий, то надо написать один robots.txt, в котором должны быть примерно такие строчки (в зависимости от названий директорий):

User-Agent: *
Disallow: /dos
Disallow: /mac
Disallow: /koi

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

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 продвижении

    Хотите узнать, как запретить индексацию сайта в robots.txt и с помощью других инструментов? Тогда представленный материал – именно для вас.

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

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

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

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

    Есть много способов, с помощью которых можно закрыть сайт от индексации. Редактирование файла robots.txt – один из них. Мы рассмотрим этот способ и еще два наиболее популярных и простых.

    Как закрыть сайт от индексации для Яндекса, Google и всех поисковых систем в robots.txt

    Редактирование файла robots.txt – один из самых надежных и быстрых способов установить этот запрет для поисковых системам на какое-то время или же навсегда. Что для этого нужно сделать:

    1. Создание файла robots.txt. Для этого нужно создать обычный текстовый документ с расширением.txt, присвоить ему имя «robots».
    2. Созданный файл загрузить в корневую папку своего блога. Если сайт создан на движке WordPress, то эту папку можно найти там, где находятся папки wp-includes, wp-content и пр.
    3. Непосредственно установка запрета индексации для поисковиков.

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


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

    1. User-agent: Googlebot
    2. Disallow: /

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

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

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

    Чтобы закрыть материалы сайта от индексации Яндексом, в файле robots.txt нужно ввести следующее:

    1. User-agent: Yandex
    2. Disallow: /

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

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

    1. User-agent: *
    2. Disallow: /

    Проверка запрета индексации для Гугла и Яндекса выполняется по вышеописанной схеме в Google Webmaster и Яндекс Вебмастер соответственно.

    Чтобы увидеть свой файл robots.txt, нужно перейти по адресу Вашдомен.ru/robots.txt. Здесь будет отображаться все, что было прописано. Бывает так, что появляется ошибка 404. Это говорит о том, что было выполнено что-то не так при загрузке своего файла.


    Запрет индексации ресурса при помощи панели инструментов

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

    Порядок действий простой и быстрый:

    • Откройте «Панель управления», пройдите в «Настройки» – «Чтение»;
    • Выставьте галочку в окошке «Рекомендовать поисковым машинам не индексировать сайт».
    • Сохранить изменения.

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

    Закрытие сайта от индексации вручную

    В исходном коде при закрытии страницы или всего ресурса от индексации появляется строка

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

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

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

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