get_canonical_url хук-фильтр . WP 4.6.0

Click here to view original web page at wp-kama.ru

Позволяет изменить каноническую ссылку выводимую WordPress для постов.

Метатег сanonical используется поисковыми системами только в одном случае: когда поисковая система, обнаружила дублирующий контент, и при этом у неё не достаточно своих оснований для выбора каноничного адреса. Во всех других случаях, canonical игнорируется.

Использование

add_filter( 'get_canonical_url', 'filter_function_name_1506', 10, 2 );
function filter_function_name_1506( $canonical_url, $post ){
	// filter...

	return $canonical_url;
}
$canonical_url(строка)
Каноническая ссылка поста.
$post(WP_Post)
Объект поста.

Примеры

#1 Изменим каноническую ссылку поста

Допустим мы изменили ЧПУ записей и добавили в правила параметр запроса post_subpage, который содержит в себе дочернюю страницу текущей записи.

Например:
/my-post/ - URL записи.
/my-post/gallery/ - URL статичной дочерней страницы записи.

По умолчанию для таких нестандартных записей метатег canonical будет такой же как для записи. Но это ведь отдельные страницы с отличающимся контентм и каноническая ссылка также должна отличаться.

Чтобы у таких страниц была своя каноническая ссылка создадим следующий хук:

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;
}

Список изменений

Где вызывается хук

get_canonical_url

Где используется хук в ядре WordPress

Использование не найдено.