Сервисы и скрипты для вебмастеров
· Главная · Аватары · О сайте · Скрипты · Маскировка реф.ссылок · Рассылка · Карта сайта · Контакты · Ссылки
Навигация
Все публикации
  • Заработок на сайте
  • Статьи
  • Новости
  • Учебные статьи
  • Хостинг
  • Сервисы
  • Экспорт контента
  • Рекомендуем
  • приезжим: срубы города Челябинска
  • Статистика
    Введите слово для поиска :
    Учебники Исключение пауков и роботов

         Данная статья объяснит, как контролировать поведение роботов и пауков на вашем сайте. Для краткости я буду называть роботов и пауков одним словом - роботы. Хотя они и выполняют разные функции о чём читайте далее. Итак - Исключение пауков и роботов или как грамотно использовать файл robots.txt

     

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

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

    Исключение роботов

    Протокол исключения роботов позволяет веб-администраторам указывать роботам, какие части узла им запрещено посещать. Когда робот посещает узел, он прежде всего запрашивает файл robots.txt в корневом каталоге.http://php-ru.info/robots.txt. >

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

    Расположение файла robots.txt

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

    GET /robots.txt
    

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

    http://php-ru.info/robots.txt
    http://php-ru.info:80/robots.txt
    http://php-ru.info/robots.txt
    http://php-ru.info:8080/robots.txt
    

    Обратите внимание, что узел может иметь только один файл "/robots.txt". Размещение файла в каталогах пользователей не имеет смысла. Поэтому вам придется объединять все в одном файле. Если вы этого не хотите делать, пользователи могут воспользоваться META тэгом "Robots".

    Примите также во внимание, что URL чуствительны к регистру - "/robots.txt" должен состоять из строчных букв.

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

    http://php-ru.info/admin/robots.txt
    http://php-ru.info/~andy/robots.txt
    http://php-ru.info/Robots.txt
    http://php-ru.info/ROBOTS.TXT
    ftp://php-ru.info/robots.txt
    

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

    Файл "/robots.txt" выглядит примерно следующим образом:

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

    Обратите внимание, что для каждого запрещаемого URL требуется отдельная строка с "Disallow". Вы не можете сказать "Disallow: /cgi-bin/ /tmp/". Нельзя также оставлять пустые строки в одной записи - они служат для разделения нескольких записей.

    Регулярные выражения не поддерживаются ни в строке User-agent, ни в строках Disallow. Знак '*' в строке User-agent имеет специальное значение "любой робот". То есть вы не можете указывать строки типа "Disallow: /tmp/*" или "Disallow: *.gif".

    Также необходимо помнить, что строка

    Disallow: /texture
    

    запретит доступ как к каталогу /texture, так и к файлам /texture.*, в то время, как строка

    Disallow: /texture/
    

    запретит доступ только к каталогу /texture.

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

    User-agent: *
    Disallow: /
    

    Для разрешения полного доступа всем роботам воспользуйтесь записью

    User-agent: *
    Disallow:
    

    Или создайте пустой файл "/robots.txt".

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

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

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

    User-agent: TeleportPro
    Disallow: /
    

    Вы можете также разрешить доступ только определенному роботу:

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

    META тэг "Robots"

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

    META тэг "Robots" позволяет авторам указать роботу, можно ли индексировать документ и можно ли собирать в нем ссылки.

    META тэг "Robots" эвляется регистро-независимым.

    Расположение META тэга "Robots"

    Как и любой META тэг он помещается в секцию HEAD документа HTML:

    <html>
    <head>
    <meta name="robots" content="noindex,nofollow">
    <meta name="description" content="This page ....">
    <title>...</title>
    </head>
    <body>
    ...
    

    Содержимое META тэга "Robots"

    Значение META тэга "Robots" содержит директивы, разделенные запятой. В настоящий момент определены директивы [NO]INDEX и [NO]FOLLOW. Директива INDEX указывает, что данную страницу можно индексировать. Директива FOLLOW указывает, что робот может следовать по ссылкам, содержащимся на данной странице. Директивы NOINDEX и NOFOLLOW имеют обратное значение. По умолчанию действуют INDEX и FOLLOW. Значения ALL и NONE устанавливают обе директивы: ALL=INDEX,FOLLOW и NONE=NOINDEX,NOFOLLOW.

    Примеры:

    <meta name="robots" content="index,follow">
    <meta name="robots" content="noindex,follow">
    <meta name="robots" content="index,nofollow">
    <meta name="robots" content="noindex,nofollow">
    <meta name="robots" content="all">
    <meta name="robots" content="none">
    

    Нельзя указывать повторяющиеся или конфликтующие директивы:

    <meta name="Robots"
     content="INDEX,NOINDEX,NOFOLLOW,FOLLOW,FOLLOW">
    

    Ниже приведен формальный синтаксис значения META тэга "Robots":

    content    = all | none | directives
    all        = "ALL"
    none       = "NONE"
    directives = directive ["," directives]
    directive  = index | follow
    index      = "INDEX" | "NOINDEX"
    follow     = "FOLLOW" | "NOFOLLOW"
    

    В заключение хочу сказать, что несмотря на все вышесказанное, ничто кроме самого HTTP-сервера не может запретить роботам ползать по всему вашему узлу. Оба этих способа исключения работают только с так называемыми "вежливыми" роботами. Хочу также заметить, что не все роботы поддерживают META тэг "Robots", хотя их процент растет.


    TEXT +   TEXT -   Печать Опубликовано : 20 Февраль 2008 | Просмотров : 1979

    Добавить комментарий - Доступно только пользователям
    Данная страница доступна только зарегистрированным пользователям !
    С уважением администрация сайта Скрипты PHP.
    Радио Онлайн
    · Главная · Новости интернета · Сервис хранения фото · Статьи · Скрипты · Лицензионный софт · Полезная информация · Графика
    © 2007 - 2010 PHP-RU.INFO [ Открытие страницы : 0.15 | Запросов к БД : 9 | Генерация страницы : 0.00 ]