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

26.02.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 для wordpress один из главных моментов настройки индексации. Ранее мы говорили об ускорении и улучшении процесса индексации статей. Причем рассматривали этот вопрос так, как будто поисковый робот ничего не знает и не умеет, а мы ему должны подсказать. Для этого мы использовали карту сайта файл .

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

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

Сделав полную копию всего, что ему удалось найти, он покидает ваш сайт, до следующего раза. Как вы понимаете, после такого обшаривания в базу индекса поисковика попадает всё, что надо и всё, что не надо. То что надо вы знаете - это ваши статьи, страницы, картинки, ролики и т.д. А вот чего индексировать не надо?

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

WordPress создаёт очень много копий ваших статей с разными адресами, но одним и тем же содержанием. Выглядит это так:

//название_сайта/название_статьи,

//название_сайта/название_рубрики/название_статьи,

//название_сайта/название_рубрики/название_подрубрики/название_статьи,

//название_сайта/название_тега/название_статьи,

//название_сайта/дата_создания_архива/название_статьи

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

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

WordPress оформляет картинки как отдельные статьи без текста. В таком виде без текста и описания они как статьи выглядят абсолютно некорректно. Следовательно нужно принять меры чтобы эти адреса не попали в индекс поисковиков.

Почему же не надо всё это индексировать?

Пять причин для запрета индексации!

1. Полное индексирование создаёт лишнюю нагрузку на ваш сервер.

2. Отнимает драгоценное время самого робота.

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

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

5. Индексируя все копии ваших статей в архивах и комментариях, у поисковика складывается плохое мнение о вашем сайте. Много дублей. Поисковая машина будет плохо ваш сайт показывать в результатах поиска. А картинки, оформленные в виде отдельной статьи с названием и без текста, приводят робота просто в ужас. Если изображений очень много, то сайт может загреметь под фильтр АГС Яндекса. Мой сайт там был. Проверено!

Теперь после всего сказанного возникает резонный вопрос: "А можно ли как то запретить индексировать то что не надо?". Оказывается можно. Хотя бы не в приказном порядке, а в рекомендательном. Ситуация не полного запрета индексации некоторых объектов возникает из-за файла sitemap.xml, который обрабатывается после robots.txt. Получается так: robots.txt запрещает, а sitemap.xml разрешает. И всё же решить эту задачу мы можем. Как это сделать правильно сейчас и рассмотрим.

Файл robots.txt для wordpress по умолчанию динамический и реально в wordpress не существует. А генерируется только в тот момент, когда его кто-то запрашивает, будь это робот или просто посетитель. То есть если через FTP соединение вы зайдете на сайт, то в корневой папке файла robots.txt для wordpressвы там просто не найдете. А если в браузере укажите его конкретный адрес http://название_вашего_сайта/robots.txt, то на экране получите его содержимое, как будто файл существует. Содержимое этого сгенерированного файла robots.txt для wordpress будет такое:

В правилах составления файла robots.txt по умолчанию разрешено индексировать всё. Директива User-agent: * указывает на то, что все последующие команды относятся ко всем поисковым агентам (*). Но далее ничего не ограничивается. И как вы понимаете этого не достаточно. Мы с вами уже обсудили папок и записей, имеющих ограниченный доступ, достаточно много.

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

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

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

Только надо учитывать особенности составления файла:

В начале строк цифр, как здесь в статье, быть не должно. Цифры здесь указаны для удобства рассмотрения содержимого файла. В конце каждой строки не должно быть ни каких лишних знаков включая пробелы или табуляторы. Между блоками должна быть пустая строка без каких либо знаков включая пробелы. Всего один пробел может принести вам огромный вред - БУДЬТЕ ВНИМАТЕЛЬНЫ .

Как проверить robots.txt для wordpress

Проверить robots.txt на наличие лишних пробелов можно следующим образом. В текстовом редакторе выделить весь текст, нажав кнопки Ctrl+A. Если пробелов в конце строк и в пустых строках нет, вы это заметите. А если есть выделенная пустота, то вам надо убрать пробелы и всё будет ОК.

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

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

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

  1. User-agent: *
  2. Disallow: /wp-login.php
  3. Disallow: /wp-admin
  4. Disallow: /wp-includes
  5. Disallow: /wp-content/plugins
  6. Disallow: /wp-content/themes
  7. Disallow: */*comments
  8. Disallow: */*category
  9. Disallow: */*tag
  10. Disallow: */trackback
  11. Disallow: */*feed
  12. Disallow: /*?*
  13. Disallow: /?s=
  14. Allow: /wp-content/uploads/
  15. Allow: /*?replytocom
  16. User-agent: Yandex
  17. Disallow: /wp-login.php
  18. Disallow: /wp-admin
  19. Disallow: /wp-includes
  20. Disallow: /wp-content/plugins
  21. Disallow: /wp-content/themes
  22. Disallow: */comments
  23. Disallow: */*category
  24. Disallow: */*tag
  25. Disallow: */trackback
  26. Disallow: */*feed
  27. Disallow: /*?*
  28. Disallow: /*?s=
  29. Allow: /wp-admin/admin-ajax.php
  30. Allow: /wp-content/uploads/
  31. Allow: /*?replytocom
  32. Crawl-delay: 2,0
  33. Host: site.ru
  34. Sitemap: http://site.ru/sitemap.xml

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

Теперь давайте рассмотрим поподробнее:

1 – 16 строки блок настроек для всех роботов

User-agent: - Это обязательная директива, определяющая поискового агента. Звездочка говорит, что директива для роботов всех поисковых систем. Если блок предназначен для конкретного робота, то необходимо указать его имя, например Yandex, как в 18 строке.

По умолчанию для индексирования разрешено всё. Это равнозначно директиве Allow: /.

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

В нашем примере с помощью названий папок и масок названий файлов, сделан запрет на все служебные папки вордпресса, такие как admin, themes, plugins, comments, category, tag... Если указать директиву в таком виде Disallow: /, то будет дан запрет индексирования всего сайта.

Allow: - как я уже говорил директива разрешающая индексирование папок или файлов. Её нужно использовать когда в глубине запрещённых папок есть файлы которые всё же надо проиндексировать.

В моём примере строка 3 Disallow: /wp-admin - запрещает индексирование папки /wp-admin, а 14 строка Allow: /wp-admin/admin-ajax.php - разрешает индексирование файла /admin-ajax.php расположенного в запрещенной к индексированию папке /wp-admin/.

17 - Пустая строка (просто нажатие кнопки Enter без пробелов)

18 - 33 блок настроек конкретно для агента Яндекса (User-agent: Yandex). Как вы заметили этот блок полностью повторяет все команды предыдущего блока. И возникает вопрос: "А на фига такая заморочка?". Так вот это всё сделано всего лишь из-за нескольких директив которые рассмотрим дальше.

34 - Crawl-delay - Необязательная директива только для Яндекса. Используется когда сервер сильно нагружен и не успевает отрабатывать запросы робота. Она позволяет задать поисковому роботу минимальную задержку (в секундах и десятых долях секунды) между окончанием загрузки одной страницы и началом загрузки следующей. Максимальное допустимое значение 2,0 секунды. Добавляется непосредственно после директив Disallow и Allow.

35 - Пустая строка

36 - Host: site.ru - доменное имя вашего сайта (ОБЯЗАТЕЛЬНАЯ директива для блока Яндекса). Если наш сайт использует протокол HTTPS, то адрес надо указывать полностью как показано ниже:

Host: https://site.ru

37 - Пустая строка (просто нажатие кнопки Enter без пробелов) обязательно должна присутствовать.

38 - Sitemap: http://site.ru/sitemap.xml - адрес расположения файла (файлов) карты сайта sitemap.xml (ОБЯЗАТЕЛЬНАЯ директива), располагается в конце файла после пустой строки и относится ко всем блокам.

Маски к директивам файла robots.txt для wordpress

Теперь немного как создавать маски:

Disallow: /wp-register.php - Запрещает индексировать файл wp-register.php, расположенный в корневой папке.

Disallow: /wp-admin - запрещает индексировать содержимое папки wp-admin, расположенной в корневой папке.

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

Disallow: /wp-content/plugins - запрещает индексировать содержимое папки plugins, расположенной в подпапке (папке второго уровня) wp-content.

Disallow: /feed - запрещает индексировать канал feed т.е. закрывает RSS канал сайта.

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

Disallow: */*comments - запрещает индексировать содержимое папок и файлов в названии которых присутствует comments и расположенных в любых папках. (в данном случае запрещает индексировать комментарии)

