跳到主要内容

Disabling Autoloading Redirect Options

自 Yoast SEO Premium 17.7 版本起,用于计算重定向目标的两个选项(wpseo-premium-redirects-export-plainwpseo-premium-redirects-export-regex)已设置为自动加载,以减少两次查询。 如果重定向数量变得庞大,您可能希望禁用这些选项的自动加载,例如当您使用对象缓存且自动加载的选项超出最大对象大小限制时。 仅在数据库中将这两个选项的 autoload 值改为 no 是不够的,因为 Yoast SEO Premium 会强制这些选项再次自动加载。

在 Yoast SEO Premium 20.13 版本中,我们引入了 Yoast\WP\SEO\redirects_options_autoload 来帮助您更改此行为。您可以将以下代码添加到主题的 functions.php 文件中,以防止 Yoast SEO Premium 强制自动加载重定向选项:

add_filter( 'Yoast\WP\SEO\redirects_options_autoload', '__return_false');

请注意,仅此操作不足以停止自动加载:您仍需在数据库中将这两个选项的 autoload 值改为 no。 您也可以在重定向管理器中添加/删除重定向,或编辑一个重定向(只要它确实被更改且未按原样保存),但如果这是一个 普通 重定向,只有 wpseo-premium-redirects-export-plain 的自动加载会改变,对于 正则表达式 重定向也是如此。

除了 autoload 的值外,该过滤器还接受两个参数:重定向的类型(plainregex)以及当前定义的重定向数组。 因此,例如,您可以确保 plain 重定向的选项不会被自动加载,同时保持 regex 重定向的默认行为。在主题的 functions.php 文件中添加如下代码片段:

function yoast_set_autoload_no_plain( $autoload, $type, $redirects ) {
if ( $type === 'plain' ) {
return false;
}
return $autoload;
}

add_filter( 'Yoast\WP\SEO\redirects_options_autoload', 'yoast_set_autoload_no_plain', 3, 10);