Cloudflare 配置 WordPress 纯静态 HTML 的完整方案 - 技术宅银魂 - 科技改变生活 - 万事屋

Cloudflare 配置 WordPress 纯静态 HTML 的完整方案

以下是配置 Cloudflare 实现 WordPress 纯静态 HTML 的完整方案,结合伪静态规则和缓存策略,分为基础设置、缓存优化、高级部署三个层面:


一、基础伪静态设置(WordPress 原生支持)

  1. 固定链接静态化
    进入 WordPress 后台 → 设置 → 固定链接 → 选择「自定义结构」,填写 /\%post_id\%.html,生成伪静态 URL(如 https://domain.com/123.html)。此操作需确保服务器支持 URL 重写,自动生成或手动上传 .htaccess 文件

  2. 配置 .htaccess 规则
    在网站根目录的 .htaccess 文件中添加以下代码(若不存在需手动创建):

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    此规则将动态请求重定向为静态化路径。

     

二、Cloudflare 缓存规则配置(伪静态加速)

  1. 页面规则设置
    在 Cloudflare 控制面板的 ​Rules → Page Rules​ 中创建 3 条规则(免费版限制):

    • 规则 1:匹配 *yourdomain.com/wp-admin*,设置缓存级别为 ​Bypass​(绕过缓存,避免后台被缓存)。
    • 规则 2:匹配 *yourdomain.com/*preview=true*,同样设为 ​Bypass​(防止文章预览页被缓存)。
    • 规则 3:匹配 *yourdomain.com/*,设置缓存级别为 ​Cache Everything,边缘 TTL 设为 1 天(全站缓存)。
  2. 静态资源缓存优化
    在 ​Caching → Cache Rules​ 中创建规则:

    • 匹配表达式(http.request.uri contains ".css") or (http.request.uri contains ".js") or ...(扩展名包含 .jpg, .png, .woff 等)。
    • 操作:缓存 TTL 设为 16 小时以上,并启用 ​Origin Cache Control​(优先遵循服务器缓存头)。
  3. 安全与兼容性设置

    • 启用 ​SSL/TLS​ 的「Full (Strict)」模式,强制 HTTPS 并安装源站证书。
    • 开启 ​Auto Minify​(压缩 JS/CSS/HTML)和 ​Brotli​ 压缩。
    • 禁用 ​Rocket Loader​ 避免与 WordPress 插件冲突。

三、全静态化部署方案(高级场景)

若需完全脱离 PHP 生成纯 HTML,可结合插件与 Cloudflare Pages:

  1. 生成静态文件
    安装 WordPress 插件 ​Simply Static,导出全站为 HTML/CSS/JS 文件包

  2. 部署到 Cloudflare Pages

    • 在 Cloudflare 控制台创建 Pages 项目,上传导出的 ZIP 文件。
    • 绑定自定义域名,开启 ​Auto HTTPS​ 和 ​Cache Header Rewrite​ 功能。
  3. 动态功能处理

    • 评论系统替换为 Disqus 或第三方服务。
    • 表单提交改用 Cloudflare Workers 或静态表单服务(如 Formspree)。

注意事项

  • 缓存更新:修改内容后需手动清除 Cloudflare 缓存(或通过插件 API 触发)。
  • 混合内容处理:启用 ​Automatic HTTPS Rewrites​ 修复 HTTPS 混合内容警告。
  • 监控工具:使用 Cloudflare 的 ​Cache Analytics​ 和第三方测速工具(如 Pingdom)优化规则。

通过以上组合方案,可实现 WordPress 从伪静态到全静态的灵活部署,兼顾速度与安全性。若需自动化更新,可升级 Simply Static 付费版或使用 GitHub Actions 同步静态文件

    没有回复内容

万事屋新帖