Функция wp_robots()
выводит мета-тег <meta name='robots' content='...'>
с директивами для поисковых систем. Она собирает директивы с помощью фильтра wp_robots
, очищает их и выводит в виде мета-тега. Этот тег указывает, как поисковые системы должны обрабатывать индексацию страниц сайта, следовать по ссылкам и другие параметры, такие как отображение изображений.
wp_robots()
Возвращаемое значение
- null: Функция не возвращает значений, выводит HTML-код с мета-тегом напрямую.
Пример результата:
<meta name='robots' content='noindex, follow, max-image-preview:large' />
Функция автоматически вызывается WordPress через хук wp_head
, поэтому в большинстве случаев не требуется вызывать её вручную.
Механизм работы
Функция собирает все имеющиеся директивы через фильтр wp_robots
, очищает их и выводит на экран мета-тег только в том случае, если есть хотя бы одна директива. По умолчанию, WordPress добавляет этот мета-тег в <head>
страницы.
Важные особенности:
- Автоматическое добавление: Функция вызывается по умолчанию через хук
wp_head
с приоритетом 1:
add_action( 'wp_head', 'wp_robots', 1 );
- Дополнительные случаи использования: Если шаблон не использует стандартный хук
wp_head()
, функция может быть вызвана вручную или через пользовательский хук.
Хуки
- wp_robots: Этот фильтр позволяет изменять или добавлять свои директивы для мета-тега
robots
.
Пример 1: Добавление директивы follow
Этот пример демонстрирует, как можно добавить директиву follow
к мета-тегу robots
, используя фильтр wp_robots
. В этом случае поисковым системам будет разрешено следовать по ссылкам на странице.
add_filter( 'wp_robots', 'my_wp_robots_add_follow' );
function my_wp_robots_add_follow( $robots ) {
// Добавляем директиву 'follow'
$robots['follow'] = true;
return $robots;
}
Результат:
<meta name='robots' content='index, follow' />
Пример 2: Отключение индексации страницы (добавление noindex
)
Чтобы добавить директиву noindex
, запрещающую поисковым системам индексировать страницу, используйте следующий код:
add_filter( 'wp_robots', 'my_wp_robots_add_noindex' );
function my_wp_robots_add_noindex( $robots ) {
// Добавляем директиву 'noindex'
$robots['noindex'] = true;
return $robots;
}
Результат:
<meta name='robots' content='noindex, follow' />
Пример 3: Изменение директив для изображений
Этот пример показывает, как можно изменить директивы для изображений, например, установить max-image-preview
для крупных изображений:
add_filter( 'wp_robots', 'my_wp_robots_modify_image_directives' );
function my_wp_robots_modify_image_directives( $robots ) {
// Изменяем директивы для изображений
$robots['max-image-preview'] = 'large';
return $robots;
}
Результат:
<meta name='robots' content='index, follow, max-image-preview:large' />
Заключение
Функция wp_robots()
отвечает за управление директивами для поисковых систем через мета-тег robots
. Она автоматически добавляется в заголовок страницы через хук wp_head
, но позволяет гибко настраивать директивы с помощью фильтра wp_robots
. Это позволяет контролировать, как поисковые системы взаимодействуют с вашим контентом, включая индексацию страниц, обработку ссылок и отображение изображений.