Плагин Yoast SEO ставит “каноникал” на все страницы

Sorry, this entry is only available in RU.

Техническое задание.

После обновления плагина Yoast SEO, лепит каноникалы на все страницы без исключения, в том числе и на пагинацию. Но нам канонической нужна только первая страница пагинации. До обновления плагина Yoast SEO, это исправлял следующий код в functions.php:


/* canonical для пагинации */
function return_canon () {
	$canon_page = get_pagenum_link(0);
	return $canon_page;
}
function canon_paged() {
	if (is_paged()) {
		add_filter( 'wpseo_canonical', 'return_canon' );
	}
} 
add_filter('wpseo_head','canon_paged'); 

Делаем:

После долгих поисков решения задачи в интернете, было решено обратиться к документации плагина Change the canonical URL.


function an_filter_canonical_pagenum( $canonical ) {
if (is_paged()) {
    $canonical = get_pagenum_link(0);
  }
  return $canonical;
}
add_filter( 'wpseo_canonical', 'an_filter_canonical_pagenum' );

 

Заказчик остался доволен.