没有不值得去解决的问题,也没有不值得去学习的技术!

标签: Cloudflare

  • 本文记录了 WordPress 中文站与英文站的 CDN 缓存命中率优化过程。通过分析 EdgeOne 与 Cloudflare 的请求状态、响应流量、HTTP 状态码和资源类型,确认大量 MISS 主要来自 WordPress HTML 长尾页面,而原有 1~4 小时的缓存时间偏短。将两边的 HTML 边缘缓存 TTL 统一调整为 12 小时,并补全个性化 Cookie 绕过规则后,Cloudflare Cache Hit Rate 从 16.76% 提升至 20.25%,EdgeOne 请求 Hit 从约 50.5% 提升至 58.5%,流量 Hit 从约 26.6% 提升至 35.6%,验证了统一延长缓存时间的实际效果。

  • 将 media、en 和 admin 拆出 EdgeOne 后,我使用 BOCE、中国成都移动宽带和 WebPageTest,对中文站、英文站及媒体图片进行了实际性能测试。结果显示,中文站继续使用 EdgeOne 后,在中国大陆和海外均保持良好性能;英文站通过 Cloudflare 在新加坡和美国的首屏表现稳定,但中国大陆移动、联通线路访问明显较慢;media 图片资源是当前架构中波动最明显的部分。综合成本、性能与后台稳定性来看,现有分层架构仍值得保留,但需要继续关注 Cloudflare 在中国大陆线路中的稳定性及图片对 LCP 的影响。

  • 近期博客先后启用了英文子域名、独立后台域名、多 CDN、W3 Total Cache Page Cache 与 Redis Object Cache,并针对 Polylang、W3TC、TMS Extensions for Polylang、SlyTranslate 等兼容问题增加了多项调整。随着缓存失效、语言识别和插件升级风险逐渐显现,本文暂停继续增加补丁,对现有多域名架构进行一次阶段性复盘,明确哪些组件继续保留、哪些第三方插件源码修改需要撤销,以及后续应按照“改动盘点、恢复 W3TC 缓存闭环、实现多语言一键清理、最后接入 EdgeOne 与 Cloudflare 自动刷新”的顺序推进,使整套方案重新变得可控、可维护并具备复用价值。

  • 本文记录 WordPress 英文站从 /en/ 路径迁移到 en.shuijingwanwq.com 后,围绕 Yoast SEO 站点地图进行的完整调整与验证过程。内容包括薄内容标签页设置 noindex 并从 XML Sitemap 排除、W3 Total Cache 与 Cloudflare 多层缓存清理、重复标签导致的 Sitemap 误判排查,以及 Google、Bing、360、百度和搜狗等搜索平台中的资源添加与站点地图更新。最终,中英文站均统一使用 Yoast 生成的 sitemap_index.xml,英文子域的 Sitemap、robots、canonical 和搜索引擎提交状态均得到验证。

  • 本文记录了将 WordPress 英文站从 `www` 主域名下的 `/en/` 路径迁移到 `en.shuijingwanwq.com` 子域名的完整实践。由于站点原有数千条标签 slug 转换、旧标签合并和专题重定向规则,不能简单使用一条通用 rewrite。最终通过“历史路径映射、最终域名转换、普通 `/en/` 兜底迁移”三层逻辑,实现旧英文标签和专题一次 301 到达最终英文地址,同时保留中文主域名规则与查询参数,并将 `www` 和 `en` 子域名后续产生的 301 规则分开维护。

  • 本文继续记录 WordPress + Polylang 英文站从 /en/ 迁移到 en.shuijingwanwq.com 之后的 CDN 与缓存配置过程。前一篇文章已经解决了源站侧的 Polylang 多域名配置、W3 Total Cache Page Cache 兼容、Redis Object Cache 旧配置缓存等问题。本文重点处理 en.shuijingwanwq.com 接入 Cloudflare、启用 HTML 页面缓存、验证首页与文章页 MISS 到 HIT、确认登录用户 Cookie、REST API、登录页和后台入口不会被缓存,并最终通过 Nginx 将非 www 域名下的后台入口统一 301 到 www.shuijingwanwq.com。

  • 这篇文章基于前一篇将 WordPress `/wp-content/uploads/` 媒体库资源迁移到 `media.shuijingwanwq.com + Cloudflare` 的实践,继续分析 EdgeOne 流量成本控制问题。通过 EdgeOne 指标发现,虽然 uploads 图片和附件已经从 EdgeOne 拆出,但 `www.shuijingwanwq.com/en/` 英文路径仍占今日 EdgeOne 流量约三分之一。文章进一步评估了页面缓存、Bot 流量、`/en/` 路径占比、Nginx 现有 301 规则冲突风险,以及将英文站迁移到 `en.shuijingwanwq.com + Cloudflare` 的收益与代价。最终结论是:英文站拆分到子域名有助于显著降低 EdgeOne 流量,但不能仓促执行,需要先确认 Polylang、多语言链接、canonical、hreflang、sitemap、Cloudflare 接入和 301 跳转规则,确保旧 `/en/*` 路径能够一次跳转到最终英文子域名地址。

  • 在将 WordPress 上传资源迁移到独立的 media.shuijingwanwq.com 子域名,并采用 EdgeOne + Cloudflare 混合 CDN 架构后,发现 Cloudflare 中原本针对 WordPress 主站配置的 Cache Rules 已经不再适用于新的架构。 本文记录了这次缓存规则调整过程:将 Cloudflare 的职责从整个 WordPress 网站 CDN 调整为仅负责 media.shuijingwanwq.com 静态资源缓存;重新设计基于 Host 的缓存规则;为图片、附件等长期不变的上传资源设置合理 TTL;同时禁用已经迁移到 EdgeOne 后不再需要的 WordPress 缓存规则。 通过这次调整,最终形成了更清晰的 CDN 分工: EdgeOne 负责 www.shuijingwanwq.com WordPress 主站及非 uploads 目录资源; Cloudflare 负责 media.shuijingwanwq.com 下的 uploads 静态资源缓存。 本文也总结了 CDN 迁移过程中容易遗漏的缓存策略同步问题,为类似的多 CDN 架构调整提供参考。

  • 这篇文章记录了将 WordPress 历史图片资源迁移到 `media.shuijingwanwq.com` 后,EdgeOne 仍然持续出现 301 请求的排查过程。通过 EdgeOne 状态码分析、`curl` 验证、旧文章源码检查和 Better Search Replace dry run,最终确认问题并非 EdgeOne 回源异常,而是历史文章正文中仍然保存着迁移前的 `www.shuijingwanwq.com/wp-content/uploads/` 图片地址。文章详细记录了如何安全替换完整旧图片 URL、清理 W3 Total Cache 缓存,并说明为什么不应无脑替换所有 `/wp-content/uploads/` 相对路径,以避免破坏技术文章中的路径说明内容。

  • 这篇文章记录了一次 EdgeOne 流量成本排查与优化过程:在发现 EdgeOne 个人版 50GB 套餐流量消耗过快后,先通过指标分析定位到 `/wp-content/uploads/` 上传资源和站点 Logo 是主要流量来源。随后将 Logo 从 1024×1024、884KB 压缩为 512×512、173KB,并进一步把 WordPress 媒体库上传资源迁移到 `media.shuijingwanwq.com` 子域名,由 Cloudflare 承接图片、ZIP、附件等大体积静态资源流量。 文章重点介绍了如何使用 OneinStack 为 `media.shuijingwanwq.com` 创建独立虚拟主机,将其根目录指向 WordPress 的 `wp-content/uploads` 目录,并禁止 PHP 执行以降低安全风险。随后通过修改 WordPress 的 `upload_url_path`,让前台页面自动输出 media 域名资源地址,同时在 EdgeOne 中添加 `/wp-content/uploads/*` 到 media 子域名的 301 跳转规则,确保旧资源地址也能自动转发到 Cloudflare。 这次优化并不是把整个网站重新迁回 Cloudflare,而是保留主站 HTML 页面继续走 EdgeOne,以维持中国大陆用户尤其是移动、联通网络下的…

