УрокОшибка сеошников в Drupal 7, которая может привести к бану сайта
Эту информацию я бы порекомендовал прочитать всем, кто использует Drupal 7.
От релиза седьмого Друпала, казалось бы, прошло уже много времени и им уже давно можно пользоваться с абсолютным спокойствием. Ведь на 7ку уже портированы все основные модули, используемые большинством сайтов. Однако до сих пор там висит неисправленный robots.txt, который легко может привести к бану сайта.
Ещё в апреле сего года, Андрей Подлубный нашёл действительно критическую ошибку седьмого Друпала, которая никак не влияет на работу сайта, однако очень сильно влияет на отношение к сайту поисковиков. Эта ошибка была описана сначала на drupal.ru, а потом в качестве бага отправлена на drupal.org. Однако до сих пор этот фикс, по непонятным мне причинам, не был внесён в последние обновления ядра.
Смысл ошибки заключается в следующем. В седьмом Друпале каждый комментарий доступен по собственному урлу, который строится по принципу example.com/comment/ID, где ID - уникальный идентификатор комментария. По этому урлу доступен материал, к которому оставлен комментарий + сам комментарий.
Предположим, что к ноде с ID 10 оставлено 100 комментариев. Получается, что один и тот же материал доступен по адресу example.com/node/10, example.com/comment/1, example.com/comment/2, и так далее до последнего сотого комментария. Выходит, что материал доступен аж по 101 адресу на сайте!
А теперь представьте себе ваш сайт глазами поисковиков - на одном сайте происходит просто невероятное дублирование контента. Естественно, сайт сразу попадает в бан и, как следствие, вылетает из поискового индекса.
А решается эта проблема простейшим образом. В файле robots.txt, который лежит в корне Друпала, делаем следующие изменения: находим строку Disallow: /comment/reply/ и меняем её на Disallow: /comment/. Так же ищем строку Disallow: /?q=comment/reply и меняем её на Disallow: /?q=comment/. Теперь контент, располагающийся по урлам example.com/comment/* (вместо * любой текст) не индексируются, а следовательно, не воспринимается поисковиками как дублирование контента.
Ниже приведён исправленный вариант robots.txt:
# # robots.txt # # This file is to prevent the crawling and indexing of certain parts # of your site by web crawlers and spiders run by sites like Yahoo! # and Google. By telling these "robots" where not to go on your site, # you save bandwidth and server resources. # # This file will be ignored unless it is at the root of your host: # Used: http://example.com/robots.txt # Ignored: http://example.com/site/robots.txt # # For more information about the robots.txt standard, see: # http://www.robotstxt.org/wc/robots.html # # For syntax checking, see: # http://www.sxw.org.uk/computing/robots/check.html User-agent: * Crawl-delay: 10 # Directories Disallow: /includes/ Disallow: /misc/ Disallow: /modules/ Disallow: /profiles/ Disallow: /scripts/ Disallow: /themes/ # Files Disallow: /CHANGELOG.txt Disallow: /cron.php Disallow: /INSTALL.mysql.txt Disallow: /INSTALL.pgsql.txt Disallow: /install.php Disallow: /INSTALL.txt Disallow: /LICENSE.txt Disallow: /MAINTAINERS.txt Disallow: /update.php Disallow: /UPGRADE.txt Disallow: /xmlrpc.php # Paths (clean URLs) Disallow: /admin/ Disallow: /comment/ Disallow: /filter/tips/ Disallow: /node/add/ Disallow: /search/ Disallow: /user/register/ Disallow: /user/password/ Disallow: /user/login/ Disallow: /user/logout/ # Paths (no clean URLs) Disallow: /?q=admin/ Disallow: /?q=comment/ Disallow: /?q=filter/tips/ Disallow: /?q=node/add/ Disallow: /?q=search/ Disallow: /?q=user/password/ Disallow: /?q=user/register/ Disallow: /?q=user/login/ Disallow: /?q=user/logout/
Обновление (08.02.2012)
А теперь для тех, кто верил в метатэг canonical:
У меня для эксперимента стоял дефолтный robots.txt. Из-за этого у меня полезли дубли, что легко может привести к АГС 17. Несмотря на canonical, страницы всё равно были успешно проиндексированы.
Сейчас я уже, естественно, поправил роботсы, чтобы убрать лишние дубли. Однако это ещё раз доказывает, что canonical - не самая надёжная вещь, на которую следует полагаться.
Обновление 2 (08.02.2012, но вечером)
Ввиду того, что в коментах начали появляться скептики, я немного поясню свои слова.
Есть такой замечательный фильтр у Яндекса - АГС 17. Когда вы в него попадаете, в поисковой выдаче остаётся незначительное количество страниц сайта (обычно не более 10-20). Одна из причин попадания под этот фильтр - наличие дублированного контента на сайте. А ещё есть некая критическая масса, набрав которую, сайт попадает под этот фильтр. Я не утверждаю, что если вы не закроете комментарии от индексации через robots.txt, то ваш сайт попадёт под фильтр. Однако наличие дублей может стать причиной перехода через эту критическую массу.
Далее. Писалось, что раз на страницах с комментариями есть мета тэг canonical (который должен говорить поисковому роботу что эту страницу индексировать не надо), то и закрывать в роботсах ничего не имеет смысла. Скриншот выше показал, что этот мета тэг может дать сбой, и страницы с дублированным контентом, которые не должны были попасть в выдачу, попадут в неё. И если в этот момент сайт наберёт достаточное количество недочётов для попадания под фильтр - он попадёт под него незамедлительно. Особенно это касается молодых сайтов; сайтов, продающих ссылки; любителей насовать побольше тэгов и т.д. То есть сайтов в группе риска.
Пару дублей в выдаче никакой погоды не сделают. Но например, за год более-менее хороший сайт легко собирёт несколько тысяч комментариев. И если сайт вырастет на несколько тысяч дублированных страниц, то хорошего ждать вряд ли придётся.
Опять же - в комментах писали, что дублирование может дать некий прирост трафика. Да, это вполне имеет место быть. Однако в практике уже был случай, когда за приростом трафика последовал АГС.
Итак, подытожу: я не заставляю никого менять роботсы или же доверять моим словам в качестве истины в последней инстанции. Из практики (не только мной) доказано, что canonical может дать сбой. А подстраховывать себя или нет - выбор исключительно ваш.
- Spleshka
- 01.09.2011
- 53474
Комментарии
в семёрке выводится мета тег canonical, так что дублей может быть хоть миллион, в серч попадёт лишь оригинал
А разве все поисковики одинаково понимают этот мета тэг?
http://help.yandex.ru/webmaster/?id=1111858#canonical
http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
http://www.bing.com/community/site_blogs/b/webmaster/archive/2009/02/12/partnering-to-help-solve-duplicate-content-issues.aspx
Хм... выходит, твоя правда. Надо ещё с сеошниками посоветоваться, может они чего уточнят.
Хотя моё мнение что лучше перебдеть. Роботс.тхт надёжнее, чем каноникл в любом случае.
Скромно, но при этом категорически не соглашусь с выводами о (негативной) "бажности" подобной "фичи" (наличие урлов отдельных комментов). Данная возможность (отдельно взятые комменты по своим урлам) в доседьмых друпалах реализовывалась с помощью модуля comment_page, который при "правильной эксплуатации" на "правильных сайтах" даёт +5-10% трафика, увеличивая при этом кол-во страниц в индексе (если это кого-то греет). Подробности, кого интересует, можно прочесть здесь.
Потому (категорически/отрицательно) утверждать о "вредности" данного "способа отображения информации на сайте" - точно нельзя. Другое дело, что роботы в друпале действительно "не самые оптимальные" (подробности, опять же, без спама, а кому интересно - тут).
> А теперь для тех, кто верил в метатэг canonical:
и тем не менее ни одной страницы с /comment/* в сёрче нет. так что аргумент вялый. а фраз "что легко может привести к АГС 17" вызывает только улыбку :)
А ты смотреть в сёрч пробовал? Например вот. Да и скриншот - это же фильтр по сёрчу drupalace.ru - внимательно прочти верх скриншота: Ниже показаны страницы вашего сайта, попавшие в поисковый индекс. Поэтому твоя улыбка совсем напрасная.
по такой логике если я на своём сайте создам простыню из ссылок на
http://drupalace.ru/lesson/oshibka-seoshnikov-v-drupal-7-kotoraya-mozhet-privesti-k-banu-saita?trololo1
http://drupalace.ru/lesson/oshibka-seoshnikov-v-drupal-7-kotoraya-mozhet-privesti-k-banu-saita?trololo2
...
http://drupalace.ru/lesson/oshibka-seoshnikov-v-drupal-7-kotoraya-mozhet-privesti-k-banu-saita?trololo100000
то ты обязательно попадёшь под агс :)
То, что ты сделашь на своём сайте, на моём никак не скажется. Если на моём сайте находятся страницы (не ссылки, а именно страницы), на которых дублируется контент - тогда это прямая дорога под агс.
> Если на моём сайте находятся страницы (не ссылки, а именно страницы), на которых дублируется контент - тогда это прямая дорога под агс.
ну вот они страницы, не ссылки, а именно страницы на которых дублируется контент:
http://drupalace.ru/lesson/izmenenie-sostoyaniy-formy-v-drupal-7?ololo1
http://drupalace.ru/lesson/izmenenie-sostoyaniy-formy-v-drupal-7?ololo2
...
почему ты не под агс?
по той же причине, по которой поисковые системы находят плагиат, если в статье было изменено одно слово: поисковые системы писались не школьниками и не дибилами. Гет параметры от чпу они научились различать.
ты противоречишь сам себе — то яндекс настолько туп что за 10 одинаковых страниц с прописанным canonical должен влепить агс, то настолько крут, что таки может самостоятельно отличать дубли. ты уж определись
Ты передёргиваешь мои слова. Если ты не понимаешь сути поста, то не стоит так яростно доказывать, что я не прав.
доказываешь тут только ты. я так, прохожий :)
> То, что ты сделашь на своём сайте, на моём никак не скажется.
хорошо, могу сделать это на твоём:
Псевдо-Ошибка сеошников в Drupal 7, которая может привести к бану сайта
Псевдо-Ошибка сеошников в Drupal 7, которая может привести к бану сайта
Псевдо-Ошибка сеошников в Drupal 7, которая может привести к бану сайта
бойся, агс уже близко xD
Речь не о том, что ты можешь, а то том, что canonical дал сбой и страницы попали в сёрч, как я и писал в посте. Или ты будешь отрицать очевидное?
И под АГС попадают из-за страниц с дублирование контента. Это тоже факт, а не размышления.
> canonical дал сбой
ну попало пару страниц в сёрч, в следующий ап удалятся, ничего страшного.
> И под АГС попадают из-за страниц с дублирование контента
покажи мне хоть один не_гс сайт попавший под агс за дубли
> Это тоже факт, а не размышления.
это не факты, а какая-то выраженная агсфобия
> ну попало пару страниц в сёрч, в следующий ап удалятся, ничего страшного.
не первый ап они там уже сидят. Я просто спохватился только сейчас.
> покажи мне хоть один не_гс сайт попавший под агс за дубли
http://ikra.by . Уникальный контент. Немолодой домен. Попал под АГС из-за дублей, в сёрче две страницы. Сейчас дубли уже естествеено убраны, но поверь, они там были.
> это не факты, а какая-то выраженная агсфобия
эм.. то есть то, что у меня в выдачу попадают страницы с canonical - это у меня агсофобия, а не сбой робота?
Я верю в то, что ни мой ни твой блог под АГС не попадут, даже с дублями. Однако не все делают сайты для людей. Большинство сайтов ходят по довольно тонкой грани, особенно молодые, особенно продающие ссылки и увлекающиеся тегами. Само по себе дублирование коментов сейчас не особо страшно, но хз, вдруг станет страшно ;) Поисковые системы ведь постоянно алгоритмы меняют. И я не вижу ни одной причины не подстраховаться.
> не первый ап они там уже сидят
яндекс говорит что у тебя 15 страниц с /comment/* в индексе, 5 из них попали туда позавчера. где остальные тысячи?
Я тебя уже третий раз отправляю внимательно смотреть скриншот. 52 страницы по 20 строк. Перемножь на калькуляторе.
> http://ikra.by
я что-то не наблюдаю там тега canonical
> эм.. то есть то, что у меня в выдачу попадают страницы с canonical - это у меня агсофобия, а не сбой робота?
причём тут выдача, ты сказал что за страницы с canonical яндекс даст агс и назвал это фактом
> Однако не все делают сайты для людей
сайтам не для людей не место в интернете
> И я не вижу ни одной причины не подстраховаться.
страхуйся на здоровье, только другим голову не пудри
> я что-то не наблюдаю там тега canonical
ты просил показать не говносайт, который попал под АГС за дубли.
> причём тут выдача, ты сказал что за страницы с canonical яндекс даст агс и назвал это фактом
Читай апдейт. Это может стать причиной вылета из сёрча. Я не говорил что дубли == агс.
> сайтам не для людей не место в интернете
у меня складывается впечатление, что ты веришь в добро и микки мауса.
> страхуйся на здоровье, только другим голову не пудри
с таким же успехом я могу сказать тебе "учи друпал, но не пиши об этом". Не учи меня, пожалуйста, что мне делать и что писать. Если эта статья не нравится тебе - это не значит, что остальные решат так же. Я считаю, что она максимально обоснована и подкреплена практикой . А ты теоретик, причём, насколько я помню, не особо разбирающийся в сео. В Друпале ты хороший специалист, но не стоит лезть туда, где ты не можешь ничего доказать на практике. Несколько твоих личных сайтов не в счёт.
> у меня складывается впечатление, что ты веришь в добро и микки мауса.
в чип и дейла
> с таким же успехом я могу сказать тебе "учи друпал, но не пиши об этом"
напиши
> Не учи меня, пожалуйста, что мне делать и что писать
где я тебя учил?
> А ты теоретик, причём, насколько я помню, не особо разбирающийся в сео
а ты видимо бог сео xD
> В Друпале ты хороший специалист
с чего бы?
У меня в яндекс-вебмастере все коменты исключены из индекса с пометкой "неканониеский урл"
ч.т.д.
У меня раньше тоже так было, но последние несколько апов коменты залезли в сёрч и не выходят из него. Я никого не заставляю закрывать комменты или вообще что-то менять и мне абсолютно похуй, если на сайтах, к которым я не имею отношения что-то случится. Однако я показал, что canonical дал сбой и это может привести к непредсказуемым последствиям.
Лично я не собираюсь доверяться тому, что ломается по непонятным причинам.
canonical дал сбойскорее яндекс дал сбой, т.к. и яша и гугл (за остальных хз, как-то мало интересовался) прекрасно этот тэг понимают, и не скрывают этого, так что если из-за этого вдруг попасть под фильтр - по абузе исправят, хотя я ни разу не слышал, чтоб хоть раз это было.
Главное чтоб с тегами было все в порядке, а в robots.txt запретить - это всегда можно и ничего тут плохого нет, и вариант беспроигрышный, а если коментов совсем много, то и нагрузка на сервер от робота меньше ))
> скорее яндекс дал сбой
Это понятно, что не метатэг страницы в выдачу засунул :) Я имел ввиду, что поисковый робот яндекса пропустил canonical.
> в robots.txt запретить - это всегда можно и ничего тут плохого нет, и вариант беспроигрышный
Так ведь и я и том же. Закрыть в роботсах да и забыть, просто для подстраховки. Я не вижу ни одной причины начинать холивары.
Вот это жестянной холивар получился :)
Как отключить собственный урл у комментариев, чтобы комментарии просто выводились на странице материала один под одним, без всяких обственных сылок адресов.
Да уж холивар прям таки затяжной. Думаю это из уважение к xandeadx :) Хотя не понимаю о чем спор. есть факт попадания в индекс, который имел место быть. Об этом сказано в статье. Пусть даже сто раз сработает, но если один раз дало сбой, может и повториться. Закрыть в роботс дело пары секунд. Спасибо.
В данный момент на этом сайте автор вообще удалил /comment/ из своего Robots.txt
Почему?
Комментировать