Ваш путь: Главная » WordPress без плагинов, Версии WordPress » текущая страница

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


обновлено 2025-04-13 в теме: WordPress без плагинов; Версии WordPress
Запросто с WordPress создание и продвижение сайтов ATs media

В ядре WordPress 6.8 присутствует функционал так называемой спекулятивной загрузки, что это

…для реализации подобного ранее, использовался плагин Speculative Loading (Спекулятивная загрузка – или проще и понятнее: Предварительной загрузка), однако, стартуя от версии 6.8 cms внедрена в WordPress Core по умолчанию. Так называемая спекулятивная загрузка, общий логический смысл которой в организации условий для более, скажем так, быстрой загрузки страниц (url адресов).

 

Спекулятивная загрузка WordPress, отрабатывает примерно следующим образом: вся штука, в предварительном просмотре URL-адресов на страницах WordPress (т.е. обработке сервером/браузером заранее – до перехода пользователя по link!), срабатывает в тот момент, когда клиент (пользователь) наводит курсор мышки на определенную ссылку в документе.

 

Таким образом все URL-адреса на странице предварительно, что важно в смысле ускорения, обрабатываются с помощью eagerness и конфигурации настроек moderate как правило, в момент попадания курсора на ссылку: т.е. как бы загружаются браузером клиента БЕЗ перехода на страницу! ну и ясно, что в случае посещения страницы, она открывается быстрее)…

 

…стартуя от WordPress 6.8, данный функционал присутствует в cms по умолчанию:

 


 

 

 

 

сквозная мораль: URL-адрес загружается предварительно (или, лучше сказать, обрабатывается сервером) до того как пользователь решает перейти по ссылке! По сути не требует никаких настроек! API правил используется с начала2023 года.

 

 

фильтр render_block_core_navigation_link_allowed_post_status

 

 

WordPress 6.8 спекулятивная загрузка – на примере функции wp_speculation_rules_href_exclude_paths

 

 

Исключения: если url адрес имеет некие параметры запроса, например, get , то такие “ссылки” исключаются из отработки предварительной визуализации – это, скажем так, в идеале.

 

 

исключаем url из спекулятивной загрузки фильтром

 

 

Функция wp_speculation_rules_href_exclude_paths – это шаблон (фильтр) для исключения требуемых адресов, пример ниже:

 

 

add_filter(
'wp_speculation_rules_href_exclude_paths',
function ( $href_exclude_paths ) {
$href_exclude_paths[] = '/cart/*';
return $href_exclude_paths;
}
);

 

 

Фильтр обеспечит запрет спекулятивной загрузки ДЛЯ URL-адреса, который стартует путем /cart/ (после доменного имени), т.е. будут исключены из “быстрой” загрузки, причем независимо от prefetch или же prerender:

 

 

Обратите внимание на /cart/* – “звездочка” это условия запрета для всех иных вариаций ссылки после cart, кои исключаются!..

 

 

Еще один пример для исключения /personalized-area/ из prerender спекулятивной загрузки:

 

 

add_filter(
'wp_speculation_rules_href_exclude_paths',
function ( $href_exclude_paths, $mode ) {
if ( 'prerender' === $mode ) {
$href_exclude_paths[] = '/personalized-area/*';
}
return $href_exclude_paths;
},
10,
2
);

 

конфигурации wp_speculation_rules_configuration фильтра таковы:

 

 

получает либо ассоциативный массив с ключами mode / eagerness, либо null – отключение спекулятивной загрузки в текущем (указанном) запросе.

 

Для фильтра такие значения по умолчанию: array( 'mode' => 'auto', 'eagerness' => 'auto' ),

 

  • в случае, если постоянные ссылки отключены, тогда отдается null.
  • значение auto (в любой настроечной конфигурации) определяет то, что WordPress Core будет определять конфигурацию самостоятельно. Правила API правила в следующих выпусках WordPress, скорее всего, будут меняться.

 

 

Фильтр для увеличения производительности (с использованием moderate):

 

 

add_filter(
'wp_speculation_rules_configuration',
function ( $config ) {
if ( is_array( $config ) ) {
$config['eagerness'] = 'moderate';
}
return $config;
}
);

 

 

  • значение mode либо auto, prefetch, либо prerender;
  • eagerness – auto, conservative, moderate, либо eager

 

 

API правила WP наряду с показанными выше, имеют значение immediate, однако же его ОЧЕНЬ не рекомендуется использовать!! API ядра WordPress не позволяет с ним работать, а всякие там костыльные обходы – чреваты! Будьте осторожны!

 

 

Например, для более пущего повышения производительности (в функционале упомянутого выше плагина Speculative Loading), использовался фильтр с prerender и moderate.

 

Но, несмотря на то, что возможно добиться значительного прироста производительности, следует иметь в виду настройки предварительной визуализации JavaScript клиентского браузера, перед тем, как решите включить prerende

 

 

add_filter(
'wp_speculation_rules_configuration',
function ( $config ) {
if ( is_array( $config ) ) {
$config['mode'] = 'prerender';
$config['eagerness'] = 'moderate';
}
return $config;
}
);

 

 

отслеживать данные отработки спекулятивной загрузки в браузере Chrome возможно примерно так:

 

 

debug спекулятивная загрузка WordPress

Инструментарий разработчика Chrome DevTools позволяет получить информацию об обработке ссылок сайта: к примеру, варианты предварительной отрисовке страниц

 

 

К примеру, в разделе “Сеть” выведены данные о том, является ли запрашиваемая страница “предварительно отображенной”, или же без предварительной отрисовки.

 

 

варианты административных настроек

 

Если на сайте не в полной мере отрабатывают “Постоянные ссылки”, URL-адреса с теми или иными определенными параметрами запроса, возможно включить “в спекулятивную загрузку” средствами фильтра:

 

 

add_filter(
'wp_speculation_rules_configuration',
function ( $config ) {
if ( ! $config && ! get_option( 'permalink_structure' ) ) {
$config = array(
'mode' => 'auto',
'eagerness' => 'auto',
);
}
return $config;
}
);

 

 

Данные выше настройки конфигурации загрузки следует использовать осторожно !!!! Напоминаю: данный функционал теперь по умолчанию WordPress Core и нормально отрабатывает что называется “без вмешательств”, обеспечивая безопасность сайтов.

 

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

 

 

Подробнее можно почитать здесь: спекулятивная загрузка Core api

 

 


На этом моя повесть нынче решительно окончена...!




Сергей Кролл -
вебразработчик ATs media - автор блога запросто с WordPress


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

рекомендовано по запросу лично для вас:

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

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

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