👨‍💻 个人品牌

王世强|技术实践者 · 独立博客作者

15+ 年 Web 与系统实践经验,持续关注网站基础设施、系统优化、AI 工具与自动化。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

长期建设个人项目,也欢迎合适的技术交流、咨询与合作。

👉 关于我

.env (14) add (16) AI 翻译 (33) Array (19) A Tour of Go (75) CDN 缓存 (13) CentOS (23) ChatGPT (23) ChatGPT Plus (15) chrome (19) Cloudflare (38) Codex (25) composer (42) composer.json (22) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (32) Dockerfile (15) EdgeOne (34) environment variable (19) error (24) file (15) filter (20) Git (28) GitHub (23) Gitlab (15) GLM-5.2 (27) Go (65) go-tour-i18n (16) Google AdSense (30) Go 语言 (24) Go语言 (13) GraphQL (24) GraphQL API (14) Gutenberg (36) http (21) https (22) Interface (19) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (19) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (58) postman (18) Query (17) queue (16) Rancher (24) Redis (51) RESTful (27) RESTful API (23) Shopify (19) SlyTranslate (21) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (41) update (20) VPN (17) W3 Total Cache (40) Windows 10 (46) WireGuard (28) WordPress (135) WordPress 多语言 (13) WPCode (23) Wstunnel (15) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (13) 国际化 (14) 多语言网站 (13) 多语言翻译 (38) 开源项目 (14) 技术博客 (15) 故障排查 (16) 数据库迁移 (16) 浏览器 (14) 阿里云 (20) 页面缓存 (14)

2026 年 9 月
一 二 三 四 五 六 日
 123456
78910111213
14151617181920
21222324252627
282930