wp_robots хук-фільтрWP 5.7.0

Дозволяє додати або видалити директиви мета-тегу robots.

Мета-тег robotsвиводиться в частині HEAD сторінки. Приклад:

<meta name='robots' content='директива, директива'>

<!-- наприклад -->
<meta name='robots' content='noindex, follow, max-image-preview:large' />

Якщо в результаті роботи фільтра буде отримано порожній масив (функція поверне порожній масив), мета-тег robots не буде виведений.

Читайте також: Robots API в WodPress .

Дивіться можливі директиви мета-тегу robots:

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

add_filter( 'wp_robots', 'wp_kama_robots_filter');

/**
 * Function for `wp_robots` filter-hook.
 *
 * @param array $robots Associative array of directives. Кілька ключів повинні бути як directive, так і відповідні значення повинні бути ними, як string, що надається як значення для directive або boolean `true` if it is boolean directive, тобто без значення.
 *
 * @return array
 */
function wp_kama_robots_filter( $robots ){

	// Filter...
	return $robots;
}
$robots
(масив)
Асоціативний масив із парами
[ директива => значение ]. У ключі вказується назва директиви. Значення може бути
строкойякщо це директива зі значенням або
trueякщо це логічна директива (не має значення).

Приклади

0

#1 Закриємо від індексації різні сторінки сайту

add_filter( 'wp_robots', 'wp_kama_robots_tag');

function wp_kama_robots_tag( $robots ){

	// закриємо сторінки вкладень, пагінації та архівів записів
	if(
		is_attachment() ||
		is_paged() ||
		is_post_type_archive()
	) {
		$robots['noindex'] = true;
	}

	// закриємо таксономії, якщо для термінів не зазначено опис
	if(
		( is_category() || is_tag() || is_tax() )
		&&! trim( get_queried_object()->description )
	) {
		$robots['noindex'] = true;
	}

	// закриємо сторінки з параметром запиту ?filter
	if( isset( $_GET['filter'] ) )
		$robots['none'] = true;

	return $robots;
}
0

#2 Видалимо наявні директиви

Припустимо, якийсь плагін закриває від індексації сторінки, які не потрібно закривати. Виправимо це:

add_filter( 'wp_robots', 'wp_kama_robots_tag');

function wp_kama_robots_tag( $robots ){

	// видалимо небажану директиву
	unset($robots['noindex']);

	return $robots;
}

список змін

З версії 5.7.0Введено.

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

wp_robots

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

wp-includes/default-filters.php 258

add_filter( 'wp_robots', 'wp_robots_noindex');

wp-includes/default-filters.php 259

add_filter( 'wp_robots', 'wp_robots_noindex_embeds' );

wp-includes/default-filters.php 260

add_filter( 'wp_robots', 'wp_robots_noindex_search');

wp-includes/default-filters.php 261

add_filter( 'wp_robots', 'wp_robots_max_image_preview_large');

wp-includes/default-filters.php 356

add_filter( 'wp_robots', 'wp_robots_no_robots');

wp-includes/functions.php 3788

add_filter( 'wp_robots', 'wp_robots_no_robots');

wp-login.php 45

add_filter( 'wp_robots', 'wp_robots_sensitive_page');

wp-signup.php 6

add_filter( 'wp_robots', 'wp_robots_no_robots');

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

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