Disallow: *?s= - запрещает индексировать страницы поиска

Приведенные выше строки вполне можно использовать в качестве рабочего файла robots.txt для wordpress. Только в 36, 38 строках необходимо вписать адрес вашего сайта и ОБЯЗАТЕЛЬНО УБРАТЬ номера строк. И у вас получится рабочий файл robots.txt для wordpress, адаптированный под любую поисковую систему. Единственная особенность - размер рабочего файла robots.txt для сайта wordpress не должен превышать 32 кБ дискового пространства.

Если вдруг где-либо в интернете вы встретите предложение применить директивы расширенного формата Sitemap, предназначенного для индексирования картинок, видео и RSS/Atom-фидов, то не соглашайтесь. Яндекс не поддерживает обработку расширенных форматов Sitemap для картинок, видео и RSS/Atom-фидов. Ваши файлы Sitemap окажутся некорректными для яндекса и могут возникнуть проблемы с индексацией ваших страниц. А так как 60-80% трафика у нас как правило идет от яндекса, то потери количества посетителей могут быть очень существенными. Будьте внимательны в этом вопросе.

Если вас абсолютно не интересует Яндекс, то строки 18-35 вам не понадобятся вообще. На этом пожалуй всё. Надеюсь что статья оказалась полезной. Если есть вопросы пишите в комментариях.

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

Разрешения и запрещения на индексацию берутся всеми поисковыми системами из файла 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. В нем записаны специальные директивы, управляющие поведением робота. Скрытую опасность для любого сайта может нести как отсутствие этого файла, так и его некорректная настройка. Предлагаю детальнее изучить вопрос настройки robots.txt вообще и для CMS WordPress в частности, а также обратить внимание на частые ошибки.

Файл robots.txt и стандарт исключений для роботов

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

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

[директива]: [значение]

Весь список директив разбивают на секции (записи), разделяя их одной или несколькими пустыми строками. Новую секцию начинают с одной или нескольких инструкций User-agent. Запись должна содержать как минимум одну директиву User-agent и одну Disallow.

Текст после символа # (решетка) считается комментарием и игнорируется поисковыми роботами.

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

User-agent — первая директива в секции, сообщает имена роботов, для которых предназначены следующие за ней правила. Звездочка в значении обозначает любое имя, разрешается только одна секция с инструкциями для всех роботов. Пример:

# инструкции для всех роботов User-agent: * ... # инструкции для роботов Яндекса User-agent: Yandex ... # инструкции для роботов Google User-agent: Googlebot ...

Директива Disallow

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

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

Примеры директивы Disallow:

# пустое значение разрешает индексировать все User-agent: * Disallow: # запрещает сканировать весь сайт User-agent: * Disallow: / # запрещает к сканированию все файлы и/или каталоги, начинающиеся из символов "wp-" User-agent: * Disallow: /wp- # запрещает сканировать файлы page-1.php, page-vasya.php, page-news-345.php # вместо * может встречаться любая последовательность символов User-agent: * Disallow: /page-*.php

Директива Allow (неофициальная)

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

# запрещает сканировать ресурсы начинающиеся с /catalog # но разрешает сканировать страницу /catalog/page.html User-agent: Yandex Disallow: /catalog Allow: /catalog/page.html

Sitemap (неофициальная)

Sitemap — директива, указывающая адрес карты сайта в формате XML. Эта директива так же не описана в стандарте исключений и поддерживается не всеми роботами (работает для Яндекс, Google, Ask, Bing и Yahoo). Можно указывать одну или несколько карт — все будут учтены. Может использоваться без User-agent после пустой строки. Пример:

