Зачем нужен robots.txt?
Процесс индексации сайта сложный и ресурсоемкий. Зачастую на многих сайтах, особено если они созданы c помощью различных движков, присутствует информация, которую вовсе не обязательно индексировать. Кроме избавления от лишней нагрузки на сервер запрет индексации определенных директорий позволит Вам избежать возможного многократного дублирования информации, чего не любят все без исключения поисковики. Также, если проиндексируется куча лишней информации, то это однозначно не отразится положительно на ранжировании по действительно нужным Вам запросам. Для того, чтобы задать правила поведения для поисковых ботов используется файл robots.txt. С его помощью мы сможем повлиять на процесс индексации страниц сайта. Файл robots.txt создается в любом текстовом редакторе и располагается в корневом каталоге Вашего сайта (название должно обязательно быть написано в нижнем регистре). Таким образом Ваш robots.txt всегда доступен по адрессу http://vash_site.ru/robots.txt Несложно догадаться, что можно просмотреть robots.txt любого сайта, это может быть полезно в качестве примера для определения лучшего варианта для Вашего robots.txt, только не забывайте, что для разных сайтовых движков оптимальные robots.txt будут кардинально отличаться. Можно провести некоторую аналогию между robots.txt и файлами шаблонов css, так как в этом файле задаются глобальные правила индексации, а для отдельных страниц существуют специальные теги, но об этом немного позже. Правила составления и синтаксис Существуют как общие правила синтаксиса и директивы, так и некоторые уникальные команды понятные для роботов, только определенных поисковых систем. В общем виде директивы в файле robots.txt имеют следующий вид: <поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел> Правила синтаксиса жесткие, как и правило того, что файл robots.txt должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл robots.txt предполагает разрешение на индексирование всего сайта, точно так же происходит, если поисковый робот увидел ошибки в файле. Disallow - понятная всем без исключения ботам команда, запрещающая индексировать ту или иную директорию сайта (файл,группу файлов), будет рассмотрена ниже. Директива User-agent указывает, на то какому именно роботу относятся нижеследующие предписания, директива User-agent: * адресована всем ботам, зашедшим на Ваш сайт. У каждого поискового бота есть свое уникальное системное имя. Здесь я приведу список наиболее часто встречаемых поисковых роботов, самых известных поисковиков: Google http://www.google.com Googlebot Yahoo! http://www.yahoo.com Slurp (или Yahoo! Slurp) AOL http://www.aol.com Slurp MSN http://www.msn.com MSNBot Live http://www.live.com MSNBot Ask http://www.ask.com Teoma AltaVista http://www.altavista.com Scooter Alexa http://www.alexa.com ia_archiver Lycos http://www.lycos.com Lycos Яндекс http://www.ya.ru Yandex Рамблер http://www.rambler.ru StackRambler Мэйл.ру http://mail.ru Mail.Ru Aport http://www.aport.ru Aport Вебальта http://www.webalta.ru WebAlta (WebAlta Crawler/2.0) Итак, например, код User-agent: Slurp Crawl-delay: 100 Задает поисковому роботу Yahoo минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей, что на больших порталах и форумах позволяет снимать излишнюю нагрузку на сервер. У крупных поисковых систем имеются также отдельные боты для индексирования новостей, картинок, блогов и т.д., что позволяет производить еще более тонкую настройку. Параметры команды Disallow, как Вы, наверное, уже поняли задаются в виде масок, для лучшего восприятия я предлагаю рассмотреть несколько простейших примеров: 1. Приведенный ниже код для файла robots.txt разрешает всем поисковым ботам индексировать весь сайт. Это задается пустой директивой Disallow, (т.е. как я уже говорил Disallow - означает запрет, а если ничего не запрещено, то все можно :-) ). User-agent: * Disallow: 2. Следующий код, напротив, запрещает всем поисковикам индексировать сайт. Устанавливает это директива Disallow с «/» в поле значения (т.е. запрещается к индексации все, что находится в каталоге сайта). User-agent: * Disallow: / 3. Такая директива будет запрещать всем поисковикам индексировать содержимое каталога /index/ (http://vash_site.ru/index/ — путь к этому каталогу) User-agent: * Disallow: /index/ 4. Теперь обратите внимание, так как такие ошибки встречаются часто. В следующем примере, для индексирования будут запрещены директория «index» и все файлы и директории, начинающиеся с символами «index», т. е. файлы: «index.htm», «index.html», папки: «index», «indexation», «index123». User-agent: * Disallow: /index 5. Также при написании масок файлов и папок можно использовать символы '*' и '$'. Символ '*' означает любую (в том числе пустую) последовательность символов, '$'- любой символ. Например, для запрета индексации всех файлов с расширением «.aspx»: User-agent: * Disallow: *.aspx 6. Можно использовать связку Allow-Disallow для вкляючения в индекс контента в закрытых для индексации каталогах. Например в следующем примере, будет открыта для индексации лишь одна директория "forindex" из всех, что находятся в папке "img": User-agent: * Disallow: /img/ Allow: /img/forindex/ Еще одна общая директива для всех поисковиков это sitemap. Указывает путь, где находится карта сайта в формате .xml. Пример: Sitemap: http://vash_site.ru/sitemap.xml В качестве частных команд приведу пример директивы Host, позволяющей задать главное зеркало сайта для Яндекса. Вообще строго говоря, директива Host используется и некоторыми другими поисковиками и теоретически ее можно писать в основном разделе и те боты, которым она не понятна, должны ее попросту пропустить. Но рекомендацию адресовать директиву Host для Yandex я нашел как на ресурсе, который посвящен robots.txt (http://robotstxt.org.ru/) так и в документации самого Яндекса. User-agent: Yandex Disallow: Host: www.vash_site.ru Как Вы видите, обязательное условие, наличия хотя бы одной директивы Disallow выполняется. Более подробно ознакомиться с названиями всех ботов, списком уникальных директив и рекомендациями по оформлению robots.txt можно, зарегистрировавшись в панели веб-мастеров, соответствующего поисковика. Так например, тот же Яндекс рекомендует, отдельно приводить ограничения для себя (User-Agent: Yandex ). Поэтому часто можно встретить в robots.txt дублирование ограничений (сначала для User-Agent: * , а потом для User-Agent: Yandex). Мета-тег Robots Существует способ сообщить роботам поисковиков о том, можно ли индексировать данную конкретную страницу или нет. Для этого внутри тега «HEAD» нужной страницы, прописывается meta-tag "Robots”, но так нужно делать для всех страниц, к которым нужно применить то или иное правило индексации. Пример применения мета-тега:
... Эта страница закрыта для индексации (noindex в мета-теге) и анализе размещенных на ней ссылок (об этом говорит nofollow) . Существуют только две пары директив: [no]index и [no]follow. Index указывают, может ли робот индексировать страницу. Follow — может ли он следовать по ссылкам со страницы. Значения по умолчанию – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обеих директив или, соответственно, наоборот: all=index,follow и none=noindex,nofollow. Использование тегов удобно, например, если у Вас на сайте есть страница которую поисковики могут расценить, как линкопомойку. Примеры оптимальных robots.txt Ниже я приведу, которые на мой взгляд являются оптимальными для сайтов Joomla и блога Wordpress. С рекомендуемыми robots.txt вы всегда можете ознакомиться на сайтах разработчиков. Для Joomla: User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Host: vash_sait.ru Sitemap: http://vash_sait.ru/sitemap.xml Где Host, Ваш предпочтительный вариант, а http://vash_sait.ru/sitemap.xml - путь к карте сайта. В отличии от рекомендуемого разработчиками, я рекомендую открыть для индексации директорию "images", особенно если Вы используете уникальные картинки. Как видите, закрыты для роботов системные папки, кеш, временные файлы. Для Wordpress моим оптимальным вариантом является следующий: User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Аналогично, как и в первом примере можно добавить директивы отдельно для Яндекса. Как видите, с robots.txt не все так прозрачно и однозначно. Мне даже доводилось слышать, что robots.txt имеет рекомендательный характер и часто запрещенные страницы все-равно залазят в индекс. С моей точки зрения и исходя из имеющегося опыта, директивы robots.txt, либо работают, либо нет и третьего не дано! Можно сразу проверить правильность работы robots.txt в любой панеле веб-мастеров узнав разрешена ли индексация конкретно взятой страницы или нет.
Источник: http://webmaestro.in.ua |