wp_robots
Дозволяє додати або видалити директиви мета-тегу 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
якщо це логічна директива (не має значення).
Приклади
#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; }
#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');