Програмируем роботов
Каждый школьник стыкается с ситуацией, когда нужно спрятать любимую порнуху на компьютере от глаз родителей. Одни засовывают ее на глубину 15-ти директорий, вторые переименовывают расширение с .avi в .txt, и позже открывают с помощью проигрывателя, а третьи – просто делают файлик невидимым. Ровно также и веб-мастеру приходиться прятать страницы сайта от поисковика. Причиной может стать ненужность индексации временной информации, или cgi-директории. И подобно случаю со школьниками, у каждого администратора свои методы. Вася указывает в мета-тегах нуждается ли страница в анализе, Коля ставит <noindex></noindex> на «плохие» ссылки, а Миша создает robots.txt.
По сути robots.txt никогда не был официальным стандартом, и не гарантирует, что все пауки в обязательном порядке будут придерживаться его в дальнейшем. Тем не менее, неофициальный статус документа не уменьшает его важности. Большинство роботов, первым делом попав на сайт, ищут именно этот файлик, дабы узнать, что им позволено индексировать.
Структура файла выглядит следующим образом:
User-agent содержит название робота
User-agent: googlebot
Если нужно обратиться ко всем роботам, то строка будет выглядеть
User-agent: *
Следующая часть документа содержит в себе записи Disallow, запрещающие доступ к тем, или иным страницам
Disallow: admin.php
Или папкам
Disallow: /cgi-bin/
Запись
Disallow: /user
запретит поисковикам индексировать и директорию site.com/user и страницу user.htm
Disallow: – позволит анализировать все содержимое сайта
Disallow: / – запрещает роботам доступ ко все страницам и папкам
N.B. если указать Disallow: /image*/, то запрещается доступ ко всем папкам, название которых начинается с “image”. Если Disallow: *png – для всех файлов с расширением png
Вместе с простыми обращениями к поисковикам в robots.txt возможно вставлять и комментарии, которые должны начинаться с символа # и идти с новой строки
Помимо стандартных команд каждый робот может использовать и свои отдельные записи. Так Google использует Allow, чтобы обозначить файлы, к которым разрешен доступ, Яндекс, благодаря директиве Host определяет главное зеркало сайта и т.п.
N.B. Расширение стандарта robots.txt, введенное Яндексом, директива Host — это не команда считать зеркалами два любых сайта, это указание, какой сайт из группы, определенных автоматически как зеркала, считать главным. Следовательно, когда сайты будут идентифицированы как зеркала, директива Host сработает.
Пример
User-agent: Yandex
Disallow:
Host: site.com
# main domain is site.com
User-agent: googlebot
Disallow: /
Allow: /content/
User-agent: *
Disallow: /cgi-bin/notde
Disallow: /cgi-bin/html-KOI/vision/
Disallow: /cgi-bin/library/history.htm
В выше описанном примере запрещается доступ Гуглу ко всем фалам, кроме папки content, разрешается неограниченный анализ страниц Яндексу и запрещается индексирование папок nodte, vision и файла history.htm всем остальными поисковикам.
Если хотите скачать jimm, заходите на http://bicq.ru/
Правила
Существует несколько правил написания и размещения документа:
1. Находиться файл должен в корне сайта (http://site.com/robots.txt)
2. Имя должно бить robots.txt, а не Robots.txt или rObOTs.txt
3. Хост следует писать без слеша в конце и без http:// (правильно – Host: site.com)
4. Документ должен создаваться в текстовом формате Unix
5. Если нужно оставить открытым доступ ко всем файлам, оставьте поле Disallow пустым, но не упускайте его
Роботы
Яндекс – Yandex
Рамблер – StackRambler
Google – googlebot, Googlebot-Image (бот поиска картинок)
Yahoo – Yahoo! Slurp (одно название)
MSN – msnbot (главный), есть также msnbot-products, msnbot-news, msnbot-MM
Апорт– Aport
Webalta – Webalta
Webcrawler – Webcrawler
Lycra – Lycra
Запретить индексировать страницы поисковикам можно не только используя файл robots.txt, для этого подойдет также Мета-тег Robots.
NOFOLLOW/FOLLOW – запрещает/позволяет роботу переходить по внешним ссылкам
NOINDEX/INDEX – запрещает/позволяет индексировать страницу
Пример
<META NAME=”ROBOTS” CONTENT=”NOFOLLOW”> – тег запрещает всем поисковикам переходить по внешним ссылкам
<META NAME=”GOOGLEBOT” CONTENT=”INDEX, FOLLOW”> – тег позволяет гуглу индексировать страницу и переходить по внешним ссылкам
Чтобы запретить всем роботам переходить по внешним ссылкам на странице в шапку сайта нужно вставить мета-тег <META NAME=”ROBOTS” CONTENT=”NOFOLLOW”>, чтобы запретить индексировать страницу поисковику Гугла нужно прописать <META NAME=”GOOGLEBOT” CONTENT=”NOINDEX, NOFOLLOW”>
Пример файла robots.txt, взятый с Хабра
User-agent: YandexDisallow: /people/Disallow: /search/Disallow: /tag/Disallow: /top/Disallow: /live/Host: habrahabr.ruCrawl-delay: 0.3User-agent: *Disallow: /people/Disallow: /search/Disallow: /tag/Disallow: /top/Disallow: /live/Crawl-delay: 0.3
Пример robots.txt с сайта CNN.com
Sitemap: http://www.cnn.com/sitemap_index.xmlSitemap: http://www.cnn.com/sitemap_news.xmlSitemap: http://www.cnn.com/sitemap_video_test.xmlUser-agent: *Disallow: /.elementDisallow: /editionssiDisallow: /adsDisallow: /aolDisallow: /audioDisallow: /audioselectDisallow: /betaDisallow: /browsersDisallow: /clDisallow: /cnewsDisallow: /cnn_adspacesDisallow: /cnnbetaDisallow: /cnnintl_adspacesDisallow: /developmentDisallow: /NewsPassDisallow: /NOKIADisallow: /partnersDisallow: /pipelineDisallow: /pointrollDisallow: /POLLSERVERDisallow: /prDisallow: /PVDisallow: /quickcastDisallow: /QuickcastDisallow: /QUICKNEWSDisallow: /testDisallow: /virtualDisallow: /WEB-INF
Как видим в документе, для улучшения анализа, можно также указать путь к карте сайта
P.S. Интересно почему CNN закрыло индексацию каталога NOKIA))
-
WOLK

Стоит почитать:
