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

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

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

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

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

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

Запрет индексации сайта в robots.txt

При помощи файла robots.txt мы можем запретить индексацию отдельной страницы или целого раздела сайта.

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

User-agent: *
Disallow: /kolobok.html
Disallow: /foto/

Где, * — определяет, что инструкции предназначены для всех ПС;
Disallow: /kolobok.html — запрещает индексировать файл kolobok.html;
Disallow: /foto/ — дает запрет на индексацию всего содержимого папки foto.

Если вам надо запретить несколько папок и/или страниц, все их указываем в роботсе.

Запрет индексации страницы в мета-теге robots

Для запрета индексации отдельной страницы можно воспользоваться мета-тегом robots. Особенность его использования в отличие от robots.txt в том, что он дает указания сразу всем ПС. А в robots.txt можно настроить под отдельную поисковую систему. Этот мета тег подчиняется общим правилам формата html и должен находится в заголовке страницы между тегами head и /head .
Пример записи для запрета:

Атрибут content может содержать такие условия:

  • index — разрешает индексацию этой страницы;
  • noindex – запрещает индексацию страницы;
  • follow – разрешает индексировать ссылки на этой странице;
  • nofollow – запрещает индексацию ссылок на странице;
  • all – включает в себя сразу index и follow (разрешает индексировать и страницу и ссылки);
  • none – включает noindex и nofollow, т.е. запрещает индексацию

пример записи, которая разрешает все:

Или запрещает все и индексацию текста и ссылок:

Так же, можно указать для какой ПС предназначены ограничения в мета теге robots. Яндекс точно понимает такую запись:

Запрет индексации ссылки: атрибут rel=»nofollow» тега A

Атрибут rel=»nofollow» учитывают все нужные нам поисковики: Яндекс и Google. В отличие от мета-тега «robots», который, запрещает индексировать сразу все ссылки, «rel» закрывать только одну ссылку.

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

Запрет индексации тегом Noindex

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

часть страницы, которую надо закрыть от индексации

Тег «noindex» может располагаться в любой части страницы и не чувствителен к вложенности. Что бы сделать его валидным, применяйте такую запись:

текст, индексирование которого нужно запретить

Запрет индексации в htaccess

Файл htaccess может заблокировать доступ к определенной части сайта, например к отдельной странице. Если вы хотите закрыть страницу от Яндекса то вам нужна такая запись.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} yandex
RewriteRule ^тут_урл_страницы$ — [F]

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

Самые загадочные персонажи разметки -страницы, главная задача которых состоит в индексирования ссылок и текстового материала веб-страницы поисковыми роботами.

- не переходить по ссылке

Оба главных русскоязычных поисковика (Google и Яндекс) - прекрасно знают атрибут и, поэтому - превосходно управляются с ним. В этом, и Google, и Яндекс, наконец-то - едины. Ни один поисковый робот не пойдёт по ссылке, если у неё имеется атрибут :

анкор (видимая часть ссылки)

content="nofollow" - не переходить по всем ссылкам на странице

Допускается указывать значение nofollow для атрибута content метатега .
В этом случае, от поисковой индексации будут закрыты все ссылки на веб-странице

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


на поисковых роботов Google и Яндекса

Действие атрибутов и content="nofollow"
на поисковых роботов Google и Яндекса несколько разное:

Google Увидев атрибут у отдельно стоящей ссылки, поисковые роботы Google не переходят по такой ссылке и не индексируют её видимую часть (анкор). Увидев атрибут content="nofollow" у метатега в заголовке страницы, поисковые роботы Google сразу «разворачивают оглобли» и катят к себе восвояси, даже не пытаясь заглянуть на такую страницу. Таким образом, чтобы раз и навсегда закрыть от роботов Google отдельно стоящую ссылку (тег <а> ) достаточно добавить к ней атрибут :
Анкор
А, чтобы раз и навсегда закрыть от роботов Google всю веб-страницу,
достаточно добавить в её заголовок строку с метатегом:
Яндекс Для роботов Яндекса атрибут имеет действие запрета только! на индексацию ссылки и переход по ней. Видимую текстовую часть ссылки (анкор) - роботы Яндекса всё равно проиндексируют.
Для роботов Яндекса атрибут метатега content="nofollow" имеет действие запрета только! на индексацию ссылок на странице и переходов по них. Всю видимую текстовую часть веб-страницы - роботы Яндекса всё равно проиндексируют.
Для запрета индексации видимой текстовой части ссылки или страницы для роботов Яндекса - ещё потребуется добавить его любимый тег или значение

