WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

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

Позволяет изменить массив с meta robots в плагине Yoast SEO перед их использованием.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

Ещё раньше отрабатывает фильтр wpseo_robots, который работает с meta robots в виде строки.

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

add_filter( 'wpseo_robots_array', 'filter_function_name_8527', 10, 2 );
function filter_function_name_8527( $robots, $presentation ){
	// Изменяем...

	return $robots;
}
$robots(массив)
Директивы meta robots, которые будут использованы (выведены на странице).
$presentation(Indexable_Presentation)
Объект класса.

Примеры

#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 автоматически модифицировал мета тег, удалив несоответствующие текущему состоянию параметры.

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

Indexable_Presentation::filter_robots()
wpseo_robots_array
yoast/src/presentations/indexable-presentation.php 350
return \apply_filters( 'wpseo_robots_array', \array_filter( $robots ), $this );

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

Использование не найдено.
campusboy 3921youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Войти