Правильный robots.txt для Друпала с комментариями

  • мая 5, 2011
  • nofollow
Правильный robots.txt для Друпала

Правильный файл robots.txt для Drupal с точки зрения SEO в первую очередь предназначен для борьбы с дублями страниц сайта. Кроме того "правильный" подразумевает в том числе и то, что на сайте установлены и другие "правильные вещи": во-первых, стоит модуль pathauto (который в частности подразумевает включенные "чистые ссылки"), а во-вторых, стоит модуль Global Redirect, предназначенный для автоматической переадресации с "внутридрупаловских" URL (типа node/123) на их синонимы (т.е. URL, сделанные пасавто).

Важно подчеркнуть ещё раз, что если ваш сайт на Друпале, но у него какие-то специфические требования либо не стоят вышеупомянутые модули для автоматического создания синонимов и последующей принудительной переадресации (редиректа) на них, то использование подобного "правильного" robots.txt может привести к не желательным результатам. Это значит, что все такие вещи нужно применять с пониманием сути.

С другой стороны, если вы действительно хотите получить максимум "сео-эффекта" и сделали всё верно - не пытайтесь "улучшать" подобные "правильные" роботы, опять же, чётко не понимая смысла своих действий, т.к. даже перестановка (изменение последовательности) директив может привести к вылету из индекса сайта или его части.

Drupal robots.txt

Далее не такой уж и длинный набор директив правильного роботс.тхт.

User-agent: *
Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/
Disallow: /updates/
Disallow: /profiles/
Disallow: /xmlrpc.php
Disallow: /cron.php
Disallow: /update.php
Disallow: /install.php
Disallow: /index.php
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/

Disallow: /your-votes
Disallow: /comments/recent
Sitemap: http://noindex.by/sitemap.xml
Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/
Disallow: /taxonomy/term/*/0$
Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$

Disallow: /*downloadpipe
Disallow: /node$
Disallow: /node/*/track$