# одна или несколько карт в формате XML, указывается полный URL Sitemap: http://sitename.com/sitemap.xml Sitemap: http://sitename.com/sitemap-1.xml

Директива Host (только Яндекс)

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

# указываем главное зеркало в секции для Яндекса User-agent: Yandex Disallow: Host: sitename.com # главное зеркало для сайта с SSL сертификатом User-agent: Yandex Disallow: Host: https://sitename.com # или отдельно без User-agent после пустой строки Host: sitename.com

Другие директивы

Роботы Яндекса также понимают директивы Crawl-delay и Clean-param . Детальнее об их использовании читайте в справочной документации.

Роботы, директивы robots.txt и индекс поисковых систем

Ранее поисковые роботы следовали директивам robots.txt и не добавляли в индекс «запрещенных» там ресурсов.

Сегодня все обстоит иначе. Если Яндекс послушно исключит из индекса адреса, запрещенные в файле роботс, то Google поступит совершенно иначе. Он обязательно добавит их индекс, но в результатах поиска будет стоять надпись «Описание веб-страницы недоступно из-за ограничений в файле robots.txt» .

Почему Google добавляет в индекс страницы, запрещенные в robots.txt?

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

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

Это означает, что робот директивы учитывает, но поступает все-же по-своему. И он может добавить в индекс страницу, запрещенную в robots.txt, если встретит на нее ссылку.

Добавление адреса в robots.txt не гарантирует исключения его из индекса поисковой системы Google.

Индекс Google + некорректный robots.txt = ДУБЛИ

Практически каждое руководство в сети говорит о том, что закрытие страниц в robots.txt запрещает их индексацию.

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

Google предлагает два действительно рабочих варианта для исключения из индекса ресурсов веб-сайта:

  1. закрытие паролем (применяется для файлов вроде.doc, .pdf, .xls и других)
  2. добавление метатега robots с атрибутом noindex в (применяется для веб-страниц):

Главное, что нужно учесть:

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

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

Примеры robots.txt для WordPress

Если внимательно ознакомиться с предыдущим разделом, то становится понятно, что сегодня не стоит практиковать чрезмерный запрет адресов в robots.txt , по крайне мере для Google. Управлять индексацией страниц лучше через метатег robots.

Вот самый банальный и при этом совершенно правильный robots.txt для WordPress:

User-agent: * Disallow: Host: sitename.com

Удивлены? Еще бы! Все гениальное просто 🙂 На западных ресурсах, где нету Яндекса, рекомендации по составлению robots.txt для WordPress сводятся к двум первым строчкам, как это показали авторы WordPress SEO by Yoast .

Правильно настроенный SEO-плагин позаботится о канонических ссылках и метатеге robots со значением noindex, а страницы админки под паролем и не нуждаются в запрете индексации (исключением могут быть только страницы входа и регистрации на сайта — убедитесь, что на них есть meta тег robots со значением noindex). Карту сайта правильнее добавить вручную в вебмастере поисковой системы и заодно проследить, чтобы она была корректно прочитана. Осталось единственное и важное для рунета — указать главное зеркало для Яндекса.

Еще один вариант, подойдет для менее смелых:

User-agent: * Disallow: /wp-admin Host: sitename.com Sitemap: http://sitename.com/sitemam.xml

В первой секции запрещается индексация для всех роботов каталога wp-admin и его содержимого. В последних двух строках указанные зеркало сайта для робота Яндекса и карта сайта.

Прежде чем изменять свой robots.txt…

