Robots.txt - гибкая настройка

Robots.txt

Один из самых недооцениваемых файлов в друпале robots.txt. Некоторые недооценивают его по незнанию. Другие пренебрегают им из за его мнимой незначительности. Прежде, чем описывать множество параметров, которые можно внести в файл, стоит заметить, что перед тем как, что то изменять в стандартном файле - стоит понять к чему это приведёт. Наличие или отсутствие тех или иных модулей может привести к различным последствиям. И пытаясь добиться от файла максимально-положительного эффекта для сайта подразумевается, что на сайте уже установлены модули, которые обычно вносят в группу SEO-модули, как Pathauto и Globalredirect. Так как именно при настроенных синонимах стоит, например, убирать дубли из индекса.

Данная статья опирается уже на то, что опубликовано в интернете и поиск в Яндексе или Google выдаст достаточное количество сайтов вкоторых будут описаны все директивы поддерживыемые тем или иным поисковиком. Например http://help.yandex.ru/webmaster/?id=996567. Настоятельно рекомендую ознакомится с данной ссылкой и в частности с пунктом: Использование директив Disallow и Allow.

Но перейдём к правильно настроенному файлу robots.txt

User-agent: *
Crawl-delay: 10  # задает таймаут в 10 секунд

# Files
Disallow: /cron.php
Disallow: /install.php
Disallow: /update.php
Disallow: /xmlrpc.php
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
Disallow: /admin/
Disallow: /comment/
Disallow: /comment/reply/
Disallow: *comment*
Disallow: /filter/tips/
Disallow: /node/add/
Disallow: /node/
Disallow: /search/
Disallow: /logout/
Disallow: /user/
Disallow: /user/register/
Disallow: /user/login/
Disallow: /user/password/
Disallow: *register*
Disallow: *login*
Disallow: /profile
Disallow: /profile/*
Disallow: /taxonomy/term*/feed
Disallow: /book/export/html
Disallow: /print/node/
Disallow: /archive/
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*
Sitemap: http://drupalim.ru/sitemap.xml

User-agent: Yandex
Host: drupalim.ru

User-agent: MSNBot
Disallow: /
User-agent: Slurp
Disallow: /
User-agent: SolomonoBot
Disallow: /

Давайте разберём по частям

User-agent: *

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

Crawl-delay: 10  # задает таймаут в 10 секунд

Многие опытные программисты считают, что значение 10 это значение в миллисекундах. Это не так. Числовое значение - значение в секундах и призывает поисковики не делать запросы к сайту чаще чем в 10 секунд. Что бы сервер мог оправится. В ином случае Яндекс спокойно может обратится к 500 страницам вашего сайта единовременно и положить сервак и все сайты на нём. Стоит понимать, что на новом сайте с 10-20 страничками приказ Crawl-delay мало нужен, либо нужен с другим параметром, например 1. А вот сайтам, которые существуют годами и имеющие сотни и тысячи материалов и тегов данный приказ поможет справится с нагрузкой. Помощь от Яндекса http://help.yandex.ru/webmaster/?id=1022359

# Files
Disallow: /cron.php
Disallow: /install.php
Disallow: /update.php
Disallow: /xmlrpc.php

Системные файлы, которым в индексе делать нечего. Вообще крон.пхп до версии Друпала 7.0 стоит переименовывать. Слишком частый вызов крона может привести к медленной работе проекта. Вызов крона может быть и сознательно неправильный. От седьмой версии друпала крон защищён системой. И для его вызова нужен ключ.

# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
Disallow: /admin/

Системные папки. То же самое. В индексе админке и системе сайта делать нечего.

Disallow: /comment/
Disallow: /comment/reply/
Disallow: *comment*
Disallow: /filter/tips/

/comment/ Запрещает к индексацию всё что начинается с каментов, например вот такой урл http://drupalim.ru/comment/5#comment-5. Тем самым мы избегаем индексирование дублей. Если на вашей странице 300 комментариев, то так можно избежать трёхсот дублей. Для молодых сайтов с каментами отсутствие этой строчке в роботсе зачастую приводит к фильтрам в поисковых системах. Которые снять не так уж и просто. Есть живые примеры. /comment/reply/ в данном случае уже не нужен, так как он уже запрещён к индексации строчкой выше. Приведён чисто для примера. Убирает от индексации формы ответа на уже имеющиеся комментарии. Например вот этот http://drupalim.ru/comment/reply/6/5. Как вариант можно исключить *comment* из индекса, тогда будут исключены любые урлы в которых будет встречаться comment. На некоторых сайтах, где критерии сортировки настраиваются с помощью комментариев это очень важно. /filter/tips/ тоже относятся к хламу, который создаётся модулем comment. Это подсказки редактирования. Никакой полезной информации ни для посетителей, ни для индекса данная страница не несёт.