Disallow: /*&
Disallow: /*%

Disallow: /*?page=0
Allow: /*?page=
Disallow: /*?
Host:
noindex.by

Комментарии в robots.txt

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

Стандартные "официальные" директивы robots.txt от разработчиков Drupal

Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/

Запрещаются к индексации стандартные директории Друпала, где лежат файлы движка (а не контент).

Потому, кстати, важно "не додуматься" назвать такими именами типы контента на сайте с последующей настройкой под него синонимов в pathauto, которые подпадут под эти же правила и будут исключены из индексации.

Отдельно стоит сказать про "Disallow: /sites/". По умолчанию в Друпале путь сохранения всех файлов-картинок-итп ("Настройка - Файловая система") указан как "sites/defaults/files". Мне кажется это не удобным и не логичным, потому я "по умолчанию" переделываю его на "более понятный" просто "files" (т.е. чтобы каталог жил в корне сайта, а не прятался "трижды внутри", создавая проблемы при бэкапах и апгрейдах). Если вы не изменяете дефолтный каталог, то указание директивы "Disallow: /sites/" приведёт к запрету индексации всех файлов (в т.ч. картинок, обычно там живущих) на сайте.

Потому либо измените дефолтный путь для файлов, либо исключите строчку "Disallow: /sites/".

Артефакты в виде текстовых файлов, рекомендуемых в официальной версии к запрещению:

Disallow: /CHANGELOG.txt
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /UPGRADE.txt

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

Disallow: /updates/
Disallow: /profiles/

Честно признаюсь, не все правила помню "откуда взялись". Как и эти папки. За пяток лет эксплуатации различных друпалов и всевозможных модулей - понабиралось подобного. Оно никак не влияет в "обычном" случае и добавлено в какой-то реальной ситуации, возможно было в старых версиях (как самого друпала так и по работе различных модулей). Короче, я доверяю "себе тогдашнему" и оставляю подобные правила в качестве "правильных".

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

Запрет стандартных php-файлов движка. Если у вас на сайте нет (и не предполагается) других php-файлов - проще (и правильней) использовать вместо этой группы лишь одну директиву:

Disallow: /*.php$

Далее идёт очень важная директива:

Disallow: /index.php

Она убивает все полчища потенциальных дублей (и не только главной страницы). И важно напомнить, что таким образом различные /index.php?title=... тоже будут запрещены.

Далее запрещаем индексирование друпаловской админки сайта:

Disallow: /admin/

Теоретически она и не должна индексироваться (ведь роботы ПС не имеют админского доступа), но практически лучше и "не давать повода".

Запрет индексации формы ответа на комментарий

Disallow: /comment/reply/

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

Далее запрет формы контактов:

Disallow: /contact/

Запрет кнопки "Выйти" ("разлогинивания"):

Disallow: /logout/

Запрет поиска по сайту

Также (важно) запрет индексации результатов поиска по сайту:

Disallow: /search/

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

Регистрация, пароли, явки, логины

Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/

Всё запрещаем - ни к чему это, кажующаяся "дополнительной" страница в индексе, если подумаете, является дубликатом тысяч (если не миллионов) других таких же (ведь её контент одинаков для всех сайтов на таком же движке). А дубли страниц, даже (или тем более) не своих - зло.

"Не официальные" директивы "правильного" robots.txt для Друпала

Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/

Disallow: /your-votes
Disallow: /comments/recent

Большинство их порождено в результате эксплуатации всевозможных модулей, о которых можно уже судить просто из названия. Чаще всего по ним совершенно бессмысленная или просто дублированная информация.

comments/recent

Отдельно стоит сказать разве только про:

Disallow: /comments/recent

Несмотря на то, что это заведомо дублированный контент - лента последних комментариев (аналого трэкера, только не для нод, а для комментов) - стал замечать, что поисковикам "упорно нравятся" некоторые страницы с неё. Потому в последнее время я не использую данную директиву на некоторых сайтах (например, как и здесь - 64 страницы /comments/recent в Яндексе и 57 в Гугле). Хотя трафик на них стремится к нулю (единицы уников в месяц, т.е. сотые процента), но, таки, он положительный.

Однако убирать данную директиву нужно с чётким пониманием и уверенностью, что сайт не загремит под АГС.

Карта сайта

Sitemap - он и в Рамблере сайтмэп:

Sitemap: http://noindex.by/sitemap.xml

Нонче расположение этой директивы поисковики пожирают где угодно (в файле robots.txt), однако к роботам я подхожу максимально консервативно, потому располагаю её "как полагается" - в основном блоке директив "User-agent: *", чего и вам советую.

Запрет страниц-результатов каких-то операций (редактирования и пр.):

Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/

Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$

Таксономия

Запрет так называемого "полного списка" таксономии, который отдаётся по "/0" и в случае одного элемента в списке (что очень часто) - получаем полный дубль)

Disallow: /taxonomy/term/*/0$

Часто(-ще) я полностью запрещаю таксономию:

Disallow: /taxonomy/

Рассчитывая на то, что для всех её словарей-терминов настроены и присутствуют синонимы (потому незачем плодить дубли). Однако если у вас не все термины имеют синонимы, то вы "зря" запретите такие разделы сайта.

С другой стороны, данные урлы таксономии - одна из потенциальных причин попадания под АГС, т.к. это всё тот же контент (а значит, в разной степени, но дубликат). Потому если вы не уверены - лучше использовать директиву полного запрета таксономии (Disallow: /taxonomy/).

Экзотика

Disallow: /*downloadpipe

Из разряда "как-то было". Появлялись подобные вещи в индексе, возможно из-за каких-то программ-качальщиков, не знаю, оставил - старая директива роботов не испортит.

Node

Сложный вопрос с "нодами". В "щадящей" конфигурации это вышеприведённое:

Disallow: /node$
Disallow: /node/*/track$

Которое запрещает явный дубль (/node), однако оставляет все другие урлы типа node/123. В то время, как по идее, Global Redirect должен их средиректить на свои синонимы. Потому "правильным" в общем случае будет другой вариант:

Disallow: /node$
Disallow: /node/

"Просто "Disallow: /node" не подходит, т.к. запретит и, например, "/nodewords", потому используется две директивы.

Однако, как показала практика (особенно на больших-старых сайтах), по разным причинам не у всех нод есть синонимым и в случае подобного "запрета нод" данных материалов в индексе не будет.

Тут уж решение нужно принимать самостоятельно, в общем случае, опять же, дабы не искушать АГС - лучше все ноди похерить (с помощью "Disallow: /node/").

"Заумно-правильные" команды

