作为 WordPress 6.1 版本的一部分,性能团队添加了两项站点健康检查(持久对象缓存和页面缓存)。这些检查之前在Performance Lab 插件中进行了测试。您可以在原始提案中阅读更多关于它们的信息。
这两项检查都将仅在生产环境中运行。
持久对象缓存
这项新检查确定站点是否使用持久对象缓存,并在对站点有意义时推荐它。它还链接到为检查创建的支持资源。
已包含一些过滤器,旨在让托管服务提供商提供有关其环境的更具体的步骤。
主持人可以使用site_status_persistent_object_cache_url
过滤器将原始 WordPress 指南替换为他们自己的指南。
/**
* Filter the Persistent object cache URL.
*/
add_filter( 'site_status_persistent_object_cache_url', function() {
return 'https://awesomewphosting.com/optimization/persistent-object-cache';
} );
主机可以使用site_status_persistent_object_cache_notes
过滤器自定义注释以推荐他们首选的对象缓存解决方案。
/**
* Update the persistent object cache notes.
*/
add_filter( 'site_status_persistent_object_cache_notes', function( $notes ) {
$notes = __( 'The updated notes can go here as text.', 'text-domain' );
return $notes;
} );
该site_status_persistent_object_cache_thresholds
过滤器允许修改 WordPress 认为使用持久对象缓存有益的阈值。
/**
* Override the whole $thresholds array, or any specific indexes as required.
*/
add_filter( 'site_status_persistent_object_cache_thresholds', function( $thresholds ) {
$thresholds = array(
'alloptions_count' => 600,
'alloptions_bytes' => 200000,
'comments_count' => 2000,
'options_count' => 2000,
'posts_count' => 2000,
'terms_count' => 2000,
'users_count' => 2000,
);
return $thresholds;
} );
或者,site_status_should_suggest_persistent_object_cache
是一个短路过滤器,它允许使用完全自定义的逻辑来确定持久对象缓存是否对站点有意义。
/**
* Opt in for suggesting the persistent object cache
*/
add_filter( 'site_status_should_suggest_persistent_object_cache', '__return_true' );
有关此新检查的其他上下文,请参阅#56040。
整页缓存
这项新检查确定站点是否正在使用整页缓存解决方案以及响应时间是否可以接受。
它还添加了一些过滤器,旨在让托管公司自定义响应阈值并添加自己的缓存标头以进行检测。
该site_status_good_response_time_threshold
过滤器允许修改 600 毫秒的当前阈值。低于此值的所有内容都将被认为是可以接受的。
/**
* Filter the response time threshold
*/
add_filter( 'site_status_good_response_time_threshold', function() {
return 200;
} );
可以通过site_status_page_cache_supported_cache_headers
过滤器添加其他自定义缓存标头(以及可选的验证回调)。
/**
* Filter the page cache supported cache headers
* $cache_headers contains List of client caching headers and their (optional) verification callbacks.
*/
add_filter( 'site_status_page_cache_supported_cache_headers', function( $cache_headers ) {
// Add new header to the existing list.
$cache_headers['cf-cache-status'] = static function ( $header_value ) {
return false !== strpos( strtolower( $header_value ), 'hit' );
};
return $cache_headers;
});
有关此新检查的其他上下文,请参阅#56041