@Bronaz777

Как убрать дубли страниц в выдаче поисковика?

Ребята, помогите разобраться

Такая ситуация, все категории сайта указаны без каноникал, из-за чего огромное количество дублей.
Как поймать нужное значение canonical из url(не обязательно)?
Есть следующий url:
https://sayt.ru/catalog/1/page=2/
https://sayt.ru/catalog/1/order=named/page=2/
Нужное значение:
<link href="https://sayt.ru/catalog/1/" rel="canonical">


Читал различные форумы и статьи на Хабре, но решение именно этой проблемы не нашел.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Всё зависит от технической части, движка, фреймворка.
В простейшем случае текущий URL без домена и протокола находится в переменной $_SERVER['REQUEST_URI']

Для https://sayt.ru/catalog/1/page=2/
$_SERVER['REQUEST_URI'] = '/catalog/1/page=2/ ';

Для https://sayt.ru/catalog/1/order=named/page=2/
$_SERVER['REQUEST_URI'] = '/catalog/1/order=named/page=2/ ';


То есть вашу проблему можно решить следующим образом: если мы видим в урл схему /catalog/ID/ то на основании этого формируем корректный канонический url.
Сделать это можно, например регулярным выражением.
Предполагается что в $rel_canonical мы получаем корректный url который далее вы выводите на странице.

<?php
$rel_canonical = '';
if(preg_match('!^/catalog/([0-9]+)!si', $_SERVER['REQUEST_URI'], $out))
{
    $rel_canonical = "https://sayt.ru/catalog/{$out[1]}/";
}

//$rel_canonical выводим на странице
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
solotony
@solotony
покоряю пик Балмера
1) поставь редиректы (или 403/404 нолучше редиректы)
2) пропиши каноникал
3) убери их из карты сайта

жди (можно "просить" яндекс ускорять удаление)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы