RDRybinAvatar photo

На одном из моих 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');

Добавить комментарий

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