Запретить индексацию страницы поисковыми системами. Какие страницы закрывать от индексации и как

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

User-agent: *
Disallow: /

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

User-agent: *
Disallow:

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

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

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

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

User-agent: BadBot
Disallow: /

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

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

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

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

User-agent: *
Disallow: /docs/

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

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

robots.txt для 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 в корневом каталоге вашего сайта, например, http://site.ru/robots.txt, чтобы знать какие разделы сайта роботу индексировать запрещено. Но даже если вы не собираетесь ничего запрещать, то данный файл все равно рекомендуется создать.

Как видно по расширению robots.txt – это текстовый файл. Для создания или редактирования данного файла лучше использовать самые простые текстовые редакторы наподобие Блокнот (Notepad). robots.txt должен быть размещен в корневом каталоге сайта и имеет собственный формат, который мы рассмотрим ниже.

Формат файла robots.txt

Файл robots.txt должен состоять как минимум из двух обязательных записей. Первой идет директива User-agent указывающая, какой поисковый робот должен следовать идущим дальше инструкциям. Значением может быть имя робота (googlebot, Yandex, StackRambler) или символ * в случае если вы обращаетесь сразу ко всем роботам. Например:

User-agent: googlebot

Название робота вы можете найти на сайте соответствующего поисковика. Дальше должна идти одна или несколько директив Disallow. Эти директивы сообщают роботу, какие файлы и папки индексировать запрещено. Например, следующие строки запрещают роботам индексировать файл feedback.php и каталог cgi-bin:

Disallow: /feedback.php Disallow: /cgi-bin/

Также можно использовать только начальные символы файлов или папок. Строка Disallow: /forum запрещает индексирование всех файлов и папок в корне сайта, имя которых начинается на forum, например, файл http://site.ru/forum.php и папку http://site.ru/forum/ со всем ее содержимым. Если Disallow будет пустым, то это значит, что робот может индексировать все страницы. Если значением Disallow будет символ /, то это значит что весь сайт индексировать запрещено.

Для каждого поля User-agent должно присутствовать хотя бы одно поле Disallow. То-есть, если вы не собираетесь ничего запрещать для индексации, то файл robots.txt должен содержать следующие записи:

User-agent: * Disallow:

Дополнительные директивы

Кроме регулярных выражений Яндекс и Google разрешают использование директивы Allow, которая является противоположностью Disallow, то-есть указывает какие страницы можно индексировать. В следующем примере Яндексу запрещено индексировать все, кроме адресов страниц начинающихся с /articles:

User-agent: Yandex Allow: /articles Disallow: /

В данном примере директиву Allow нужно прописывать перед Disallow, иначе Яндекс поймет это как полный запрет индексации сайта. Пустая директива Allow также полностью запрещает индексирование сайта:

User-agent: Yandex Allow:

равнозначно

User-agent: Yandex Disallow: /

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

Регулярные выражения в robots.txt

Большинство поисковых систем учитывают только явно указанные имена файлов и папок, но есть и более продвинутые поисковики. Робот Google и робот Яндекса поддерживают использование простых регулярных выражений в robots.txt, что значительно уменьшает количество работы для вебмастеров. Например, следующие команды запрещают роботу Google индексировать все файлы с расширением.pdf:

User-agent: googlebot Disallow: *.pdf$

В приведенном примере символ * – это любая последовательность символов, а $ указывает на окончание ссылки.

User-agent: Yandex Allow: /articles/*.html$ Disallow: /

Приведенные выше директивы разрешают Яндексу индексировать только находящиеся в папке /articles/ файлы с расширением ".html". Все остальное запрещено для индексации.

Карта сайта

В файле robots.txt можно указывать расположение XML-карты сайта:

User-agent: googlebot Disallow: Sitemap: http://site.ru/sitemap.xml

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

User-agent: Yandex Disallow: Sitemap: http://mysite.ru/my_sitemaps1.xml Sitemap: http://mysite.ru/my_sitemaps2.xml

Зеркала сайта

Как вы знаете обычно один и тот же сайт может быть доступен по двум адресам: как с www, так и без него. Для поискового робота site.ru и www.site.ru это разные сайты, но с одинаковым содержимым. Они называются зеркалами.

Из-за того что на страницы сайта есть ссылки как с www так и без, то вес страниц может разделиться между www.site.ru и site.ru. Чтобы этого не происходило поисковику нужно указать главное зеркало сайта. В результате "склеивания" весь вес будет принадлежать одному главному зеркалу и сайт сможет занять более высокую позицию в поисковой выдаче.

Указать основное зеркало для Яндекса можно прямо в файле robots.txt с помощью директивы Host:

User-agent: Yandex Disallow: /feedback.php Disallow: /cgi-bin/ Host: www.site.ru

После склейки зеркалу www.site.ru будет принадлежать весь вес и он будет занимать более высокую позицию в поисковой выдаче. А site.ru поисковик вообще не будет индексировать.

Для остальных поисковиков выбором главного зеркала является серверный постоянный редирект (код 301) с дополнительных зеркал на основное. Делается это с помощью файла.htaccess и модуля mod_rewrite. Для этого ложим в корень сайта файл.htaccess и пишем туда следующее:

RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteCond %{HTTP_HOST} ^site.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

В результате все запросы с site.ru будут идти на www.site.ru, то-есть site.ru/page1.php будет перенаправляться на www.site.ru/page1.php.

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

Комментарии в robots.txt

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

Пример использования комментариев:

User-agent: StackRambler Disallow: /garbage/ # ничего полезного в этой папке нет Disallow: /doc.xhtml # и на этой странице тоже # и все комментарии в этом файле также бесполезны

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

1. Разрешаем всем роботам индексировать все документы сайта:

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

3. Запрещаем роботу поисковика Google индексировать файл feedback.php и содержимое каталога cgi-bin:

User-agent: googlebot Disallow: /cgi-bin/ Disallow: /feedback.php

4. Разрешаем всем роботам индексировать весь сайт, а роботу поисковика Яндекс запрещаем индексировать файл feedback.php и содержимое каталога cgi-bin:

User-agent: Yandex Disallow: /cgi-bin/ Disallow: /feedback.php Host: www.site.ru User-agent: * Disallow:

5. Разрешаем всем роботам индексировать весь сайт, а роботу Яндекса разрешаем индексировать только предназначенную для него часть сайта:

User-agent: Yandex Allow: /yandex Disallow: / Host: www.site.ru User-agent: * Disallow:

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

Часто встречающиеся ошибки

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

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

Проверка файла robots.txt на наличие ошибок

Обязательно проверьте как понимает ваш файл robots поисковиковые системы. Для проверки Google вы можете воспользоваться Инструментами Google для веб-мастеров. Если вы хотите узнать как ваш файл robots.txt понимает Яндекс, то можете воспользоваться сервисом Яндекс.Вебмастер. Это позволит вовремя исправить допущенные ошибки. Также на страницах данных сервисов вы сможете найти рекомендации по составлению файла robots.txt и много другой полезной информации.

Копирование статьи запрещено.

От автора: У вас на сайте есть страницы, которые вы бы не хотели показывать поисковым системам? Из этой статье вы узнаете подробно о том, как запретить индексацию страницы в robots.txt, правильно ли это и как вообще правильно закрывать доступ к страницам.

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

Допустим, на моем блоге есть пару страниц: контакты, обо мне и мои услуги. Я бы не хотел, чтобы они индексировались. Соответственно, пишем:

User-agent: * Disallow: /kontakty/ Disallow: /about/ Disallow: /uslugi/

Другой вариант

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

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

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

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

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

Кроме этого есть такие значения:

noindex, follow – запрет на индексацию текста, но разрешение на переход по ссылкам;

index, nofollow – можно использовать, когда контент должен быть взят в индекс, но все ссылки в нем должны быть закрыты.

index, follow – значение по умолчанию. Все разрешается.

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

Находится данный файл Робота в корневом каталоге вашего сайта и открывается/редактируется простым блокнотом, я рекомендую Notepad++. Для тех, кто не любит читать — есть ВИДЕО, смотрите в конце статьи 😉

Зачем нужен robots.txt

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

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

Разберем конкретный пример:

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

Поэтому обязательно получаемся файлом robots.txt, чтобы в выдачу не попадал мусор. Не забываем, что файл должен открываться по адресу http://site.ru/robots.txt.

Директивы robots.txt и правила настройки

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

User-agent: YandexBot Disallow: /cart # будет использоваться только основным индексирующим роботом Яндекса

Disallow/Allow. Это запрет/разрешение индексации конкретного документа или разделу. Порядок написания не имеет значения, но при 2 директивах и одинаковом префиксе приоритет отдается «Allow». Считывает поисковый робот их по длине префикса, от меньшего к большему. Если вам нужно запретить индексацию страницы — просто введи относительный путь до нее (Disallow: /blog/post-1).

User-agent: Yandex Disallow: / Allow: /articles # Запрещаем индексацию сайта, кроме 1 раздела articles

Регулярные выражения с * и $. Звездочка означает любую последовательность символов (в том числе и пустую). Знак доллара означает прерывание. Примеры использования:

Disallow: /page* # запрещает все страницы, конструкции http://site.ru/page Disallow: /arcticles$ # запрещаем только страницу http://site.ru/articles, разрешая страницы http://site.ru/articles/new

Директива Sitemap. Если вы используете – то в robots.txt она должна указываться так:

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

Директива Host. Как вам известно у сайтов есть зеркала (читаем, ). Данное правило указывает поисковому боту на главное зеркало вашего ресурса. Относится к Яндексу. Если у вас зеркало без WWW, то пишем:

Host: site.ru

Crawl-delay. Задает задержу (в секундах) между скачками ботом ваших документов. Прописывается после директив Disallow/Allow.

Crawl-delay: 5 # таймаут в 5 секунд

Clean-param. Указывает поисковому боту, что не нужно скачивать дополнительно дублирующую информацию (идентификаторы сессий, рефереров, пользователей). Прописывать Clean-param следует для динамических страниц:

Clean-param: ref /category/books # указываем, что наша страница основная, а http://site.ru/category/books?ref=yandex.ru&id=1 это та же страница, но с параметрами

Главное правило: robots.txt должен быть написан в нижнем регистре и лежать в корне сайта. Пример структуры файла:

User-agent: Yandex Disallow: /cart Allow: /cart/images Sitemap: http://site.ru/sitemap.xml Host: site.ru Crawl-delay: 2

Мета-тег robots и как он прописывается

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

Директив у него 2: follow/nofollow и index/noindex . Это разрешение/запрет перехода по ссылкам и разрешение/запрет на индексацию документа. Директивы можно прописывать вместе, смотрим пример ниже.

Для любой отдельной страницы вы можете прописать в теге следующее:

Правильные файлы robots.txt для популярных CMS

Пример Robots.txt для WordPress

Ниже вы можете увидеть мой вариант с данного Seo блога.

User-agent: Yandex Disallow: /wp-content/uploads/ Allow: /wp-content/uploads/*/*/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-trackback Disallow: /wp-feed Disallow: /wp-comments Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /tag Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?.xml

Трэкбэки запрещаю потому что это дублирует кусок статьи в комментах. А если трэкбэков много — вы получите кучу одинаковых комментариев.

Служебные папки и файлы любой CMS я стараюсь я закрываю, т.к. не хочу чтобы они попадали в индекс (хотя поисковики уже и так не берут, но хуже не будет).

Фиды (feed) стоит закрывать, т.к. это частичные либо полные дубли страниц.

Теги закрываем, если мы их не используем или нам лень их оптимизировать.

Примеры для других CMS

Чтобы скачать правильный robots для нужной CMS просто кликните по соответствующей ссылке.




Top