На одном из моих WordPress изначально возникла проблема редиректа на ЧПУ: страница была доступна по адресу ЧПУ и по id ( /?p= ). Дублировались страницы контента в яндекс вебмастере.
Все настройки аналогичны настройкам других проектов, изменение параметров ЧПУ, отключение всех плагинов, изменение темы не помогало.
Помогло вот такое решение с использованием основного запроса, помещаем его в function.php темы
/** * Creates 301 redirects canonical */ 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');