Disallow: /node/add/
Disallow: /node/

Урл добавления материалов /node/add/ является системным урлом и будет только захламлять индекс. А вот запрет к индексации /node/ может привести к выпадению сайта, если у вас урлы нод используют этот синоним. На данном сайте /node/ нигде не используются. И урлы генерируются с использованием модуля pathauto.

Disallow: /search/
Disallow: /logout/

Здесь всё просто /search/ запрещает результаты поиска на сайте, что и рекомендуется всеми поисковиками. /logout/ удаляет из индекса системную страницу сайта.

Disallow: /user/
Disallow: /user/register/
Disallow: /user/login/
Disallow: /user/password/
Disallow: *register*
Disallow: *login*
Disallow: /profile
Disallow: /profile/*

Данные приказы помогают удалить из индекса мусорные страницы, которые могут возникнуть на сайте, где разрешены к индексации профили пользователей, а так же урлы связанные с регистрацией. Если первые 4 строчки очевидны и так же то, что первая из них делает последующие ненужными так же понятно. *register* и *login* помогают справится с мусором, который генерируется при сквозном урле навигации на не корректно сделанных шаблонах. И что не всегда сразу очевидно.

Disallow: /taxonomy/term*/feed

Убирает фиды таксономии из индекса.

Disallow: /book/export/html
Disallow: /print/node/
Disallow: /archive/
Disallow: /*votesupdown
Disallow: /*calendar

Различные модули, генерируют различные урлы. Например рецепт отбивной из курицы создаёт удобную принт-версию http://www.rezepty.ru/print/node/2356, на которой почти отсутствует код и который легко и удобно входит в индекс создавая дубли. Дубли генерируются модулями book, archive, calendar и многими другими. Имеет смысл проверять все те модули, которые вы устанавливаете на сайте и что именно они создают на сайте.

Disallow: /*index.php

Данной страницы нет на друпалах, однако иногда они не смотря на это встречаются в индексах

Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*

В трекере и видах можно сортировать материал. Например в магазине по цене. В зависимости от критериев, страниц сортировки может быть множество. Что не очень хорошо влияет на ранжирование сайта.

Sitemap: http://drupalim.ru/sitemap.xml

Урл на карту сайта для поисковиков.

User-agent: Yandex
Host: drupalim.ru

Специально для Яндекса однозначное написание нашего сайта в директиве host.

User-agent: MSNBot
Disallow: /
User-agent: Slurp
Disallow: /
User-agent: SolomonoBot
Disallow: /

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

Это основные принципы составление robots.txt в примерах. Который должен пояснить в примере использование и принципы работы robots.txt.
И ещё раз:

Disallow: *register*
Disallow: *login*
Disallow: *comment*
Disallow: /*section
Disallow: /*order
Disallow: /*calendar

Если у вас присутствую данные строчки, то из индекса удаляются все урлы, например нод, в которых будут встречаться данные слова.
А если мы используем Disallow: /comment/, то Disallow: /comment/reply/ нам абсолютно не нужен, так как это получается масло маслянное. А если мы используем *comment*, то можно забыть и про обе верхних.

Комментарии

> /filter/tips/ тоже относятся к хламу, который создаётся модулем comment
Оно генерируется модулем Filter.

Андрей Борисович, каким модулем реализовали всплывающую увеличенную картинку при клике на нее?

Аватар пользователя andron13

http://drupal.org/project/fancybox

Скажите пожалуйста, а при запрете терминов таксономии (Disallow: /taxonomy/term*/feed) теги с человеческими урлами не повылетают из индекса?

P.S.: за ответом обязательно загляну. Завтра - это точно. ))

Аватар пользователя andron13

не должны. ;)

Доброго времени суток!
Будьте добры, надоумьте.
На сайте около пол сотни страниц такого вида:
/priroda?page=1
/priroda/zhivotnye/mlekopitayushchie?page=1
/obshchestvo/politika/rossiya?page=1
Как убрать пагинацию или как там (?page=1, 2, 3. , . )
правильно это называется из индексации, чтоб не перечислять все страницы, ибо в
роботс.тхт целая статья получится...?
...Disallow: /*? я обозначил, этого мало

Аватар пользователя andron13

звёздочкой.
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*

в вашем случае например *?page*

...спасибо большое за ответ.
...если я правильно понял, то у каждой страницы из сотни нужно отсечь "?page=1".
Просто "?page=1" у всех страниц в конце, и я подумал как бы так, чтоб все стр. не
перечислять...

Аватар пользователя andron13

именно так, если я правильно понимаю, то что написал.

У вас опечатка!
правильно не Disallow: /taxonomy/term*/feed
а Disallow: /taxonomy/term/*/feed

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image