Ваш путь: Главная » Техническое SEO, Версии WordPress » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2021-03-29 в теме: Техническое SEO; Версии WordPress
Запросто с WordPress создание и продвижение сайтов ATs media

WordPress обновление: Robots API – директива max-image-preview:large; как отклюить

Нынче тема в большей степени относительно обновления Robots API в версии 5.7 WordPress, – хотя в 5.7 достаточно новенького (о некотором упомяну по тексту ниже), однако, чтобы более подробно разобраться в каждой теме по отдельности, коснемся каждой из них в следующих статьях.

 

С очередным обновлением разработчики имеют наибольший контроль в управлении мета-тегом robots / новая функция wp_robots() /. Если сайт открыт к индексации, отныне обновленный WordPress по умолчанию добавляет в <head> в мета robots директиву max-image-preview:large.

 

Если сайт широко использует в своем контенте большие изображения, то данная директива позволяет поисковым ботам открывать для предварительного просмотра большие изображения (по типу, исключив дубли).

Если же вам подобное обновление не кстати, то – узнаем, как убрать директиву max-image-preview:large из мета robots, как управлять:

 


 

 

 

 

 

 

Давайте по порядку: WP 5.7 новая функция wp_robots() – она и выводит метатег robots.

 

 

 

 

новая функция: wp_robots()

 

 

 

 

Функция автоматически интегрируется в ядро(е) WordPress, и именно поэтому “плагинам и темам” теперь нет необходимости вызывать ее вручную.

Отныне, если мы запускаем новенький сайт (с ядром 5.7), функция автоматом добавит в раздел wp_head метатег robots (как он выглядит, показано на скрине ниже).

 

 

Однако, в некоторых случаях (при разработке сайтов), либо, если шаблон по тем или иным функциональным причинам не использует событие wp_head(), к функции wp_robots() можно подключиться (и что-то изменить) посредством фильтра:

 

 

подключаемся к функции так:

 

 

add_action( 'my_custom_template_head', 'wp_robots' );
function my_custom_template_head( ) {
// что-то задаем
}

 

 

 

 

как подключиться к robots API

 

 

 

 

robots атрибуты могут быть отфильтрованы с помощью хуков wp_robots.

 

 

Разработчикам тем и плагинов, которые индивидуально обыгрывают robots метатеги, рекомендовано использовать новый robots API, подключая таким образом (в замен устаревшим функциям) собственные директивы посредством фильтров к wp_robots, примерно так, как описано выше или ниже…

 

 

 

 

директива max-image-preview:large

 

 

 

 

Подробнее о версиях WordPress в выборке по теме.

 

 

 

Как и упоминалось выше, новый robots метатег включен по умолчанию wp_head – вывод этого метатега и, соответственно – директиву, возможно отключить (как, описано ниже).

 

 

в HTML  коде страницы метатег/директива выглядит так:

 

 

<html>
<head>
<meta name="robots" content="max-image-preview:large" />
</head>

 

 

или, кому понятнее – визуально, скрин:

 

 

 

новое robots

 

 

 

 

как отключить директиву max-image-preview:large

 

 

 

По желанию, разработчики легко могут отключить эту директиву с помощью следующего фильтра.

 

 

Чтобы убрать из исходного кода страницы директиву max-image-preview:large пропишите такой нехитрый фильтр в файл functions.php своего активного шаблона:

 

 

remove_filter( 'wp_robots', 'wp_robots_max_image_preview_large' );

 

 

 

 

как добавить свои атрибуты (директивы) в метатег robots

 

 

 

 

wp_robots – фильтр: отработка на основе – ключ-значение.

 

 

 

Чтобы добавить пользовательские команды к метатегу robots, используем следующий фильтр:

 

 

function wporg_wp_robots_add_follow( $robots ) {
$robots['follow'] = true;
return $robots;
}
add_filter( 'wp_robots', 'wporg_wp_robots_add_follow' );

 

 

 

будет добавлено follow значение (или директива, кому как угодно) в дополнение к существующему.

 

 

Учитывая, что директива max-image-preview:large добавлена по умолчанию, то данный код отработает и сгенерирует такой метатег:

 

 

 

<meta name="robots" content="max-image-preview:large, follow" />

 

 

 

отменить существующее значение max-image-preview можно, например, при помощи unset так:

 

 

 

function wporg_wp_robots_add_follow( $robots ) {
unset( $robots['max-image-preview'] );
$robots['follow'] = true;
return $robots;
}
add_filter( 'wp_robots', 'wporg_wp_robots_add_follow' );

 

 

 

 

В связи с обновленным роботс API следует иметь в виду

 

 

 

 

и еще по теме обновления WP 5.7:

 

 

 

устаревшие функции

 

 

 

 

Новый robots API, управляемый через фильтр wp_robots, теперь заменяет устаревшие условия обработки значений robots, которые использовались в прежних версиях ​​WordPress.

 

 

