24 августа 2008 года

robots.txt Каждый школьник стыкается с ситуацией, когда нужно спрятать любимую порнуху на компьютере от глаз родителей. Одни засовывают ее на глубину 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: Yandex
Disallow: /people/
Disallow: /search/
Disallow: /tag/
Disallow: /top/
Disallow: /live/
Host: habrahabr.ru
Crawl-delay: 0.3
User-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.xml
Sitemap: http://www.cnn.com/sitemap_news.xml
Sitemap: http://www.cnn.com/sitemap_video_test.xml
User-agent: *
Disallow: /.element
Disallow: /editionssi
Disallow: /ads
Disallow: /aol
Disallow: /audio
Disallow: /audioselect
Disallow: /beta
Disallow: /browsers
Disallow: /cl
Disallow: /cnews
Disallow: /cnn_adspaces
Disallow: /cnnbeta
Disallow: /cnnintl_adspaces
Disallow: /development
Disallow: /NewsPass
Disallow: /NOKIA
Disallow: /partners
Disallow: /pipeline
Disallow: /pointroll
Disallow: /POLLSERVER
Disallow: /pr
Disallow: /PV
Disallow: /quickcast
Disallow: /Quickcast
Disallow: /QUICKNEWS
Disallow: /test
Disallow: /virtual
Disallow: /WEB-INF

Как видим в документе, для улучшения анализа, можно также указать путь к карте сайта

P.S. Интересно почему CNN закрыло индексацию каталога NOKIA))

2 комментария
  • Сегодня искал в гугле "как настроить robots.txt" но ничего нового и полезного для себя не нашел. А тут проходил мимо и заметил этот прекрасный пост) сейчас сделаю себе чайок и изучу поподробнее))
blog comments powered by Disqus