WordPress не всегда корректно обрабатывает редирект на адрес страницы и в результате в поисковую выдачу могут попадать не канонические адреса, со временем поисковый бот обновит информацию, но несколько дней в поисковой выдаче будет дублированный контент.
Канонический URL
Канонический URL (Canonical URL) - это URL-адрес наиболее представительной страницы из группы дублирующихся страниц. Например, если у вас есть два URL для одной и той же страницы (например, example.com?dress=1234 и example.com/dresses/1234), поисковый бот выберет один из них в качестве канонического. Аналогично, если у вас есть несколько почти одинаковых страниц, поисковый бот может сгруппировать их вместе (например, страницы, которые отличаются только сортировкой или фильтрацией содержимого, например, по цене или цвету товара) и выбрать одну из них в качестве канонической. Поисковый может проиндексировать только канонический URL из набора дубликатов страниц.
Но не всегда это работает корректно, данное не корректное поведение довольно часто фиксируется в поведении Яндекса.
Дубликат может находиться в домене, отличном от канонического (например, example.com/mypage и example2.com/myduplicate).
Вот несколько примеров.
Редирект на канонический URL статьи
Для решения это проблемы, устанавливаем плагин ProFunctions, либо, данный код можно разместить в файле functions.php
Использование плагина ProFunctions решает проблему с обновление тем и при необходимости использовать данный функционал в разных темах.
Добавляем в него следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /** * Создает канонические 301 редирект */ function bm_redirect_can() { // Is single Post if ( is_single() ) { global $wp; $wp->parse_request(); $current_url = trim(home_url($wp->request), "/"); $redirect = get_permalink(); $surl = trim($redirect, "/"); if($current_url != $surl){ wp_redirect( $redirect, 301 ); exit; } } } add_action( 'template_redirect', 'bm_redirect_can' ); |
В результате, когда пользователь или поисковый бот попадет на не канонический адрес записи, он будет автоматически перенаправлен на правильный адрес.
Бонусом, будет снижен объем кешированных данных, так как кешу (плагину кеширования) не придется хранить дубликаты страниц.