Drupal 7: почему удалённые или несуществующие страницы, формата /page?id=123 отдают 200ok?

Аватар пользователя dmitry_bavin dmitry_bavin 30 марта в 18:00

Была проблема с двухсотым откликом на вьюшках, поставил модуль view 404.

Теперь появилась задача, убрать дубли страниц, формата "/page?id=123"

Что это за страницы? - Как правило, так выглядит деталка товара на сайте. Раздел и параметр с id товара, добавленный через модуль "магазин > товары".

Что делать с такими страницами?

Комментарии

Аватар пользователя EvgenySorokin EvgenySorokin 31 марта в 11:47
1

От "дублей" на страницах с параметром обычно спасает наличие правильного тега canonical (если у вас условно страница page.html , и вы переживаете за page.html?id=123, page.html?qwe=rty и тд).

Так же наличие этих страниц зависит от того, на чем и как они сделаны - что за модуль магазина используется в принципе, сайт нужно смотреть для какого-то определенного ответа.

Аватар пользователя dmitry_bavin dmitry_bavin 3 апреля в 17:49

Спасибо за Ваш ответ!

Как оказалось, не важен модуль магазина, и не важно, была ли удалена страница и была ли она вообще создана. Если есть раздел/страница, как из Вашего примера "page.html" с параметрами, то она автоматически отдаёт двухсотый отклик. Т.е. "page.html?id=123" в любом случае, является корректной ссылкой, и будет сгенерирован контент одного из вариантов (на знаю, по какому принципу.)

Я проверил модули сайта, стоит модуль "global redirect" и "Metateg". И вроде бы, всё правильно настроено. Но на нужных мне карточках, с вариантами товара идут дубли с несуществующих страниц, а тег "canonical", просто не добавляется. Тем временем, на view (представления) с той же пагинацией, всё работает нормально.

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