如何关停WordPress推测性加载?

你之前可能尝试了一些方法但没能成功关停WordPress的推测性加载(Speculative Loading)功能,这可能和你的WordPress版本或者配置有关。我会帮你梳理有效的方法。

📋 首先要确认WordPress版本
推测性加载(Speculative Loading)功能在 WordPress 6.8及以上版本中才被纳入核心。如果你使用的是较低版本,那么你的站点可能并非通过核心功能开启此特性。

你可以通过WordPress后台的“仪表盘”>“更新”查看当前版本。

下面是关停此功能的几种方法,请根据你的实际情况尝试:


🚫 方法一:在WordPress 6.8+阅读设置中直接关闭(最简单)

如果你的WordPress是6.8或更高版本,并且此功能是由核心提供的,那么最直接的方法是在后台设置中关闭。

  1. 进入WordPress后台 → “设置”“阅读”
  2. 滚动到页面底部,找到 “Speculative Loading” 设置区域。
  3. 将选项调整为 “Disabled”(禁用)并保存更改。

<img src=”https://www.wpdaxue.com/wp-content/uploads/2025/03/speculative-loading-settings.png” alt=”WordPress 6.8+ 阅读设置中的推测性加载选项” />

WordPress 6.8+ 阅读设置中的推测性加载选项


🧩 方法二:使用代码禁用(适用于所有版本)

如果后台没有找到开关,或者你想通过代码彻底禁用,可以将以下代码添加到当前主题的 functions.php 文件末尾:

// 完全禁用推测性加载
add_filter( 'wp_speculation_rules_configuration', function () {
    return null;
} );

或者,如果你希望更精确地控制,可以根据条件禁用:

// 选择性禁用推测性加载的示例
add_filter( 'wp_speculation_rules_configuration', function ( $config ) {
    // 如果是特定页面或条件,返回 null 以禁用
    // if ( is_singular('product') ) { // 示例:在商品单篇页面禁用
    //    return null;
    // }
    return $config; // 其他情况保持原样
} );

重要提示:修改主题文件前,建议先进行备份,或者使用 WPCode 这类“代码片段管理插件”来添加上述代码,以避免直接编辑主题文件可能带来的风险。


🔌 方法三:检查并停用相关插件

推测性加载功能也可能由第三方插件(例如之前存在的 Speculative Loading 功能插件,或其他性能优化插件)引入。

  1. 进入WordPress后台 → “插件”“已安装插件”
  2. 暂时停用所有疑似提供预加载、预渲染、性能优化功能的插件(你可以逐个停用测试,或者一次性全部停用再逐个启用以排查)。
  3. 每次停用后都刷新前台页面,并查看页面源代码(快捷键 Ctrl+UCmd+U),搜索 speculationrules,看对应的代码块是否消失。

🎯 方法四:排除特定URL(不完全禁用,但可控制)

如果你只是不希望某些特定URL(例如后台管理、购物车页面等)被预加载,可以不必完全禁用该功能,而是选择排除这些路径。这需要通过代码实现:

// 将特定路径排除在推测性加载之外
add_filter( 'wp_speculation_rules_href_exclude_paths', function ( $exclude_paths ) {
    // 将你不想预加载的路径加入数组
    $exclude_paths[] = '/wp-admin/*';   // 排除后台路径
    $exclude_paths[] = '/cart/*';       // 排除购物车路径
    $exclude_paths[] = '/checkout/*';   // 排除结算路径
    $exclude_paths[] = '/my-account/*'; // 排除用户账户路径
    // $exclude_paths[] = '/your-specific-path/*'; // 添加任何其他自定义路径
    return $exclude_paths;
} );

将上述代码加入 functions.php 或通过代码片段插件添加。这样,这些路径就不会被预加载了。


💎 如何选择合适的方法

为了帮助你快速决策,可以参考下面的流程:

flowchart TD
    A[开始:需要关停推测性加载] --> B{你的WordPress版本是?};
    B -- "6.8 或更高" --> C{是否想完全禁用?};
    B -- "低于 6.8" --> D[尝试方法三:<br>检查并停用相关插件];

    C -- "是,想完全禁用" --> E[首选方法一:<br>在阅读设置中直接禁用];
    C -- "否,仅排除部分链接" --> F[使用方法四:<br>代码排除特定URL];

    E --> G{设置中是否生效?};
    G -- "是" --> H[成功解决];
    G -- "否或想代码控制" --> I[同时使用方法二:<br>代码完全禁用];

    D --> J[问题是否解决?];
    J -- "是" --> H;
    J -- "否" --> K[尝试方法二:<br>代码完全禁用];

    I --> H;
    K --> H;

⚠️ 注意事项

  • 清除缓存:无论采用哪种方法,操作完成后务必清除你的WordPress缓存和浏览器缓存,再检查是否生效。许多缓存插件可能会缓存页面中的规则。
  • 主题功能:极少数情况下,主题也可能集成推测性加载功能。如果以上方法均无效,可以尝试临时切换至 WordPress 默认主题(如Twenty Twenty-Four) 查看是否该功能消失。
  • “无效”的可能原因:你之前尝试的方法无效,很可能是因为没有准确找到此功能的来源(是WordPress核心、特定插件,还是主题),或者操作后缓存未被清除导致旧规则依然被浏览器加载。

希望这次梳理的方法能帮助你有效关停WordPress的推测性加载功能。如果问题依旧,可以提供更多关于你WordPress版本和已启用插件的信息,以便进一步分析。