…данные ниже функции устарели! теперь их использовать не нужно:

 

 

noindex() – вместо нее работаем с новой wp_robots_noindex().

 

wp_no_robots() – вместо нее wp_robots_no_robots().

 

wp_sensitive_page_meta() – теперь имеет пару отдельных функциональных дополнений:

 

для директив noindex,noarchive robots – новую wp_robots_sensitive_page().

…и для referrer – возможно работать с wp_strict_cross_origin_referrer().

 

 

 

 

отложенная загрузка для iframe – WP 5.7 – wp_filter_content_tags()

 

 

 

 

описание функции wp_filter_content_tags()

 

 

 

 

В WordPress 5.7 для фрейм контента предусматривается – по умолчанию – так называемая отложенная загрузка, с возможностями браузера loading. Обусловит производительность – скорость загрузки страницы. Если помните, то в WordPress 5.5 по подобному принципу была реализована отложенная загрузка изображений.

 

 

Чтобы разрешить отложенную загрузку окон iframe никаких сторонних решений (по типу плагинов) не нужно!

 

Обновленный WordPress по умолчанию добавляет сообщение браузеру – атрибут loading=’lazy’ в организацию тегов iframe. Важно! если указаны ширина, высота (т.е. имеет атрибуты width и height) – это для того, чтобы избежать ошибок смешения макета блока фрейма.

 

 

Если взглянуть на атрибутику фрейма в коде, то выглядит новый атрибут так:

 

 

 

отложенная загрузка iframe

 

 

 

Атрибут loading="lazy" добавляется (обрабатывается) посредством функции wp_filter_content_tags(), которая была введена в WP 5.7 для оптимизации производительности относительно отложенной загрузки изображений. Ну и поскольку задачи функции схожи как для изображений, так и для iframe – ее использование логично и в этом случае.

 

 

По умолчанию WordPress добавляет loading="lazy" атрибут к следующим условиям:

 

 

  • iframe в содержимом the_content;
  • iframe в отрывках постов the_excerpt;
  • iframe в текстовых виджетах widget_text_content.

 

 

 

 

Напоминаю: атрибут будет добавлен только если iframe имеет атрибуты width и height

 

 

 

iframe с отложенной загрузкой – как отключить

 

 

 

 

Вордпресс такая штука, где возможно практически всё настроить по своему усмотрению: касаемо и отложенной загрузки блоков iframe –  решает разработчик, использовать ли отложенную загрузку, или нет…

 

Основным фильтром (как и для изображений) является wp_lazy_loading_enabled, который теперь по умолчанию будет возвращать true для iframe.

 

 

Итак, чтобы отключить так называемую отложенную загрузку (ее еще называют ленивая загрузка) для окон (или блоков) iframe в публикации, коя в 5.7 по умолчанию, можно воспользоваться таким кодом:

 

 

 

function disable_post_content_iframe_lazy_loading( $default, $tag_name, $context ) {
if ( 'iframe' === $tag_name && 'the_content' === $context ) {
return false;
}
return $default;
}
add_filter( 'wp_lazy_loading_enabled',  'disable_post_content_iframe_lazy_loading', 10, 3 );

 

 

 

 

это для the_content.

 

 

 

 

как отключить отложенную загрузку в конкретном iframe

 

 

 

 

Для отключения отложенной загрузки во фрейме существует специальный фильтр wp_iframe_tag_add_loading_attr, – он и позволит настраивать конкретный iframe тег для вашего сайта.

Фильтр имеет ту же сигнатуру, что и wp_img_tag_add_loading_attr для картинок.

 

 

Можете использовать для того, чтобы исключить автоматическое добавление loading атрибута к требуемому вам iframe.

 

 

Добавьте следующий код, чтобы отключит ленивую загрузку фреймов, например, с видео YouTube:

 

 

 

function skip_loading_lazy_youtube_iframes( $value, $iframe, $context ) {
if ( 'the_content' === $context && false !== strpos( $iframe, 'youtube.com' ) {
return false;
}
return $value;
}
add_filter( 'wp_iframe_tag_add_loading_attr', 'skip_loading_lazy_youtube_iframes', 10, 3 );

 

 

 

 

как эпилог:

 

 

а) Помимо прочего в WordPress 5.7 наиболее оптимизирована работа с php 8

 

б) как известно в WordPress 5.6 введена новая система создания авторизованных запросов к различным API WordPress, в том числе к REST API. Система получила имя Application Passwords (пароли приложений).

 

В следующих темах рассмотрим, каким же образом все это развивается в версии ВП 5.7.

 

и т.д…

 

 

 

 

На этом я закругляюсь… об остальном новом в ядре WP в следующих темах…

 

 

 

 

Как работать с условными тегами WP: пример на странице пагинации – закрываем в noindex,follow

 

 

 

 

 

 

 

 

создание… продвижение сайтов: студия ATs media запросто с WordPress

 

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©