
Как убрать с URL product-category и product и после этого получить корректный 301 редирект.
1.Устанавливаем плагин
https://clubwp.ru/resources/woocommerce-perfect-seo-url.189/
В некоторых случаях (в связи со спецификой каких то тем или конфликта плагинов) Perfect Seo URl устанавливается не корректно и редирект не работает или работает не правильно. Старые ссылки имеют статус 200, новые так же статус 200 или 302. Для поисковых систем нам нужен статус 301.
Что бы получить 301 редирект в файле function.php добавляем следующее
Удаляем product-category из УРЛа категорий:
function base_category_redirect(){
$link = $_SERVER[‘REQUEST_URI’];if( strpos($link, ‘product-category/’)!==false ){
$new_link = get_bloginfo(‘siteurl’).str_replace(‘product-category/’, », $link);
Header( «HTTP/1.1 301 Moved Permanently» );
Header( «Location: $new_link» );
exit();
}
}
add_action(‘init’, ‘base_category_redirect’, -10);
Удаляем product из УРЛа товара:
function base_category_redirect2(){
$link = $_SERVER[‘REQUEST_URI’];if( strpos($link, ‘product/’)!==false ){
$new_link = get_bloginfo(‘siteurl’).str_replace(‘product/’, », $link);
Header( «HTTP/1.1 301 Moved Permanently» );
Header( «Location: $new_link» );
exit();
}
}
add_action(‘init’, ‘base_category_redirect2’, -9);
Так как я не программист и делаю некоторые манипуляции методом вставил — работает, обьяснить принцип работы я не смогу. Но данный метод мне помог решить проблему с переадресацией.