noindex - не индексировать текст
(тег и значение только для Яндекса)

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

Тег - не признанное изобретение Яндекса

Тег используется поисковым алгоритмом Яндекса для исключения служебного текста веб-страницы поискового индекса. Тег поддерживается всеми дочерними поисковыми системами Яндекса, вида Mail.ru, Rambler и иже с ними.

Тег noindex - парный тег, закрывающий тег - обязателен!

Учитывая не валидность своего бедного и непризнанного тега,
Яндекс соглашается на оба варианта для его написания:
Не валидный вариант - ,
и валидный вариант - .

Хотя, во втором случае - лошади понятно, что для гипертекстовой разметки HTML, это уже никакой не тег, а так просто - html-комментарий на веб-странице.

Тег - не индексировать кусок текста

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

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

Так, например, можно создать четыре конструкции, где:

Ссылка индексируется полностью Анкор (видимая часть ссылки) Индексируется только анкор (видимая часть) ссылки Анкор Индексируется только ссылка, без своего анкора Анкор Ссылка абсолютно НЕ индексируется Анкор

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

Метатег noindex - не индексировать текст всей страницы

Допускается применять noindex в качестве значения для атрибута метатега content -
в этом случае устанавливается запрет на индексацию Яндексом текста всей страницы.

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

Абсолютно достоверно, ясно и точно, что использование noindex в качестве значения атрибута content для метатега даёт очень хороший результат и уверенно «выбивает» такую страницу из поискового индекса Яндекса.


Текст страницы, с таким метатегом в заголовке -
Яндекс совершенно не индексирует, но при этом он -
проиндексирует все ссылки на ней.

Разница в действии тега и метатега noindex

Визуально , разница в действии тега и метатега noindex заключается в том, что запрет на поисковую индексацию тега noindex распространяется только на текст внутри тегов , тогда как запрет метатега - сразу на текст всей страницы.
Пример: Этот текст будет не проиндексирован


Текст страницы, с таким метатегом - Яндекс полностью не индексирует

Принципиально , разница в действии тега и метатега проявляется в различиях алгоритма по их обработке поисковой машиной Яндекса. В случае с метатегом noindex, робот просто уходит со страницы, совершенно не интересуясь её содержимым (по крайней мере - так утверждает сам Яндекс). А, вот в случае с использованием обычного тега - робот начинает работать с контентом на странице и фильтровать его через своё «ситечко». В момент скачивания, обработки контента и его фильтрации возможны ошибки, как со стороны робота, так и со стороны сервера. Ведь ни что не идеально в этом мире.
Поэтому, кусок текста страницы, заключённого в теги - могёт запросто попасть Яндексу «на зуб» для дальнейшей поисковой индексации. Как утверждает сам Яндекс - это временное неудобство будет сохраняться до следующего посещения робота. Чему я не очень охотно верю, потому как, некоторые мои тексты и страницы, с тегом и метатегом noindex - висели в Яндексе по нескольку месяцев.

Особенности метатега noindex

Равно, как и в случае с тегом , действие метатега noindex позволяет гибко накладывать запреты на всю страницу. Примеры метатегов для всей страницы сдерём из Яндекс-Вебмастера:

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

Вот такой он, тег и значение noindex на Яндексе:):):).

У CMS Joomla есть один недостаток, это дубли адресов страниц. Дубли — это когда одна статья доступна по двум адресам.

Например:

Подробнее и как убрать из индексации дубли страниц в Joomla читаем под катом.

У CMS Joomla есть один недостаток, это дубли адресов страниц. Дубли — это когда одна статья доступна по двум адресам. Например:

http://сайт/dizayn/ikonki-sotsial-noy-seti-vkonrtakte.html

index.php?option=com_content&view=article&id=99:vkontakteicons&catid=5:design&Itemid=5

Как появляются дубли страниц? Очень просто, на примере выше мы видим две ссылки на один материал. Первая ссылка - красивая и человекопонятная (ЧПУ ссылка), создана компонентом JoomSEF который преобразует все ссылки на сайте в такой красивый, удобочитаемый вид. Вторая ссылка - внутренная системная ссылка Джумлы, и если бы компонент Artio JoomSef не был установлен, то все ссылки на сайте были бы как вторая — непонятные и некрасивые. Теперь от том насколько это страшно и как бороться с дублями.

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

Как бороться с дублями в Joomla и других cms

1) Два дубля одной страницы, запрет в robots.txt

К примеру, в индекс поисковика попадают следующие два адреса одной страницы:

http://site.ru/страница.html?replytocom=371
http://site.ru/страница.html?iframe=true&width=900&height=450

Для закрытия таких дублей в robots.txt нужно добавить:

Disallow: /*?*
Disallow: /*?

Этим действием мы закрыли от индексации все ссылки сайта со знаком «?». Такой вариант подходит для сайтов где включена работа ЧПУ, и нормальные ссылки не имеют в себе знаков вопроса — «?».

2. Использовать тег rel=”canonical”

Допустим на одну страницу идет две ссылки с разными адресами. Поисковикам Google и Yahoo моджно указать на то какой адрес на страницу является главным. Для этого в теге надо прописать тег rel=”canonical”. Яндекс эту опцию не поддерживает.

Для Joomla для постановки тега rel=”canonical” я нашел два расширения, под названием 1)plg_canonical_v1.2; и 2) 098_mod_canonical_1.1.0. Можете их потестировать. Но я бы поступил другим образом и просто запретил к индексации все ссылки имеющие в себе знак вопроса, как показал в примере выше.

3. Запретить индексирование в robots.txt Joomla дублей (страницы с окончанием index.php) и других не нужных страниц.

Так как все дубли страниц в Joomla начинаются с index.php, то можно запретить их все к индексации одной строкой в robots.txt - Disallow: /index.php. Также этим самым мы запретим дубль главной страницы, когда она доступна по адресу «http://site.ru/» и «http://site.ru/index.php».

4. Cклейка домена с www и без при помощи 301 редиректа (переадресаци).

Для склейки домена с www и без нужно сделать переадресацию – 301 редирект. Для этого в файле.htaccess прописываем:

RewriteEngine on

Если вам нужно наоборот сделать редирект с http://site.ru на www.site.ru, то запись будет выглядеть так:

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

5. Директива Host дает определение основного домена с www или без для Яндекса.

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

Это будет выглядеть следующим образом:

User-Agent: Yandex
Host: site.ru

Директиву Host понимает только Яндекс. Google ее не понимает.

6. Joomla дубли страниц склеиваем в файле.htaccess.

Очень часто главная страница сайта на joomla бывает доступна по адресу http://site.ru/index.html или http://site.ru/index.рhp, http://site.ru.html , то есть это дубли главной страницы (http://site.ru), конечно от них можно избавиться путем закрытия их в robots.txt, но лучше это сделать при помощи.htaccess. Для этого в этот файл добавить следующее:


Используйте этот код если вам нужно избавиться от дубля с index.рhp, не забудьте в коде вместо http://ваш сайт.ru/, поставить свой домен.

Чтобы проверить получилась у вас или нет, просто введите в браузер адрес дубля (http://site.ru/index.рhp), если получилось, то вас перебросит на страницу http://site.ru, также будет происходить и с поисковыми ботами и они не будут видеть эти дубли.

И по аналогии склеиваем Joomla дубли с другими приставками к URI вашей главной страницы, просто отредактируйте код который я привел выше.

7. Указать sitemap в robots.txt

Хоть это и не относится к дублям, но раз уж пошла такая движуха, то заодно я рекомендую в файле robots.txt указать путь к карте сайта в xml формате для поисковиков:

Sitemap: http://домен.ru/sitemap.xml.gz
Sitemap: http://домен.ru/sitemap.xml

Итог

Подвоя итог вышесказанному, для Joomla я бы прописал вот такие строки в robots.txt:

Disallow: /index.php

Указать основной хост для Яндекса

User-Agent: Yandex
Host: site.ru

И вот такие строки в.htaccess

# Склейка домена с www и без

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site.ru/$1

# Склейка дублей страниц

RewriteCond %{THE_REQUEST} ^{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://ваш сайт.ru/

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

В данном обзоре рассмотрим как найти и навсегда удалить дубли страниц.

Как возникают дубликаты страниц

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

Какие бывают дубли страниц

1. Главная страница сайта, которая открывается с www и без www

пример www.site.ua и site.ua

site.ua/home.html и site.ua/

2. Динамическое содержание сайта с идентификаторами?, index.php, &view

site.ua/index.php?option=com_k2&Itemid=141&id=10&lang=ru&task=category&view=itemlist

site.ua/index.php?option=com_k2&Itemid=141&id=10&lang=ru&layout=category&task=category&view=itemlist

3. Со слешем в конце URL и без

4. Фильтры в интернет-магазине (пример )

site.ua//?Itemid=&product_book&

5. Странички печати

site.ua/cadok/?tmpl=component&print=1&layout=default&page=»

Какую опасность несут в себе дубли страниц

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

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

Как обнаружить дубликаты на сайте

1. С помощью команды site:site.ua можете проверить какие именно дубли попали в индекс поисковой машины.

2. Введите отрывки фраз с вашего сайте в поиск, таким образом обнаружите страницы на которых она присутствует

3. Инструменты для веб-мастеров Google, в разделе Вид в поиске → Оптимизация HTML, можете увидеть страницы, на которых есть повторяющееся метаописание или заголовки.

5 способов удалить дубликаты страниц

1. С помощью файла robots.txt

Disallow: /*?
Disallow: /index.php?*

Таким образом, дадим знать поисковой машине, что странички, которые содержат параметры?, index.php?, не должны индексироваться.

Есть одно «но»: файл robots - это только рекомендация для поисковых машин, а не правило, которому они абсолютно следуют. Если, например, на такую страничку поставлена ссылка то она попадет в индекс.

2. Файл.htaccess, позволяет решить проблему с дублями на уровне сервера.

Htaccess - это файл конфигурации сервера Apache, находится в корне сайта. Позволяет настраивать конфигурацию сервера для отдельно взятого сайта.

Склеить странички сайта 301 редиректом.

Redirect 301 /home.html http://site.ua/ (для статических страниц cайта)

RewriteCond %{QUERY_STRING} ^id=45454
RewriteRule ^index.php$ http://site.ua/news.html? (редирект для динамических страничек)

Использовать 410 редирект (полное удаление дубля)
Он сообщает что такой странички нет на сервере.

Redirect 410 /tag/video.html

Настроить домен с www и без www

Пример с www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ua
RewriteRule ^(.*)$ http://www.site.ua/$1

Без www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ua$
RewriteRule ^(.*)$ http://site.ua/$1

Добавляем слеш в конце URL

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?) RewriteRule .* %1/

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

3. Инструменты для веб-мастеров

Функция Параметры URL позволяют запретить Google сканировать странички сайта с определенными параметрами

Или вручную удалить

Удаление страничек возможно только в случае если страничка:

Запрещена для индексации в файле robots.txt

Возвращает ответ сервера 404

Запрещена тегом noindex

4. Мета тег noindex - это самый действенный способ удаления дубликатов. Удаляет навсегда и бесповоротно.

По заявлению Google наличие тега noindex полностью исключает страничку из индекса.

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

Реализовать можно через регулярные выражения PHP, используя функцию preg_match() .

5. Атрибут rel=»canonical»

Атрибут rel=»canonical» дает возможность указать рекомендуемую (каноническую) страничку для индексации поисковыми машинами, таким образом дубликаты не попадают в индекс.

rel=»canonical» указывается двома способами

1. С помощью атрибута link в в HTTP-заголовке

Link: ; rel=»canonical»

2. В раздел добавить rel=»canonical» для неканонических версий страниц

В некоторые популярные CMS атрибут rel=»canonical» внедрен автоматически - например, Joomla! 3.0 (почитайте об ). У других CMS есть специальные дополнения.

Подведем итог. При разработке сайта учитывайте возможности появления дублей и заранее определяйте способы борьбы с ними. Создавайте правильную структуру сайта (подробнее .

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

При написании использовались материалы

Зберегти

Зберегти

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