Disallow: /*%
Disallow: /*&
Disallow: /*?page=0
Allow: /*?page=
Disallow: /*?

Эта сложная и, видимо, не всем понятная конструкция - достаточно важна (часто - очень).

Первая директива ("Disallow: /*%") убивает все "хитрые" артефакты вроде недавнего примера с дублями от комментариев в Google. Однако также (и это для многих критически важно или даже опасно) - убьёт все урлы с кириллицей.

Будучи одним из первопроходцев кириллических урлов (в своё время переделал движок друпала под них ещё до введения корректного русского i18 под тогда свежий пятый друпал) - нахлебался с кириллицей и нонче её жестоко изничтожаю как источник постоянных проблем.

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

Далее последовательность директив, которую нельзя менять:

Disallow: /*&
Disallow: /*?page=0
Allow: /*?page=
Disallow: /*?

Они направлены на то, чтобы зафильтровать все урлы с параметрами, т.е. которые имеют в своём составе "?" и/или "&", а чтобы под данное правило не попал (единственный) "полезный" параметр пэйджера ("page=xxx"), то для этого добавляется директива Allow.

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

# Disallow all URL variables except for page
Disallow: /*?
Allow: /*?page=
Disallow: /*?page=*&*
Disallow: /*?page=0*

Однако она если и "прокатит" для Google, то Яндекс её воспримет с противоположным результатом, т.к. по его правилам главным условием, под которое подпадает урл - является первая директива по порядку их следования в файле robots.txt. И по первой директиве - всё будет похерено, т.е. до последующих инструкций ("Allow: /*?page=" и т.д.) дело не дойдёт.

Update: Яндекс изменил правила понимания директив robots.txt и теперь они учитывают не порядок следования в файле robots.txt, а длину урла директивы. Потому последовательность уже не важна. При этом правила работы кода не изменились.

Host для Яндекса

Host: noindex.by

Данная директива должна (желательно) располагаться самой последней в блоке - тогда избежите потенциальных проблем с тем, что её "знают" лишь Яндекс+Рамблер. Точней, вполне логично предположить, что, конечно же, её "знают" и другие поисковики, однако "не должны" учитывать. Но дабы соблюдать линию "максимальной консервативности", которая является сутью robots.txt - лучше писать в конце. /* Не забудьте прописать в ней именно свой домен. */

Итого

Не уверен - не меняй. Не знаешь - не используй. Всё это - про роботс.тхт, том числе и для Друпала.

Правила "по дефолту" в robots.txt для Drupal весьма далеки от "идеала" и при должном уровне знаний, действительно, можно получить хороший SEO-эффект, однако возможна и противоположная ситуация при желании "улучшить не понимая".

 

п.с. Видео по теме "пошукових роботив" и конкретно "Що таке роботс-крапка-тэикстэ?" (почти стихи вiршi)

Комментарии

Так а почему просто не удалить некоторые из этих файлов:

CHANGELOG.txt
INSTALL.mysql.txt
INSTALL.pgsql.txt
INSTALL.txt
LICENSE.txt
MAINTAINERS.txt
UPGRADE.txt

Верно, Кэп!

Артефакты в виде текстовых файлов, рекомендуемых в официальной версии к запрещению: "CHANGELOG.txt, INSTALL.mysql.txt, INSTALL.pgsql.txt, INSTALL.txt, LICENSE.txt, MAINTAINERS.txt, UPGRADE.txt" - лучше просто удалить, дабы не загромождали пространство, съедая лишние килобайты на диске и в трафике. Потому в правильном роботе их просто нет (т.к. я их всегда удаляю, а при обновлении друпала - не копирую).

п.с. И не "некоторые", а все.

А если у меня boost создает в корне папку cache - стоит ли ее тоже запретить в роботсе?

Нельзя сказать, что это "сверхпринципиально", но я всегда добавляю подобные правила - бережёного роботс бережёт. То есть да - я бы посоветовал запретить её в robots.txt.

Лучшая статья на тему того, как писать robots.txt под друпал, всё чётко и понятно, спасибо.

Не знал, что на Друпале у роботс.тхт столько значений. Спасибо за полезную информацию.

Большое спасибо за "наводку" на модуль Global Redirect! :)

Большое спасибо за статью! Как раз мучался с кучей мусора в индексе.

