WordPress 5.7 представляет нам Robots API, дающий контроль над мега-тегом robots
. Кроме того, он добавляет в него значение max-image-preview:large
.
Вообще, если вы ребят не в теме, то мета-тег robots
позволяет указать для поисковиков, как они должны обрабатывать страницу, например должна ли она индексироваться или нет. Думаю про его функции вам правильнее почитать в официальной документации Google.
<!DOCTYPE html> <html> <head> <meta name="robots" content="max-image-preview:large" /> </head>
Теперь WordPress будет добавлять автоматически этот мета-тег со значением max-image-preview:large
для всех сайтов, у которых в Настройки – Чтение не указано скрытие от поисковиков.
Функция wp_robots()
Про функцию wp_robots() читайте в Кодексе.
Функция автоматически добавляется на хук wp_head
:
add_action( 'wp_head', 'wp_robots', 1 );
Отключить вы тоже можете её так же, как она и была включена:
remove_action( 'wp_head', 'wp_robots', 1 );
Ну и читайте подробнее про фильтры в WordPress.
А если хотите последовательно прокачать свои знания в WordPress? Тогда могу порекомендовать вам свой видеокурс по созданию темы на основе HTML-вёрстки.
Также разработчики плагинов и тем не должны использовать эту функцию напрямую, всегда вешаем как хук, например:
add_action( 'truemisha_custom_head', 'wp_robots', 25 );
Изменяем значение мета тега robots при помощи хуков
У функции wp_robots() есть одноимённый фильтр-хук, при помощи которого мы можем изменить значение мета-тега по умолчанию.
По сути и сама функция пустая и основывается тупо на фильтрах. Если её не хукать, то и мета-тег будет пустой.
Значение мета-тега robots по умолчанию
Я уже упоминал выше, что мета-тег robots
теперь автоматически добавляется на хук wp_head()
. И его значение по умолчанию для разрешённых для индексации сайтов (Настройки > Чтение) такое:
<meta name="robots" content="max-image-preview:large" />
Вы кстати можете отключить именно директиву max-image-preview
при помощи строки:
remove_filter( 'wp_robots', 'wp_robots_max_image_preview_large' );
Не знаете, куда вставлять код? Читайте это.
Давайте более подробно разберём, как генерируются мета-теги:
- Когда чекбокс «Попросить поисковые системы не индексировать сайт» включен, то в тег будет добавлено значение
noindex,nofollow
, а директиваmax-image-preview:large
– нет. - Когда сайт редактируется через Customizer, то в тег будет добавлено значение
noindex
. - Страница авторизации WordPress включает
noindex,noarchive
тег, как и было ранее, а также тег<meta name="referrer" content="strict-origin-when-cross-origin" />
Добавляем произвольные значения в мета-тег robots
В хук wp_robots
вы можете передать ассоциативный массив ключ=>значение
. Для того, чтобы добавить свои значение тега, используем:
add_filter( 'wp_robots', 'truemisha_custom_robots' ); function truemisha_custom_robots() { $robots[ 'follow' ] = true; return $robots; }
В итоге код выше (не знаете куда вставлять?) добавляет значение follow
уже к существующим директивам, например, учитывая, что у нас по умолчанию выводится max-image-preview:large
, то мета-тег станет выглядеть так:
<meta name="robots" content="max-image-preview:large, follow" />
Также у вас есть возможность исключить уже добавленные ранее директивы:
add_filter( 'wp_robots', 'truemisha_custom_robots', 25 ); function truemisha_custom_robots() { unset( $robots[ 'max-image-preview' ] ); $robots[ 'follow' ] = true; return $robots; }
Источник: misha.blog