Как составить файл robots.txt? Запрещение индексации страниц

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

Иногда нужно, чтобы поисковая машина не индексировала некоторые страницы сайта. Например, совсем необязательно индексировать форумы, доски объявлений, каталоги /cgi-bin/ — ведь в индексировании этой информации просто нет смысла.

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

Вы не можете повлиять на работу робота Яндекса, используя следующий метатег:

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta name="revisit-after" content="nn days">

</head>

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

 

Файл robots.txt …

Единственное, что вы можете сделать — это разрешить или запретить роботу индексировать отдельные каталоги или документы вашего сайта. Это можно сделать с помощью файла Robots txt, который должен находиться в корневом каталоге вашего сервера.

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

  • графическую и облегченную текстовую версии сайта — обе версии находятся на одном сервере, просто в разных каталогах, и содержат одинаковый материал;

  • две версии сайта, написанные в разных кодировках.

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

Иными словами, желательно, чтобы в любом случае в корневом каталоге вашего сайта был файл robots.txt следующего содержания:

Код:
User-Agent: *
Disallow: /cgi-bin/

В данном случае роботу запрещается индексировать CGI-сценарии, которые обычно находятся в каталоге /cgi-bin/.

Обратите внимание, что директива User-Agent: * обязательна и должна предшествовать директивам Disallow.

Например, следующий файл robots.txt ничего не запрещает:

Код:
Disallow: /cgi-bin/
Disallow: /mycatalog/forum/

Чтобы запрет сработал, его нужно переписать так:

Код:
User-Agent: *
Disallow: /cgi-bin/
Disallow: /mycatalog/forum/

Помните, что директиву Disallow можно использовать только с одним операндом, т.е. вы не можете написать Disallow /cgi-bin/mycatalog/forum/ или Disallow "/cgi-bin/mycatalog/forum/". Для запрета индексирования N объектов нужно написать N директив Disallow — по одной на каждый объект.

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

Рассмотрим следующий пример:

Код:
User-Agent: *
Disallow:  /cgi-bin/

Disallow: /mycatalog/forum/

Первая директива Disallow применяется для всех роботов (*), а вторая вообще не будет применяться, поскольку она написана через пустую строку и перед ней нет директивы User-Agent, задающей имя робота.

Рассмотрим еще один пример:

Код:
User-Agent: *
Disallow: /cgi-bin/

User-Agent: yandex
Disallow: /mycatalog/forum/

Индексирование каталога /cgi-bin/ запрещено для всех роботов, а каталога /mycatalog/forum/ — только для робота Яндекса.

В директиве Disallow вы можете использовать только относительные пути к объекту, т.е. вы не можете записать http://server.ru/cgi-bin/ или просто server.ru/cgi-bin/.

Если вы установите следующую директиву: Disallow server.ru/cgi-/bin/, то она запретит индексирование каталога www.ваш_сервер.ru/server.ru/cgi-bin/ — ясно, что такого каталога на сервере у вас нет, следовательно, директива работать не будет.

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

Код:
User-Agent: *
Disallow: /

Обратите внимание, что вы должны записать именно директиву Disallow: /, а не Disallow *. В последнем случае будет запрещена индексация файлов, имена которых начинаются с "*", — а таких ведь в природе нет!

 

Другие способы контроля индексирования документа …

Контролировать поведение робота можно и с помощью следующих метатегов:

  • <МЕТА NAME="ROBOTS" CONTENT="NOINDEX"> — запрет индексирования документа, в заголовке (тег HEAD) которого есть данный метатег.

  • <META NAME="ROBOTS" CONTENT="NOFOLLOW"> — если вы хотите запретить индексирование всего сайта, очень полезно вставить этот метатег в главную страницу — index.html. Данный тег запрещает роботу следовать по ссылкам с данной страницы.

  • <МЕТА NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> — комбинированный вариант двух предыдущих тегов.

Да, работа рутинная — если в каталоге, который вы хотите запретить индексировать, скажем, 100 файлов, в каждый из них вам нужно добавить мета тег ROBOTS=NOINDEX. С помощью Disallow проблему решила бы одна строка …

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

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta name="robots" content="index, follow">

</head>

<body>

<NOINDEX>... Текст ...</NOINDEX>

</body>
</html>
 

Директива Host …

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

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

Если ваш главный сайт размещен по адресу www.server.ru, то файл robots.txt должен выглядеть следующим образом:

Код:
User-Agent: *
Host: www.server.ru

Желательно, чтобы директива Host следовала после директив Disallow — это нужно для совместимости с некоторыми роботами.

В качестве аргумента директивы Host нужно указать доменное имя (именно имя, а не IP или URL), можно также указать номер порта.

Например:
Host: www.server.ru - правильно
Host: www.server.ru:80 - правильно

Host: http://www.server.ru - неправильно: указан URL
Host: http://www.server.ru:80 - неправильно: указан URL

Host: 192.168.3.65 - неправильно: указан IP

Неправильно написанные директивы Host игнорируются роботом.

Категория: ВебМастеру | Добавил: ya (14.10.2008) | Автор: Коровенков Юрий W
Просмотров: 14958
Всего комментариев: 0




avatar