@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">


Читал различные форумы и статьи на Хабре, но решение именно этой проблемы не нашел.
  • Вопрос задан
  • 50 просмотров
Решения вопроса 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
code for food, caviar preferably
1) поставь редиректы (или 403/404 нолучше редиректы)
2) пропиши каноникал
3) убери их из карты сайта

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

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

Войти через центр авторизации
Похожие вопросы
04 апр. 2020, в 21:01
35000 руб./за проект
04 апр. 2020, в 20:32
5000 руб./за проект
04 апр. 2020, в 20:30
25000 руб./за проект