Перейти до основного вмісту
Видаляємо дублі у Views Drupal 7

Днями цілком випадково виявив досить серйозну в плані SEO оптимізації проблему пов'язану зі сторінками, які виводяться за допомогою Views в Drupal 7.

Увага! Стаття та терміни розраховані для друпаловедів, але впевнений що не завадить і буде корисна до відома всім іншим веб-майстрам і SEO оптимізаторам.

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

На сайті, з яким я працював, була сторінка створена за допомогою Views. Views виводила список певного типу матеріалу. Адреса сторінки Views має вигляд "sitename.ru/post" і збігається з частиною ієрархії сторінки матеріалу. Тобто: кінцевий матеріал на який можна потрапити зі сторінки Views має наступний 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, тому що всі видалені сторінки по суті не видаляються, а стають дублюючими посиланнями на свою батьківську Views.

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

Вирішення проблеми

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

Справді, для мене це було відкриттям. Понад чотири роки працюю з CMS Drupal, а такої грубої помилки навіть не помічав. Якщо у вас є проекти на CMS Drupal - перевірте на будь-яку наявність вищезгаданих помилок, а також раджу скористатися шпаргалкою за найнеобхіднішими модулями, необхідними для SEO оптимізації CMS Drupal в цій статті.