Каноничекая ссылка в Woocommerce
Как можно заменить каноническую ссылки категории Woocommerce в пагиниции на первю страницу категории
Например сейчас так
<link rel="canonical" href="https://site.com/product-category/category-name/page/3/" /> <link rel="prev" href="https://site.com/product-category/category-name/page/2/" /> <link rel="next" href="https://site.com/product-category/category-name/page/4/" />
На такое
<link rel="canonical" href="https://site.com/product-category/category-name/" /> <link rel="prev" href="https://site.com/product-category/category-name/page/2/" /> <link rel="next" href="https://site.com/product-category/category-name/page/4/" />
Измени URL через хук get_canonical_url. Например:
add_filter( 'get_canonical_url', 'subpages_canonical', 10, 2 ); function subpages_canonical( $canonical_url, $post ){ if( $subpage = get_query_var('post_subpage') ){ $canonical_url = user_trailingslashit( rtrim( get_permalink( $post ), '/' ) ."/$subpage" ); } return $canonical_url; }Условие if тебе нужно будет подправить под свои нужды.
Сделал вот так и оно работает но только для категорий где нет подкатегорий.
Если есть такая ссылка site.com/product-category/category-name все ок но когда дочерняя категория
site.com/product-category/category-name/subcategory-name то каноническая ссылка передается родителькой категории.
Как можно передать ссылку на подкатегорию?
function yoast_seo_canonical_change_wpoets( $canonical ) { if ( is_tax() ) { $url= site_url().'/product-category/'.get_query_var( 'term' ).'/'; return $url; } } add_filter( 'wpseo_canonical', 'yoast_seo_canonical_change_wpoets', 10, 1 );