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

Автор: Aport Четверг, Январь 22nd, 2015 Нет комментариев

Рубрика: Разное

Разрешения и запрещения на индексацию берутся всеми поисковыми системами из файла 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, то еще не все потеряно — достаточно добавить дополнительный тег <META> в HTML-код вашей страницы (внутри тега <HEAD>):

<META NAME="ROBOTS" CONTENT="NOINDEX">

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

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

<META NAME="ROBOTS" CONTENT="NOFOLLOW">

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

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

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

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

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

<NOINDEX></NOINDEX>

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

<NOINDEX>
…код1…
<TABLE><TR><TD>
…код2…
</NOINDEX>
…код3…
</TD></TR></TABLE>

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

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

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

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

<!--#if expr=" "${HTTP_HOST}" != "www.главное_имя.ru" " -->
User-Agent: *
Disallow: /
<!--#endif -->

В этом файле роботу запрещен обход всех хостов, кроме 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

Удачки.

 

Источник: yapro.ru

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

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты