Перейти к основному содержанию
Убираем дубли во Views Drupal 7

На днях, совершенно случайно обнаружил достаточно серьезную в плане SEO оптимизации проблему связанную со страницами, которые выводятся с помощью Views в Drupal 7.

Внимание! Статья и термины рассчитаны для друпаловедов, но уверен что не помешает и будет полезна к сведению всем остальным веб мастерам и SEO оптимизаторам.

Проблемы SEO оптимизации Views

На сайте с которым я работал была страница созданная с помощью вьюхи. Вьюха выводила список определенного типа материала. Адрес страницы вьюхи имеет вид "sitename.ru/post" и совпадает с частью иерархии страницы материала. То есть: конечный материал на который можно попасть со страницы вьюхи имеет следующий Url: sitename/post/pagename. Проблемы которые могут возникнуть при такой иерархии урлов:

  1. На странице Views дописав к концу URL любой произвольный текст (например в разделе "инструментарий" этого блога по адресу "seonomad.net/seotools/dhhd" обнаружилось, что никакой 404 страницы нету и ответ сервера при этом отдает 200 ОК. Это может наплодить кучу ненужных страниц, которые по сути будут дублями основной (seonomad.net/seotools), что как сами понимаете не есть хорошо в плане SEO оптимизации сайта.
  2. Удалив любой материал который выводит эта вьюха (например "seonomad.net/seotools/megaindex") вместо 404 страницы получалась страница вьюхи с ответом "200 ОК". То есть, по адресу на котором находилась удаленная страница (seonomad.net/seotools/megaindex) будет выводиться страница списка материалов нашей вьюхи с ответом "200 ОК", вместо 404 страницы с ответом "404 not found". Это серьезная проблема в плане SEO, так как все удаленные страницы по сути не удаляются, а становятся дублирующими ссылками на свою вьюху родителя.

Что еще интересно. Первая проблема актуальна по умолчанию для Drupal + Views, а вот вторая возникает лишь в случае, когда адрес страницы списка материалов выводимых во Views, совпадает с частью иерархии адреса страницы типа материала, который наша вьюха выводит. (как в примере seonomad.net/seotools/megaindex где /seotools это адрес страницы выводимую через Views)

Решение проблемы

Решением обеих вышеописанных проблем дублей во Views оказалось элементарным. Для того чтобы несуществующие страницы отдавали 404 ответ достаточно установить модуль Views 404.

Честно, для меня это было откровением. Более четырех лет работаю с CMS Drupal, а такой грубой ошибки даже не замечал. Если у вас есть проекты на CMS Drupal - проверьте на всякий наличие вышеуказанных ошибок, а также советую воспользоваться шпаргалкой по самым необходимым модулям необходимым для SEO оптимизации CMS Drupal в этой статье.

Об авторе

Автор этого блога. В SEO более 10 лет. Кроме SEO интересуюсь всем, что связано с технологиями и заработком в интернете, о чем и стараюсь делиться с читателями.