Добавить каноникал на странице shop
Добавил каноникал, который ведет на основную страницу для страниц пагинации категории, и меток. У меня плагин rank math для сео. Но в woocommerce еще есть архив товаров shop который просто является обычной страницей. Вот код
//работает
add_filter( 'rank_math/frontend/canonical', function( $canonical ) {
if ( is_tax( 'product_cat' ) && is_paged() ) {
$object = get_queried_object();
return get_term_link( $object->term_id );
}
return $canonical;
});
//работает
add_filter( 'rank_math/frontend/canonical', function( $canonical ) {
if ( is_tax( 'product_tag' ) && is_paged() ) {
$object = get_queried_object();
return get_term_link( $object->term_id );
}
return $canonical;
});
//не работает
add_filter( 'rank_math/frontend/canonical', function( $canonical ) {
if ( is_page() && is_paged() ) {
$object = get_queried_object();
return get_term_link( $object->term_id );
}
return $canonical;
});
Как решить такую проблему?
В wc есть функция для проверки что вы находитесь на странице каталога is_shop()
Не работает, по какой-то причине. Я в итоге так сделал
add_filter( 'rank_math/frontend/canonical', function( $canonical ) { if ( is_shop() && is_paged() ) { global $wp; // get current url with query string. $current_url = home_url( $wp->request ); // get the position where '/page.. ' text start. $pos = strpos($current_url , '/page'); // remove string from the specific postion $finalurl = substr($current_url,0,$pos); return $finalurl .= '/'; } return $canonical; });