Если приняли решение о смене директив в robots.txt, то сначала позаботьтесь о трех вещах:

  1. Убедитесь, что в корне вашего сайта нету дополнительных файлов или каталогов, содержимое которых стоит скрыть от сканирования (это могут быть личные файлы или медиаресурсы);
  2. Включите канонические ссылки в своем SEO-плагине (это исключит из индекса URL c параметрами запроса вроде http://sitename.com/index.php?s=word )
  3. Настройте вывод метатега robots со значением noindex на страницах, которые хотите скрыть от индексации (для WordPress это архивы по дате, метке, автору и страницы пагинации). Сделать это можно для части страниц в настройках SEO-плагинов (в All In One SEO неполные настройки). Или специальным кодом вывести самостоятельно: /* ========================================================================== * Добавляем свой * ========================================================================== */ function my_meta_noindex () { if (//is_archive() OR // любые страницы архивов - за месяц, за год, по рубрике, по авторам //is_category() OR // архивы рубрик is_author() OR // архивы статей по авторам is_time() OR // архивы статей по времени is_date() OR // архивы статей по любым датам is_day() OR // архивы статей по дням is_month() OR // архивы статей по месяцам is_year() OR // архивы статей по годам is_tag() OR // архивы статей по тегам is_tax() OR // архивы статей для пользовательской таксономии is_post_type_archive() OR // архивы для пользовательского типа записи //is_front_page() OR // статическая главная страница //is_home() OR // главная страница блога с последними записями //is_singular() OR // любые типы записей - одиночные посты, страницы, вложения и т.д. //is_single() OR // любой одиночный пост любого типа постов (кроме вложений и Страниц) //is_page() OR // любая одиночная Страница ("Страницы" в админке) is_attachment() OR // любая страница вложения is_paged() OR // все и любые страницы пагинации is_search() // страницы результатов поиска по сайту) { echo "".""."\n"; } } add_action("wp_head", "my_meta_noindex", 3); /* ========================================================================== */

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

В двух словах о том, что закрывать в robots.txt

С настройкой файла роботс и индексацией страниц нужно запомнить два важных момента, которые ставят все на свои места:

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

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

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

2. Понятие файла robots.txt и требования, предъявляемые к нему

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

Синтаксис файла позволяет задавать запретные области индексирования, как для всех, так и для определенных, роботов.

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

Основные требования:

  • все буквы в названии файла должны быть прописными, т. е. должны иметь нижний регистр:
  • robots.txt – правильно,
  • Robots.txt или ROBOTS.TXT – неправильно;
  • файл robots.txt должен создаваться в текстовом формате Unix. При копировании данного файла на сайт ftp-клиент должен быть настроен на текстовый режим обмена файлами;
  • файл robots.txt должен быть размещен в корневом каталоге сайта.

3. Содержимое файла robots.txt

Файл robots.txt включает в себя две записи: «User-agent» и «Disallow». Названия данных записей не чувствительны к регистру букв.

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

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

Предполагается следующий формат строк файла robots.txt:

имя_записи [необязательные

пробелы]: [необязательные

пробелы]значение [необязательные пробелы]

Чтобы файл robots.txt считался верным, необходимо, чтобы, как минимум, одна директива «Disallow» присутствовала после каждой записи «User-agent».

Полностью пустой файл robots.txt эквивалентен его отсутствию, что предполагает разрешение на индексирование всего сайта.

Запись «User-agent»

Запись «User-agent» должна содержать название поискового робота. В данной записи можно указать каждому конкретному роботу, какие страницы сайта индексировать, а какие нет.

Пример записи «User-agent», где обращение происходит ко всем поисковым системам без исключений и используется символ «*»:

Пример записи «User-agent», где обращение происходит только к роботу поисковой системы Rambler:

User-agent: StackRambler

Робот каждой поисковой системы имеет свое название. Существует два основных способа узнать его (название):

на сайтах многих поисковых систем присутствует специализированный§ раздел «помощь веб-мастеру», в котором часто указывается название поискового робота;

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

Запись «Disallow»

Запись «Disallow» должна содержать предписания, которые указывают поисковому роботу из записи «User-agent», какие файлы или (и) каталоги индексировать запрещено.

Рассмотрим различные примеры записи «Disallow».

Пример записи в robots.txt (разрешить все для индексации):

Disallow:

Пример (сайт полностью запрещен к . Для этого используется символ «/»):Disallow: /

Пример (для индексирования запрещен файл «page.htm», находящийся в корневом каталоге и файл «page2.htm», располагающийся в директории «dir»):

Disallow: /page.htm

Disallow: /dir/page2.htm

Пример (для индексирования запрещены директории «cgi-bin» и «forum» и, следовательно, все содержимое данной директории):

Disallow: /cgi-bin/

Disallow: /forum/

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

Пример (для индексирования запрещены директория «dir», а так же все файлы и директории, начинающиеся буквами «dir», т. е. файлы: «dir.htm», «direct.htm», директории: «dir», «directory1», «directory2» и т. д.):

Запись «Allow»

Опция «Allow» используется для обозначения исключений из неиндексируемых директорий и страниц, которые заданы записью «Disallow».

Например, есть запись следующего вида:

Disallow: /forum/

Но при этом нужно, чтобы в директории /forum/ индексировалась страница page1. Тогда в файле robots.txt потребуются следующие строки:

Disallow: /forum/

Allow: /forum/page1

Запись «Sitemap»

Эта запись указывает на расположение карты сайта в формате xml, которая используется поисковыми роботами. Эта запись указывает путь к данному файлу.

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

Запись «Host»

Запись «host» используется поисковой системой «Yandex». Она необходима для определения основного зеркала сайта, т. е. если сайт имеет зеркала (зеркало – это частичная или полная копия сайта. Наличие дубликатов ресурса бывает необходимо владельцам высокопосещаемых сайтов для повышения надежности и доступности их сервиса), то с помощью директивы «Host» можно выбрать то имя, под которым Вы хотите быть проиндексированы. В противном случае «Yandex» выберет главное зеркало самостоятельно, а остальные имена будут запрещены к индексации.

В целях совместимости с поисковыми роботами, которые при обработке файла robots.txt не воспринимают директиву Host, необходимо добавлять запись «Host» непосредственно после записей Disallow.

Пример: www.site.ru – основное зеркало:

Host: www.site.ru

Запись «Crawl-delay»

Эту запись воспринимает Яндекс. Она является командой для робота делать промежутки заданного времени (в секундах) между индексацией страниц. Иногда это бывает нужно для защиты сайта от перегрузок.

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

Комментарии

Любая строка в robots.txt, начинающаяся с символа «#», считается комментарием. Разрешено использовать комментарии в конце строк с директивами, но некоторые роботы могут неправильно распознать данную строку.

Пример (комментарий находится на одной строке вместе с директивой):

Disallow: /cgi-bin/ #комментарий

Желательно размещать комментарий на отдельной строке. Пробел в начале строки разрешается, но не рекомендуется.

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

Пример (комментарий находится на отдельной строке):
Disallow: /cgi-bin/#комментарий

Пример файла robots.txt, разрешающего всем роботам индексирование всего сайта:

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование сайта:

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование директории «abc», а так же всех директорий и файлов, начинающихся с символов «abc».

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование страницы «page.htm», находящейся в корневом каталоге сайта, поисковым роботом «googlebot»:

User-agent: googlebot

Disallow: /page.htm

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование:

– роботу «googlebot» – страницы «page1.htm», находящейся в директории «directory»;

– роботу «Yandex» – все директории и страницы, начинающиеся символами «dir» (/dir/, /direct/, dir.htm, direction.htm, и т. д.) и находящиеся в корневом каталоге сайта.

User-agent: googlebot

Disallow: /directory/page1.htm

User-agent: Yandex

5. Ошибки, связанные с файлом robots.txt

Одна из самых распространенных ошибок – перевернутый синтаксис.

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

Disallow: Yandex

Правильно:

User-agent: Yandex

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

Disallow: /dir/ /cgi-bin/ /forum/

Правильно:

Disallow: /cgi-bin/

Disallow: /forum/

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

Ошибка, связанная с неправильным использованием регистра в файле robots.txt. Например, если необходимо закрыть директорию «cgi-bin», то в записе «Disallow» нельзя писать название директории в верхнем регистре «cgi-bin».

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

Disallow: /CGI-BIN/

Правильно:

Disallow: /cgi-bin/

Ошибка, связанная с отсутствием открывающей наклонной черты при закрытии директории от индексирования.

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

Disallow: page.HTML

Правильно:

Disallow: /page.HTML

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

6. Заключение

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