wpseo_robots_array хук-фільтрYoast 1.0

Дозволяє змінити масив з meta robots у плагіні Yoast SEO перед їх використанням.

Ще раніше відпрацьовує фільтр wpseo_robots , який працює з meta robots у вигляді рядка.

Використання

add_filter( 'wpseo_robots_array', 'wp_kama_wpseo_robots_array_filter', 10, 2);

/**
 * Function for `wpseo_robots_array` filter-hook.
 *
 * @param array $robots The meta robots directives to be used.
 * @param Indexable_Presentation $presentation The presentation an indexable.
 *
 * @return array
 */
function wp_kama_wpseo_robots_array_filter( $robots, $presentation ){

	// Filter...
	return $robots;
}
$robots
(масив)
Директиви meta robots, які будуть використані (виведені на сторінці).
$presentation
( Indexable_Presentation )
Об’єкт класу.

Приклади



0


#1 Заборонимо індексацію сторінок пагінації

За замовчуванням Yoast SEO дозволяє індексувати сторінки пагінації та наполягає робити саме так, пояснюючи своє рішення у статті Pagination & SEO: best practices .

На сторінці пагінації до фільтру приходить наступний масив з директивами meta robots

Array (
	[index] => index
	[follow] => follow
	[max-snippet] => max-snippet:-1
	[max-image-preview] => max-image-preview:large
	[max-video-preview] => max-video-preview:-1
)

А в коді самої сторінки пагінації буде виведена мета тег:

<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />

Заборонимо пошуковим системам індексувати сторінки пагінації, змінимо масив:

add_filter( 'wpseo_robots_array', 'set_noindex_for_paged');

function set_noindex_for_paged( $robots ) {
	if ( is_paged() ) {
		$robots['index'] = 'noindex';
	}

	return $robots;
}

Масив зміниться:

Array (
	[index] => noindex
	[follow] => follow
	[max-snippet] => max-snippet:-1
	[max-image-preview] => max-image-preview:large
	[max-video-preview] => max-video-preview:-1
)

Зміниться і мета тег, що виводиться на сторінці пагінації:

<meta name='robots' content='noindex, follow' />

Як бачимо, завдяки параметру noindex плагін Yoast SEO автоматично модифікував мета тег, видаливши параметри, що не відповідають поточному стану.

Де викликається хук

wpseo_robots_array
yoast/src/presentations/indexable-presentation.php 355

return apply_filters( 'wpseo_robots_array', array_filter( $robots ), $this );

Де використовується хук в Yoast SEO

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *