You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress网站中实现Signed Exchanges (SXGs)

WordPress 部署Signed Exchanges (SXGs)优化LCP实操流程

前置准备

  • 服务器要求:必须使用支持HTTP/2或HTTP/3的Web服务器(Nginx 1.13.9+/Apache 2.4.26+都符合要求),主机需要支持自定义响应头、证书配置
  • 证书要求:必须拥有站点对应的有效TLS证书,且证书必须包含CanSignHttpExchanges扩展(普通DV证书不支持,需要向证书颁发机构申请带该扩展的专用SXG证书)
  • WordPress环境要求:版本≥5.7,PHP版本≥7.4,无强制缓存插件冲突(如果用了WP Rocket、W3 Total Cache这类插件需要提前预留钩子配置位)

操作步骤

第一步:安装配置SXG生成工具

  • 用官方的gen-signedexchange工具,服务器端安装对应架构的二进制包,或者直接用Docker镜像部署更便捷
  • 配置工具参数:指定你的证书路径、私钥路径、SXG有效期(建议设为7天,最长不能超过90天)、站点根URL
# 示例生成单页SXG的命令模板
gen-signedexchange \
  -uri https://你的域名/页面路径 \
  -content 页面静态文件路径 \
  -certificate 你的SXG证书路径.pem \
  -privateKey 你的私钥路径.key \
  -validity 604800 \
  -o 输出路径/文件名.sxg

第二步:配置Web服务器适配SXG响应

Nginx配置示例

  • 首先添加SXG的MIME类型:
types {
  application/signed-exchange sxg;
}
  • 配置响应头规则,当客户端支持SXG时返回对应内容:
location / {
  set $sxg_supported "";
  if ($http_accept ~* "application/signed-exchange.*v=b3") {
    set $sxg_supported 1;
  }
  if (-f $document_root/sxg$request_uri.sxg) {
    set $sxg_supported "${sxg_supported}1";
  }
  if ($sxg_supported = 11) {
    add_header Content-Type "application/signed-exchange;v=b3";
    rewrite ^(.*)$ /sxg$1.sxg last;
  }
  # 原有WordPress伪静态规则保留
  try_files $uri $uri/ /index.php?$args;
}

Apache配置示例

  • 在.htaccess中添加规则:
AddType application/signed-exchange;v=b3 .sxg
RewriteEngine On
RewriteCond %{HTTP:Accept} ~* application/signed-exchange.*v=b3
RewriteCond %{DOCUMENT_ROOT}/sxg%{REQUEST_URI}.sxg -f
RewriteRule ^(.*)$ /sxg/$1.sxg [L,T=application/signed-exchange;v=b3]

第三步:WordPress侧适配配置

  • 安装自定义功能插件或者在主题functions.php中添加钩子,实现页面更新时自动触发SXG生成:
// 页面/文章发布更新时触发SXG生成
add_action('save_post', function($post_id) {
    if (wp_is_post_revision($post_id) || wp_is_post_autosave($post_id)) return;
    $post_url = get_permalink($post_id);
    // 调用你部署的SXG生成工具接口/执行shell命令生成对应页面的SXG文件
    // 注意:生产环境建议用队列异步处理,避免阻塞发布流程
});
  • 如果你用了静态缓存插件,需要在缓存更新钩子上也加上述SXG生成逻辑,保证SXG内容和最新页面内容一致。

第四步:效果验证

  • 先本地用curl命令验证响应是否正确:
curl -H "Accept: application/signed-exchange;v=b3" -I https://你的域名/测试页面

正常返回头会包含Content-Type: application/signed-exchange;v=b3

  • 用Chrome DevTools的Performance标签页测试LCP变化,同时用Core Web Vitals检测工具验证指标提升效果。

注意事项

  • SXG只对可公开访问的静态内容页面生效,登录态页面、动态个性化内容页面不要生成SXG,会导致内容展示错误
  • 证书到期前需要提前更新SXG证书并重新生成所有有效SXG文件,避免失效
  • 如果发现LCP没有明显提升,优先检查你的LCP元素是否是静态资源,SXG对静态文本、首屏图片类的LCP优化效果最明显

内容的提问来源于stack exchange,提问作者l.vakili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:36:02