Роман, здравствуйте!
Спасибо за статьи - чувствуется большой личный опыт! И написано хорошо!

Но у меня все равно остались вопросы по улучшению файла robots.txt. Я просмотрела многие подобные рекомендации для Друпала и нигде, кроме как у вас, не указывается, что необходимо запретить для индексации index.php. Это на самом деле принципиально? Просто я не оч.поняла, почему?

У вас прописано:

Disallow: /database/
Disallow: /sites/

В моем - исходном файле robots.txt это отсутствует. В папке sites хранятся картинки. Их тоже лучше закрыть?

Еще вопрос - вы не пишите, нужно ли создавать отдельный User-agent: для Яндекса. А некоторые пишут, что это очень важно. Нужно или нет?

И еще (не знаю, важно это или нет, на первый взгляд кажется мелочью), нужно ли ставить перед Host: noindex.by префикс www и то же - по поводу sitemap.

В качестве лирического отступления, была бы рада, если бы вы также подробно описали, как правильно настраивать Global redirect.

Заранее спасибо за ответы!

Мои извинения за запоздалый ответ, но лучше позже, чем как обычно.

По поводу запрета к индексации index.php

Простой пример, сравните урлы http://noindex.by/ и http://noindex.by/index.php - выглядят одинаково? Конечно одинаково, ведь это "одно и то же". И/или, продолжу мысль - сие есть дубли. Что делают с дублями - запрещают.

Это "не слишком принципиально" и требует понимания сути. Если боитесь - не запрещайте, разбираетесь и знаете, что делаете - смело запрещайте.

По поводу запрета /sites/

Да, моя промашка, исправил в статье. На автомате переношу папку для файлов в корень (потому и проблемы с запретом на индексацию картинок нет по определению), а друпаловелоперов, придумавших "прятать" такую важную папку - нужно приговорить к пожизненному цику с гвоздями переходу на вордпресс.

По поводу юзер-агента для Яндекса

Это не есть важно (в плане "жизненно"). Миф об этом пришёл из тех времён, когда Яндекс ещё сильно отличался своими стандартами, а нонче он его можно даже "прикупить на насдаке", так что про это (использование "отдельного" юзер-агента под Яндекс) можно забыть. Мало того, не удивлюсь, если Яндекс в подобных записях будет подозревать какие-нибудь попытки клоакинга, потому блок директив "User-agent: Yandex" - на свалку вебистории.

По поводу www и sitemap

Упарился я писать "про www". А нонче, когда даже в Яндексе можно в админке указать www/без - тема вообще должна быть забыта.

Касаемо же (не)указания www в сайтмэпе , то тут как раз строго - если Google/Яндекс "воспринимают" ваш сайт как www-вариант (показывается в выдаче www.домен) - значит и в sitemap все урлы должны быть с www. Если без - и в sitemap.xml - без. Иначе получите ошибки в гуглоадминке (напротив вашего sitemap).

п.с. Глобал Редирект разберу в отдельной статье.

Как запретить индексацию регистрации и войти? Прописал в роботс:

Disallow: /user

Все равно попало в индекс Google.

Придётся обождать, иногда долго.

Уважаемый админ сайта!

Помогите решить проблему с удалением страницы www.site.ru/?page_id=1 из админки Google. Проблема в том что Google начинает удалять сайт www.site.ru. Другими словами он ассоциирует данную страницу с сайтом. Страница попала в индекс так как кто-то не корректно указал ссылку на мой сайт. CMS Joomla. В роботе от индексации закрыл, но страница по прежнему в поиске и уже давно.

Можно поставить переадресацию, например, на главную, это "ускорит" Google и не даст "пропасть" ссылке - внешней, что стоит (которая была ошибочно поставлена) на данный url.

Золотая статья.

Но, хотелось бы узнать. Принимают ли картинки с Вашего сайта участие в поиске? Думаю, они не индексируются Гуглом, так как директива /sites/ закрыта.

Индексируются. Но замечание правильное - исправлено.

Наверное стоит так же добавить:

Disallow: /filter/tips

(подсказки по редактированию)

Странно, у меня проиндексировался /comment/reply/18, хоть и в ROBOTS.TXT прописано:

Disallow: /comment/reply/

По /filter/tips - дельное замечание, стоит добавить (незачем плодить неоригинальный контекст, добавлю в "следующей версии").
По появлению в индексе /comment/reply/18 при /comment/reply/ - обычное дело, тов. Гугл забивает на роботы частенько. Приходится ждать, иногда очень долго.

Подскажите как запретить к индексации ссылки с депозитфайла, литебит, ну и т.д., которые идут после материала?

Заранее благодарю за ответ!

Очень просто:

Disallow: /*начало-кода-от-депозитфайла
Disallow: /*
начало-кода-от-летитбита

...начало - до "изменяющейся" части.

Спасибище за статью!
Хочу спросить насчет этой конструкции:

Disallow: /*&
Disallow: /*?page=0
Allow: /*?page=
Disallow: /*?

Сейчас у Яндекса в хелпе по роботсу написано:

"Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то выбирается последняя в порядке появления в сортированном списке. Таким образом порядок следования директив в файле robots.txt не влияет на использование их роботом."

Так будет ли работать конструкция так, как раньше? Ведь Allow переедет на вторую строчку, а последний Disallow наверх...

Да, всё в силе, я в курсе про "нововведение" (очень, кстати, правильное), но написанный код работает в новых правилах.

Посмотрите внимательней, нам нужно запретить все урлы с "?" (со знаком вопроса), но при этом "не тронуть" адресов, "нормально" генерируемых пейджером (т.к. которые c ?page=), за исключением дубля в виде "нулевой" страницы. Самый длинный урл у нас - /*?page=0 - он запретит "нулевой дубль". После по длине "отработает" /*?page=, который разрешит все странице пейджера (кроме ранее запрещённого нулевого). Ну, а всё остальное (все урлы с вопросами) - будет прибито (как и задумывалось) директивой Disallow: /*?.

Всё чётко. У Яндекса. Чего не скажешь о Google. Но в свете его искренней любови вообще забивать на роботы... В общем, это уже совсем другая история...

Большое Вам спасибо за проделанную работу. Долгое время борюсь с дублированным контентом на сайте, и вот только сегодня встретил просто бесценную статью, которой даже нет аналогов в интернете! Браво!

Огромное! От души! Спасибо за статью!

Согласен! Статья на уровне!

Есть сайт на Друпал - ему два года. Поначалу сайт хорошо индексировался в Яндекс. Потом резко пропал.
Я грешил на свои косяки, так как полазил в роботе и что-то там прописал-а потом забыл напрочь. А тут глянул 4 страницы в поиске! Снова забил.

Сейчас основной сайт перенесли на друпал и в связи с тем, что я занимаюсь именно сео, стал изучать тему сео на Друпал! На старом простом самописном движке всё чётко - число страниц на сайте = числу страничек в поиске.

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

Disallow: /node/add
Disallow: /?q=user/login/

не работает.

А вот с Гуглом обратная история.

И что самое главное приличный трафик с картинок. Ну как, ну почему, действительно, запрятали картинки в папку, которую желательно закрывать от индексации!!!!

Месяц трудов по переносу сайта! - я в панике! Не поленюсь и перенесу все картинки в корень.
Согласен! - такие вещи закапывать - просто значит захоронить свои труды.

Анализировал популярные сайты на Друпал с посещаемостью о 10 000 уников.
И верно - на многих именно так и сделано папочка файлы! Всё чётко.

Я могу тут говорить сейчас бесконечно - так как на эмоциях.

Спасибо за статью!

Ещё раз привет! Недавно писал.

Вникая в веб мастер, все примеры для закрытия или открытия индексации идут без "/" на конце

Пример:

User-agent: Yandex
Disallow: / # блокирует доступ ко всему сайту

User-agent: Yandex # блокирует доступ к страницам
Disallow: /taxonomy #начинающимся с /taxonomy

Смысл в том, что получается запрет как раз действует после "/" !!!!!!!!!

С этими слешами как-то всё не понятно.
Думаю логика тут есть.

Хотя с другой стороны если бы это выглядело так:

User-agent: Yandex
Disallow: /taxonomy/

То вроде и после слеша не прописано, с чего запрещать.

Проанализировав несколько порталов с высокой посещаемостью и высокими доходами - заметил использование именно первого варианта без "/" на конце.

Думаю порталы с униками 150 -200 тысяч в сутки имеют приличные доходы и обслуживаются нехилыми сео специалистами и программистами именно в области друпал.

Логичны вывод на анализе:

1) Яндекс веб мастера - а именно то, что при закрытом к примеру /node/add/ всё это просочилось и скачалось. И это не единственный запрет который скачал робот. При наличии 100 существующих страниц он накачал 500 - в поиске 4 - что даёт чёткое понимание что сайт попал под АГС

2) Анализ авторитарных ресурсов построенных на Друпал показал, что запрет прописывается без "/" на конце и для каждого робота в отдельности. Это говорит о том, что это работает, работает эффективно.


User-agent: Yandex
Allow: /
Disallow: /includes
Disallow: /misc
Disallow: /modules
Disallow: /profiles
Disallow: /scripts
Disallow: /themes # это сайт расчитанный на зону ru

User-agent: *
Allow: /
Disallow: /includes
Disallow: /misc
Disallow: /modules
Disallow: /profiles
Disallow: /scripts

Конечно видел сайты, где всё так как написано у вас - но это крупные новостные порталы с основным трафиком от Гугл.

Как я уже в предыдущем комментарии подметил, что с Гуглом у меня совершенно обратная ситуация. Хотя так же есть лишние страницы в поиске. К сожалению я не работаю с инструментами ГУГЛ, чтобы конкретно, что то сказать. Весь трафик на сайт только из ГУГЛ.

3) А так же рекомендации Яндекса, где не проставляются "/" на конце # из яндекс вебмастер, пример:

User-agent: Yandex
Disallow: / # блокирует доступ ко всему сайту

User-agent: Yandex
Disallow: /cgi-bin # блокирует доступ к страницам
                   #начинающимся с '/cgi-bin'

Очень наглядный пример. На основе выше написанного, хотел бы услышать ваш комментарий.

И небольшое дополнение, говорить о том, что прописывать для Яндекса правило отдельно ушло в прошлое - то полностью не соглашусь.
Поясню. У Яндекса много ботов. И для каждого можно прописать правило.

Я предположил, что если прописываем для YandexBot:

Disallow: /sites/ # запретили к индексации папку для робота

А для 'YandexImages':

Allow: sites/defaults/files # то тут как бы робот индексации картинок может смело индексировать файлы из этой папки.

Это я только посмел предположить, но уверенности ноль, так как только в процессе переваривания информации, потому и общаюсь на форумах.

Больше склоняюсь к совместному использованию директив

# Исходный robots.txt:
User-agent: Yandex
Allow: /
Allow: /catalog/auto
Disallow: /catalog

# Сортированный robots.txt:
User-agent: Yandex
Allow: /
Disallow: /catalog
Allow: /catalog/auto

# запрещает скачивать страницы, начинающиеся с '/catalog',
# но разрешает скачивать страницы, начинающиеся с '/catalog/auto'.

То же что описал я выше, только там для каждого бота отдельно, а тут совместное использование директивы.

Вот вобщем то и всё на данный момент, что хотел сказать.

Можно привести пример из статьи, где сеошник описывает свой опыт противоположный этому и все тоже в восторге от стати при этом наглядно не имея свои собственных успехов, как вобщем то и я.

Но в данном случае мой роботс настроен по вашему примеру и странички выкачены.

Прокомментируйте, пожалуйста.

В качестве эпиграфа
Да, уж, характерный "поток сознания" (двойной поток - в двух постах) всегда и просто и сложно комментировать. Просто - можно отправить курить маны либо свои же статью (в том числе данную). Сложно - понятно, что человеку интересно, однако в голове у него полный бардак, т.к. он открыл для себя нечто новое, пытается найти самые правильные ответы и написать самый лучший robots.txt. В частности - для Друпала.

Вряд ли правильно пытаться подробно отвечать, наверняка вы уже поняли многие моменты и поменяли точку зрения. Потому остановлюсь больше на общих моментах, которые будут полезны другим, кто также осилил дочитать аж до сюда.

robots.txt - Google против Яндекса

Важно понимать различные отношения подхода Яндекса и Гугла к вопросу "роботостроения" (в том числе по отношению к Друпалу). Если говорить "по-простому": Google "забивает" на роботы, Яндекс - их достаточно скурпулёзно "бдит", хоть и с задержкой (как и всё в Яндексе, собственно). Конкретный пример - уже год, как данный сайт переехал на Друпал 7 и страницы с комментами были задизаблены в роботс.тхт:

Disallow: /index.php
Disallow: /node/
Disallow: /admin/
Disallow: /comment/
Disallow: /contact/
Disallow: /logout/
Disallow: /search/

В результате этого проиндексированные пять тысяч страниц в Яндексе через пару месяцев вполне законно вылетели и вот лишь недавно добрался до тысячи в индексе (Яндекса). А вот Гуглу все эти преобразования и запреты в роботах глубоко по барабану - как и год назад он продолжает показывать, что знает про шесть тысяч с копейками страниц в индексе (Google). Причина проста, повторюсь

Гугл "забивает" на роботы, если сервер не отдаёт error 404 по задизабленному в роботах адресу.

А Друпал как раз и не отдаёт по комментам ошибку-404 (это один из тех моментов, которые живут в Друпале с древних версий и за которые хочется *censored* разработчиков, хоть и понятно, что тому причиной, однако от этого не легче). В результате Гугл считает наличие запрещающей директивы ошибкой вебмастера или временным явлением и тупо её игнорирует, т.к. ему легче не выбросить страницы из индекса, а просто пометить их, как запрещённые в robots.txt (что не одно и то же самое).

Да, понятие "игнорирует", конечно, больше жаргонное, т.к. относится к цифрам, выдаваемым поисковиком на команду site:, которая также во многом является "виртуальной". Всё это нужно учитывать и не пытаться опираться на абсолютные цифры, а лишь на их динамику, при этом понимая многочисленные особенности, которые множатся на каждый из апдейтов движка (как Гугла, так и Яндекса).

"/" на конце

Почитайте, погуглояндексите данную тему - это предмет постоянного слэше-холивара. Коротко так: если у вас Друпал - забываем про слэши на конце (в частности, обязательный для любого уважающего себя друпалозаводчика модуль Global Redirect убирает их в принудительном порядке). Ну, а если у вас всякие Вордпрессы сотоварищи - можно ставить хоть пять слэшей в конце.

Оптимизация robots.txt "под все боты"

Коротко - это от "не нужно", до не правильно (много ближе к последнему). Наличие более одного блока директив (т.е. кроме "общего" User-agent: *) должно быть обосновано реальной необходимостью. Например, это специфичные требования рекламодателей или, например, Яндекс.Новости, для интеграции в rss-ленту которого они требуют добавления:

User-agent: Yandex
Allow: /rss/news/newswa.rss

...кстати, нарушающего правила роботописательства, т.к. первой директивой после юзер-агента должна идти Disallow, но это уже мелочи...

Итого: забейте на попытки "тюнинга под каждый бот" - ничего хорошего это не даст. Лучше потратьте это время на... да на что угодно, но не на фигню всякую...

Зацените роботс у кого-то - http://www.carmashin.com/robots.txt )))

Зач0т!

Вот что называется, кто ищет, тот всегда найдет. Давно мучал меня вопрос, будут ли поисковики индексировать то, что нужно, если сказать им Disallow: /node/. Сайт небольшой, все ЧПУ сам прописываю, все боялся, что если запретить ноды, то они ничего вообще индексировать не будут. Значит теперь, когда поставил:

Disallow: /node$
Disallow: /node/

...все будет нормально? ЧПУ и статьи по ним проиндексируются, а все эти /node/152 - потихоньку из индекса выпадут? Это просто замечательно! Огромное спасибо автору за "человекопонятную" статью. :)

С поправкой-добавкой в виде настоятельной рекомендации установки модуля Global Redirect - да, не переживайте, всё будет нормально, в индексе будут все нужные страницы и именно в их "ЧПУ-шном" варианте.

А почему не поставить сразу:

Disallow: /user
Disallow: /?q=user

?

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

Вопрос по поводу:

Disallow: /sites/

Можно ли написать так:

Disallow: /sites/
Allow: /sites/defaults/files

И закрыть доступ к /sites , кроме /sites/defaults/files ?

Да, конечно, отличный вариант для "дефолтого" Друпала (напомню, я просто обычно переношу директорию для файлов из папки /sites - но так удобно мне, не факт, что вам).

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