以下是配置 Cloudflare 实现 WordPress 纯静态 HTML 的完整方案,结合伪静态规则和缓存策略,分为基础设置、缓存优化、高级部署三个层面:
一、基础伪静态设置(WordPress 原生支持)
-
固定链接静态化
进入 WordPress 后台 → 设置 → 固定链接 → 选择「自定义结构」,填写/\%post_id\%.html
,生成伪静态 URL(如https://domain.com/123.html
)。此操作需确保服务器支持 URL 重写,自动生成或手动上传.htaccess
文件。 -
配置
.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 缓存规则配置(伪静态加速)
-
页面规则设置
在 Cloudflare 控制面板的 Rules → Page Rules 中创建 3 条规则(免费版限制):- 规则 1:匹配
*yourdomain.com/wp-admin*
,设置缓存级别为 Bypass(绕过缓存,避免后台被缓存)。 - 规则 2:匹配
*yourdomain.com/*preview=true*
,同样设为 Bypass(防止文章预览页被缓存)。 - 规则 3:匹配
*yourdomain.com/*
,设置缓存级别为 Cache Everything,边缘 TTL 设为 1 天(全站缓存)。
- 规则 1:匹配
-
静态资源缓存优化
在 Caching → Cache Rules 中创建规则:- 匹配表达式:
(http.request.uri contains ".css") or (http.request.uri contains ".js") or ...
(扩展名包含.jpg
,.png
,.woff
等)。 - 操作:缓存 TTL 设为 16 小时以上,并启用 Origin Cache Control(优先遵循服务器缓存头)。
- 匹配表达式:
-
安全与兼容性设置
- 启用 SSL/TLS 的「Full (Strict)」模式,强制 HTTPS 并安装源站证书。
- 开启 Auto Minify(压缩 JS/CSS/HTML)和 Brotli 压缩。
- 禁用 Rocket Loader 避免与 WordPress 插件冲突。
三、全静态化部署方案(高级场景)
若需完全脱离 PHP 生成纯 HTML,可结合插件与 Cloudflare Pages:
-
生成静态文件
安装 WordPress 插件 Simply Static,导出全站为 HTML/CSS/JS 文件包。 -
部署到 Cloudflare Pages
- 在 Cloudflare 控制台创建 Pages 项目,上传导出的 ZIP 文件。
- 绑定自定义域名,开启 Auto HTTPS 和 Cache Header Rewrite 功能。
-
动态功能处理
- 评论系统替换为 Disqus 或第三方服务。
- 表单提交改用 Cloudflare Workers 或静态表单服务(如 Formspree)。
注意事项
- 缓存更新:修改内容后需手动清除 Cloudflare 缓存(或通过插件 API 触发)。
- 混合内容处理:启用 Automatic HTTPS Rewrites 修复 HTTPS 混合内容警告。
- 监控工具:使用 Cloudflare 的 Cache Analytics 和第三方测速工具(如 Pingdom)优化规则。
通过以上组合方案,可实现 WordPress 从伪静态到全静态的灵活部署,兼顾速度与安全性。若需自动化更新,可升级 Simply Static 付费版或使用 GitHub Actions 同步静态文件
没有回复内容