WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Каноничекая ссылка в 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/" />
0
alexsteel
3.4 года назад 11
  • 0
    Kama9731

    Измени 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 тебе нужно будет подправить под свои нужды.

    alexsteel 3.3 года назад

    Сделал вот так и оно работает но только для категорий где нет подкатегорий.
    Если есть такая ссылка 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 );
    
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация