Как удалить дубли страниц wordpress?

Ссылка скопирована
1 ответ

Столкнулся с проблемой с которой раньше никогда не сталкивался, в гугле ответа не нашел.

Есть дочерняя страница с УРЛ:
https://cars-lada.ru/skupka-chasov/skupka-chasov-a...
удаляем из УРЛ /skupka-chasov/ и получаем новую страницу.
https://cars-lada.ru/skupka-chasov-a-lange-sohne/

Одна страница открывается в 2 двух урл, хотя по идее тут должна была быть 404.

Каноническая страница указана - https://cars-lada.ru/skupka-chasov/skupka-chasov-a...
И так на всем сайте, со всеми дочерними страницами.

CMS - Wordpress, используется тема Woodmart ранее таких проблем не было.

Дополнительно:

Вылечилось сменой ЧПУ.
С

Название записи https://cars-lada.ru/sample-post/

Название записи https://cars-lada.ru/sample-post/

На

Месяц и название https://cars-lada.ru/2024/01/sample-post/

Месяц и название https://cars-lada.ru/2024/01/sample-post/

Ответы:

ранее таких проблем не было.

Всегда так было. И разработчики ВП считают что проблемы и нет, тк есть каноникал.
В твоём случае в коде он есть.

<link rel="canonical" href="https://cars-lada.ru/skupka-chasov/skupka-chasov-a-lange-sohne/" />

<link rel="canonical" href="https://cars-lada.ru/skupka-chasov/skupka-chasov-a-lange-sohne/" />

Как правило ПСы это правильно воспринимают. Хотя при определённых условиях каноникал может игнорироваться. Но на практике на правильно сделанных сайтах на ВП я такого не видел (на других движках и мутных схемах формирования ЧПУ встречалось)

хотя по идее тут должна была быть 404.

"По идее" не значит "хорошо". В этом случае лучше бы 301

  • Напрягает, что так же меняются хлебные крошки и фон на странице.

    И не могу понять как обьясняется тот факт, что на этом сайте с урл и дублями нет проблем.

    https://moskomissiontorg.ru/skupka-chasov/prodat-c...
    удаляем /skupka-chasov

    и получаем https://moskomissiontorg.ru/prodat-chasy-a-lange-sohne/ - 404

    Используется та же версия Wordpress и та же версия Woodmart, тот же плагин Yoast

  • fargo9, во первых ХК не должны зависеть от урла. Если у тебя такое имеется - значит у тебя они неправильно формируются.

    Во вторых неправильных (неканонических) урлов быть не должно. Соответственно никто на них не попадёт (кроме как вручную изменив урл). А если у тебя такие светятся - исправляй это в первую очередь.

  • Refguser, все решилось сменой показа ссылок в настройках вп. Видимо сбой произошел после переноса сайта. Спасибо за ответы
  • fargo9, ещё раз - нет никакого "сбоя". Это стандартное поведение ВП. И, при правильно сделанном сайте, проблем не создаёт. А изменение правил ЧПУ.. ну если тебя устраивают новые урлы и, соответственно, переиндексация, то дело твоё.
  • Refguser, о чем вы говорите. Изначально урл во время разработки были правильные, сломалось все после самостоятельного переноса сайта 3 лицами. После изменения ЧПУ ( Я просто установил новый формат вывода ссылок, затем включил заново прежние). Благодарен за ваше потраченное время, можете называть это стандартным поведением, но я с таким столкнулся в первые в WP и похоже это только на сбой при переносе.
  • fargo9,

    сломалось все после самостоятельного переноса сайта 3 лицами.

    Кривыми руками, а не "сбоя".
    Но это совершено другой вопрос, нежели ХК и каноникал. О чем я и говорил а ты, не понял.
    Ну и ладно, твой сайт. тебе разгребать косяки "3х бестолковых лиц".

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
WordPress-редакция Ответ

Если дочерняя страница открывается и по полному URL, и без родительского сегмента, это обычно не “дубль WordPress по умолчанию”, а конфликт permalink, canonical redirect, плагина SEO/redirect или нестандартной логики темы. В нормальной ситуации дочерняя страница должна иметь один канонический адрес.

Первое: проверьте фактический статус ответа. Откройте оба URL и посмотрите, что происходит: второй URL отдаёт 200 или 301 на основной? Если идёт 301 на правильный адрес, это не дубль. Если оба отдают 200 — проблему нужно чинить.

Проверьте canonical в HTML. На дубль-URL он должен указывать на основной адрес. Но canonical не заменяет редирект, если страница доступна в двух вариантах и попадает в индекс.

Что проверить в админке:

  • нет ли второй страницы с таким же slug;
  • не создан ли редирект в Redirection/Yoast/Rank Math/Pretty Links;
  • не включена ли настройка “удалять parent slug”;
  • нет ли кастомных rewrite rules в теме/плагинах;
  • не задан ли одинаковый slug у записи, страницы или CPT.

После любых изменений пересохраните постоянные ссылки: “Настройки → Постоянные ссылки → Сохранить”.

Если WordPress реально отдаёт дубль без родителя, можно принудительно редиректить страницы на их правильный permalink:

add_action('template_redirect', function () {
    if (!is_page()) {
        return;
    }
 
    $canonical = get_permalink();
    $current = home_url(add_query_arg([], $_SERVER['REQUEST_URI']));
 
    if (untrailingslashit($current) !== untrailingslashit($canonical)) {
        wp_safe_redirect($canonical, 301);
        exit;
    }
});

add_action('template_redirect', function () { if (!is_page()) { return; } $canonical = get_permalink(); $current = home_url(add_query_arg([], $_SERVER['REQUEST_URI'])); if (untrailingslashit($current) !== untrailingslashit($canonical)) { wp_safe_redirect($canonical, 301); exit; } });

Но такой код нужно тестировать аккуратно, чтобы не сломать пагинацию, query-параметры, предпросмотр и служебные страницы. Лучше сначала найти источник дубля.

Также проверьте, не включена ли у SEO-плагина функция удаления base/parent для страниц или не стоит ли плагин типа “Custom Permalinks”. Такие плагины часто позволяют вручную задавать URL, и из-за них появляются неожиданные варианты.

Итог: если второй URL отдаёт 301 — всё нормально. Если 200 — ищите конфликт slug/rewrite/плагина и ставьте 301 на канонический адрес. Просто удалять страницу не нужно, иначе можно потерять нормальный URL.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно