Про директиву Disallow из robots.txt

Навеяно яростно обсуждавшейся заметкой господина Znayka .

Disallow из robots.txt ( как и гаубица М-30 ) — самая лучшая и старейшая из систем. SEO, правда, но тоже штука массового поражения. На данный момент, это единственный 100%-ый способ закрыть от всех поисковиков линки на сайте. Ибо rel=«nofollow», то ли вообще не работает, то ли работает оригинальным образом, но точно больше не работает так, как раньше. А noindex принимается во внимание не всеми поисковиками (Яндекс — точно понимает, а Google — точно нет).

Чем опасно? robots.txt — самый высоко приоритетный файл для веб краулеров. Изменения в нём учитываются очень быстро. Одно не верное движение — и N тысяч ваших страниц будут выкинуты из поисковых систем. И очень не скоро вернуться обратно, даже после исправления. Особенно в отношении Яндес верно. Google — он пошустрее.

Зачем вообще линки от поисковиков закрывать? Основных причин три:

Во-первых — достоверно известно что, мистический, статический вес страницы(который непосредственно влияет на ранк страницы в поисковой системе) тем больше, чем меньше на ней видимых поисковикам линков. Т.е. убираем линки — поднимаем страницу в поиске. Профит.

Во-вторых — чтобы ускорить скорость индексирования ценного. Краулер заходит на сайт эпизодически и обходит его понемногу. Незачем нам, чтоб он свои заходы на всякую малоценную ерунду тратил. Пусть ходит по тем страницам, которые мы жаждем в поиске увидеть.

Ну и в-третьих — это самый простой способ борьбы с дублированием контента (Duplicate content).

Замечание: Но нужно иметь в виду, что для борьбы с дублированием контента есть и другие, не столь кровожадные методы.

Что стоит, а чего не стоит закрывать с помощью robots.txt в контексте LiveStreet — это тема изрядно субъективная, так что рецепта от всех болезней у меня нет. Но есть личное мнение, и некоторый (не очень приятный местами) опыт, которым и хочу поделиться.

I. Стоит закрыть линки-входы в закрытую (не публичную) часть сайта. Краулеры в закрытую часть сайта все равно не попадут, а по входящим линкам ничего достойного индексирования нет. Для LiveStreet — это /login/ и /registration/.

Замечание: Подобные линки могут появляться в результате использования плагинов. /openid_login/, например.

I.a. Стоит также, на всякий случай, закрыть линки которые однозначно могут существовать только в закрытой части сайта: /feed/, /admin/. По идее, подобные линки вообще не встречаются на странице для не залогиненного пользователя и/или не админа. Но мало ли, какой косяк в шаблоне, разработанном фирмой «Вася Пупкин & co.».

II. Стоит закрыть «технические» страницы. Что-то, на что ценные страницы вашего сайта почти или совсем не ссылаются, и где мало чего ценного для индексирования. В моем понимании, в контексте LiveStreet, примером такого является раздел «Активность», и соответствующий ему /stream/.

III. Стоит закрыть от поисковиков то, что всегда, однозначно и без сомнений будет трактоваться поисковиками как дублирующийся контент. Они это не любят. В LiveStreet это RSS /rss. (Поисковики уже давным давно прекрасно понимают XML, если вы вдруг не знали.)

Замечание: RSS, ещё и из-за «во-вторых» причин использования robots.txt, стоит пустить под нож.

IV. Поиск. Нормальный линк на поиск выглядит примерно так: livestreet.ru/search/topics/?q=%D0%92%D0%B0%D1%81%D1%8F+%D0%9F%D1%83%D0%BF%D0%BA%D0%B8%D0%BD+%D0%B8+co. И такой линк не очень хочется блокировать. Потому, что он может расплодиться в сети, и поднять соответствующую страницу высоко в поисковом ранке. Особенность, однако, заключается в том, что такие линки встречаются на сайте крайне не часто: изредка в тексте заметок и комментариев. Очень изредка. Т.е. на сайте краулер такие линки не найдет. Зато, почти на каждой странице, найдётся несколько «технических», не несущих никакой пользы для индексирования, поисковых линков:
livestreet.ru/search/
livestreet.ru/search/topics/
livestreet.ru/search/opensearch/
Стандартное лекарство: /search/ в robots.txt — редкие «правильные» линки тоже пострадают, но не велика потеря, ибо их очень мало. Однако, можно действовать тоньше и закрыть только гадость:
/search/$
/search/topics/$
/search/opensearch/$

Замечание: Такие конструкции c $ (и с *) не соответствует базовому стандарту robots.txt, но и Яндекс и Google уже давно понимают.

V. НЕ стоит закрывать облако тегов /tag/. Теги, во-первых, сильно способствуют внутренней перелинковке ( линки на теги, у нас же, вокруг любой заметки ). Во-вторых теги имеют вирусную природу, в гораздо большей степени, чем поиск: поиск же надо открыть, набрать там что-то. А теги вот они — кликнул, и вуаля.

Замечание: Много споров вокруг закрытия облака тегов потому, что они же частенько порождают проблему дублирующегося контента. Тема такая есть, но решать её с помощью Disallow это слишком кардинальный метод в стиле «Виноват один — расстрелять всех, на всякий случай»

VI. НЕ стоит закрывать пользователей /profile/. Опять же перелинковка. Потом люди у себя в профайлах такое пишут иногда, что вполне достойно индексирования. Ну и напоследок — успешные авторы/редакторы могут двигать ваш сайт своим именем похлеще статей. У нас, собственно, такой пример есть.

VII. CSS-ы. Google мягко намекает, что делать это незачем: www.youtube.com/watch?v=PNEipHjsEPU. Однако, существует несколько недоказанных утверждений связанных с CSS:
  • Поисковики могут счесть некоторые стили крамолой и наказать за это: «Например, Вы сделали бледно-серые буквы на белом фоне и они плохо видны — может повлечь за собой санкции. Далее Вы в стиле для H2 прописали размер больше, чем для H1, что также противоречит нормам.» ©
  • запрет на индексацию CSS файлов ускоряет индексацию самого сайта
Правда всё это или нет — вопрос открытый, но я лично скорее верю, чем нет. Правильный способ закрыть их: /*.css$

Замечание: Имейте ввиду, что часто встречающийся вариант "/css/" может не закрыть их все. У LiveStreet полно css из других директорий, которые могут вылезти, в зависимости от конфигурации или особенностей шаблонов от «Вася Пупкин & co.»

VIII. JS-ы. Да, они могут быть проблемным источником не нужных линков, но блокировать я бы их не стал из боязливых соображений :). Много всякого черного SEO связанно с JavaScript, и его блокировка в robots.txt, на мой взгляд, очень подозрительна. Но если сильно хотите — способ тот же, что и с CSS.

IX. Всякая хрень, которая всплывает непонятно откуда, и оставляет за собой грязные следы в виде «404 в Webmaster Tools». Такое вот, например: livestreet.ru/blog/questions/13601.html. Такое, однозначно, надо душить на корню. Способ тот же что и с поиском.

На этом, пожалуй, всё. Буду благодарен за любые интересные идеи по теме.

P.S. Если сомневаетесь, что все эти эксперименты где-то реально запущены — можете убедиться сами: robots.txt

34 комментария

avatar
Автор сравнивает rel=«nofollow» и директиву Disallow в robots.txt. Это совершенно разные вещи.

А так, согласен с автором, что надо закрыть, а что нет.

На примере этого топика:
— Полный текст топика (все, что после cut) доступен только по 1-й ссылке — livestreet.ru/blog/seo/13579.html.
— До ката у есть ссылка на заметку господина Znayka — livestreet.ru/blog/seo/13548.html.
— В итоге вы получили на этот топик, на блог и на заметку господина Znayka минимум по 4 ссылки из тегов, 1 ссылку из профиля автора, и одну ссылку из моего профиля, т.к. я оставил комментарий.
— Весь основной текст страницы (после cut) остался уникальным и доступным только по этому url. Все, что было до cut — разошлось по десяткам страниц, создав хорошую перелинковку.
— Дубли страниц — это 2 или больше страниц, имеющий полностью идентичный контент. В таком случае, раньше (сейчас это не актуально) поисковые системы могли наложить санкции на ваш домен. Но если вы откроете страницы тегов seo, robots.txt, Disallow, mmozg.net, вы убедитесь что они не идентичны и контент в них разный.

Так что вся эта суматоха вокруг дублей — полнейщий бред. Куча хорош
avatar
Хм, в топике говорится, что закрывать теги не стоит, однако на сайте автора они закрыты. Непонятно!
avatar
Вы не внимательно читали :) /tag/$ закрывает только сам линк вида livestreet.ru/tag/ любой линк с чем-либо после tag/ он не закроет т.е. например такое livestreet.ru/tag/ошибка/ будет краулерам видно.
avatar
А зачем закрывать /tag? Все равно такой страницы нет и она отдает 404.
avatar
Именно. И эти 404 появлялись у нас в ошибках в webmaster tools. Видимо потому, что в таком виде линк встречается в JS скриптах. Оно нам надо? — нет. Вот и закрыли.
avatar
А как по вашему работает и для чего нужен rel=«nofollow»? Я, признаться, на 100% с этим вопросом не разобрался (хотя прочитал множество материалов в сети), и он всё еще для меня актуален. То что rel=«nofollow» уже давно (с 2009 года) не закрывает линк от краулеров — это точно.
avatar
rel=nofollow — говорит поисковику, чтобы он не переходил по этой ссылке и никак ее не учитывал. Не знаю, будут ли индексировать ПС страницу, на которую только одна ссылка и то с аттрибутом nofollow (идея для эксперимента), но в условиях CMS, особенно livestreet, добиться такого сложно.
avatar
rel=nofollow — говорит поисковику, чтобы он не переходил по этой ссылке и никак ее не учитывал.
Это уже много лет не так. Поисковики совершенно точно переходят по таким ссылкам, и совершенно точно страница теряет статический вес от таких ссылок. Тут сомнений нет. Но что-то rel=nofollow все же дает. что точно, я до конца не разобрался. Хороший линк по теме я уже как-то давал: devaka.ru/articles/nofollow-and-noindex-now
avatar
То что rel=«nofollow» уже давно (с 2009 года) не закрывает линк от краулеров — это точно.
Скажу сразу, что некоторые ваши пункти только что у себя прикрутил. То что можете сказать по этому поводу: livestreet.ru/blog/seo/13548.html#comment210027
avatar
Ничего не могу сказать :) Как я уже говорил для меня то, как работает rel=«nofollow» всё еще не до конца ясная тема. Ясно только то, что как полный блокиратор линка он уже не работает.
комментарий был удален
комментарий был удален
комментарий был удален
avatar
Советуете не закрывать profile, но сами же закрыли их у себя в robots.txt.
avatar
Вы допускаете ту же ошибку что и mixan в комментариях выше. /profile/$ не закрывает, любые линки вида /profile/Вася
avatar
Ах вот оно что. Теперь все прояснилось! Спасибо за ответ.
avatar
Я добавил в robots.txt несоответствующие базовуму стандарту конструкции с указанием конкретных User-Agent, к примеру:

User-agent: Yandex 
Crawl-delay: 2
Disallow: /login/
Disallow: /registration/
Disallow: /feed/
Disallow: /admin/
Disallow: /stream/
Disallow: /rss
Disallow: /*.css$
Disallow: /search/$
Disallow: /search/topics/$
Disallow: /search/opensearch/$
Disallow: /my/$
Disallow: /tag/$
Disallow: /page/$
Disallow: /topic/$
Disallow: /profile/$
Disallow: /subscribe/$
Sitemap: http://сайт_на_LiveStreet/sitemap.xml
Host: сайт_на_LiveStreet

User-agent: Googlebot
Crawl-delay: 2
Disallow: /login/
Disallow: /registration/
Disallow: /feed/
Disallow: /admin/
Disallow: /stream/
Disallow: /rss
Disallow: /*.css$
Disallow: /search/$
Disallow: /search/topics/$
Disallow: /search/opensearch/$
Disallow: /my/$
Disallow: /tag/$
Disallow: /page/$
Disallow: /topic/$
Disallow: /profile/$
Disallow: /subscribe/$
Sitemap: http://сайт_на_LiveStreet/sitemap.xml
Host: сайт_на_LiveStreet

User-agent: Slurp
Crawl-delay: 8
Disallow: /login/
Disallow: /registration/
Disallow: /feed/
Disallow: /admin/
Disallow: /stream/
Disallow: /rss
Sitemap: http://сайт_на_LiveStreet/sitemap.xml
Host: сайт_на_LiveStreet

User-agent: *
Crawl-delay: 10
Disallow: /login/
Disallow: /registration/
Disallow: /feed/
Disallow: /admin/
Disallow: /stream/
Disallow: /rss
Sitemap: http://сайт_на_LiveStreet/sitemap.xml
Host: сайт_на_LiveStreet
avatar
Моё личное мнение — это бессмысленно, хотя вреда никакого не нанесёт. Почему бессмысленно? — потому что Яндекс+Google это минимум 80% поисковых запросов которыми приходят к вам в рунете. А из оставшихся 20% — 15% это поисковики основанные на Яндекс или Google, т.е. тоже всё поймут. Оставшиеся копейки не стоят усилий.
avatar
Я бережно отношусь к братьям меньшим (другим поисковикам) — пусть им будет комфортно. :) Усилий никаких — скопипастить разок и забыть. Crawl-delay: при динамично наполняющемся ресурсе штука полезная, чтобы 502 не ловить.
avatar
Crawl-delay это люкс директива :) Ну или если сайт не справляется с нагрузкой. А братья меньше они того, не факт что расширения стандарта НЕ понимают. bing, например, понимает прекрасно.
avatar
кстати есть такая страничка
site.ru/index/
которая равнозначна site.ru
avatar
так что я подумал… невелика потеря
и сделаю вот так
Disallow: /index/
avatar
Таким манером вы закроете от поисковиков все главные страницы сайта. Настоятельно не рекомендую.
avatar
каким образом? есть страница site.ru идентична site.ru/index
если бы можно, я бы вообще редирект поставил бы.
остальные index это страницы второго уровня, которые уже дублируются в списке топиков блога, например.
После апа 19 числа особого проседания позиций не увидел.
Плюс к тому же, у меня стоит плагин seolib, который выводит ссылки на станицы топиков на главную, плюс также создает старницы второго уровня со спиком топиков.
avatar
Disallow: /index/ — закроет от поисковиков ВСЕ страницы, линки на которые начинаются с /index/ т.е. вот такие, например:
livestreet.ru/index/newall/
livestreet.ru/index/discussed/
livestreet.ru/index/top/page3/?period=30

Это, собственно все старины находящиеся под меню «Топики», т.е. все главные страницы сайта. Если это именно то что вы хотели — ради Бога. Но я не вижу от этого ничего кроме вреда. Если линки с не первой страницы и периодом еще можно трактовать как «duplicated content», то остальные — точно нет.
avatar
в любом случае текст будет до ката, по вашему он больше нигде не встречается?
Имхо, их лучше вылезет какой-нить НЧ запрос по тегам, чем просто индексная страница.
Потому что уже обсуждалось где-то, что содержимое этих страниц меняется тем быстрее, тем более активно появляются новые топики и пользователь пришедший из ПС, сразу же уйдет, так как уже по этому адресу нужного его топика не будет.
А это увеличит долю «отказов», которые скажутся на выдаче в ПС из-за пессимизации ПФ.
Поэтому эти страницы полезны для пользователей, но вредны для поисковиков.
Понятно объясняю?
avatar
Про долю отказов — это крайне теоретической утверждение, на мой взгляд. Я подвергаю его большому сомнению. Источники таких мыслей найдёте? Было бы интересно взглянуть.

Смотрите — не все заметки попадают на главную. Такие заметки будут в списке /index/newall/ но не на главной. Такой список, сам по себе — уникальный контент. И вы скрыли его от поисковиков. IMHO — ничего хорошего в этом нет.
avatar
для меня приоритетней, чтобы пользователь, пришедший с ПС нашел то, что он искал.. Поэтому пусть приходят лучше по тегам. Плюс стоит плагин «похожие топики».
Возможно, он захочет потом вернуться на сайт.
avatar
ОК. Возможно для вашего сайта это имеет смысл. Хозяин — барин, спорить не берусь. Но у нас я такое делать точно не буду :)
avatar
Именно :) каждый учится на своих ошибках.
пы сы: ваш сайт мне нравится. Красиво сделан.
avatar
Спасибо :)
avatar
стоит ли убирать черновики? именно так:
Disallow: /topic/saved/
просто после того как меня проиндексировал яндекс
он сделал ссылку такую при поиске моего сайта в поисковике
мойсайт.ru — Всё самое гитарное. гитара, gas, примочки, электрогитара…
мойсайт.ru/Technic/2013/01/20/nuzhen-li-gitarnyy-prepodavatel.html http … мойсайт.ru/Guitar/2013/01/23/fender-vypuskaet-novyy-fender-ritchie-blackmore.html http...
avatar
а эти ссылки это ссылки на черновики. вместо описания и т.п.
avatar
Host — последним должен идти
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.