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

分类: EdgeOne

  • 此前在测试 WordPress 的 EdgeOne 与 Cloudflare Query String 缓存归一化时,由于没有找到真实存在的日期归档分页,/YYYY/MM/DD/page/N/ 场景一直没有完成验证。随着 2026 年 8 月 15 日日期归档出现第 3 页,这次重新补测中文站与英文站。EdgeOne 中随机 Query String 直接命中已有缓存且正文完全一致;Cloudflare 中虽然原始 HTML SHA-256 每次不同,但最终确认差异仅来自 /cdn-cgi/l/email-protection 邮箱地址混淆。归一化该动态字段后,Clean 与 Dirty 四份 HTML 完全一致,最终确认两个 CDN 的日期归档分页 Query String 归一化均工作正常。

  • 本文记录一次 WordPress 中文站 EdgeOne 524 故障的排查与优化过程。故障期间,大量带有 amp、nonamp、query-62-page 等查询参数的文章和列表页出现缓存 MISS,导致 1 核 ECS 上的 PHP-FPM 进程被占满。为减少缓存碎片和重复回源,本文将原有文章详情页的 Query String 归一化方案扩展至首页、分类、标签、系列和日期归档等公开列表页,并分别在 EdgeOne 与 Cloudflare 中配置缓存 Key 忽略、回源去参和 URL 重写。同时保留 WordPress 搜索参数 s,通过 MISS → HIT、缓存 Age 及 Nginx 源站日志验证规则已经生效。

  • 2026 年 7 月 30 日,网站在两个多小时内出现约 177 万次 EdgeOne L7 请求,其中约 109 万次实际回源。结合 EdgeOne 指标与 Nginx 日志,最终确认这是一轮大规模 PHP、ASP 与 WebShell 文件路径扫描。排查还发现,网站接入 EdgeOne 和 Cloudflare 后,原有 Nginx 限流实际按 CDN 回源节点 IP 计数,存在误伤正常请求的风险,因此暂时注释源站限流配置,并完成中英文站点验证。

  • 在将 W3 Total Cache、EdgeOne 与 Cloudflare 的主要 HTML 缓存统一延长到 4 天后,我发现新文章发布后,首页和 Sitemap 可能继续命中 CDN 中的旧缓存。本文记录如何在保留普通页面 4 天长缓存的同时,仅将中英文首页和公开 Yoast Sitemap 的 Edge TTL 缩短到 2 小时,并分别通过 EdgeOne 与 Cloudflare 实测缓存过期、重新回源和 HIT 行为。最终在内容新鲜度、缓存命中率和维护成本之间取得更合适的平衡。

  • 本文记录一次 WordPress 双 CDN 架构下的 Query String 缓存优化实战。中文站通过 EdgeOne 自定义 Cache Key 与回源请求参数设置,让 canonical 文章 URL 的不同查询参数共用缓存,并在 MISS 回源时删除 Query String;英文站则通过 Cloudflare URL Rewrite Rule 实现相同目标。整个过程结合 HIT/MISS、Age、301、CF-Ray 与 Nginx access log 进行实际验证,最终将规则收敛为仅优化 /YYYY/MM/DD/ID/ 形式的标准文章 URL,在降低随机参数缓存穿透风险的同时保持 CDN 配置简单、清晰、易维护。

  • 本文记录了 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 的影响。

  • EdgeOne 个人版每月包含 50GB 安全加速流量和 300 万次安全加速请求。套餐启用几天后,我根据实际消耗速度判断,现有额度无法支撑完整计费周期,因此陆续将 media、en 和 admin 三个域名迁出 EdgeOne,只保留中文主站 www。本文根据迁移前后的真实流量与请求数据,按加量包实际消耗比例估算月度成本。结果显示,当前过渡周期预计成本约为 26.2 元;拆分完成后的稳定月度成本约为 22.2 元;如果三个域名都未迁出,月度成本约为 49.6 元。此次拆分预计可将 EdgeOne 长期成本降低约 55%,每月节省约 27.4 元。

  • 为解决 WordPress 后台经过 EdgeOne 时出现的核心升级 524 超时问题,本文将后台迁移至独立的 admin.shuijingwanwq.com 子域名,并通过 DNS Only 直连源站。整个方案包含独立 Nginx 虚拟主机、ECC HTTPS 证书、W3 Total Cache 多域名兼容补丁、WordPress MU 插件 URL 重写、前台后台入口统一跳转,以及 admin-ajax.php、admin-post.php 和文章密码提交接口的保留处理。迁移完成后,后台资源不再经过 EdgeOne 或 Cloudflare,www、en 及裸域的后台入口统一跳转至 admin,并成功通过新后台域名将 WordPress 升级到 7.0.1,未再出现 524、维护模式残留或 core_updater.lock。

  • 这篇博客记录了一次 WordPress 核心升级失败的完整排查过程:在从 WordPress 7.0 升级到 7.0.1 时,后台反复出现 524 超时和“另一更新正在进行”的提示。通过检查 `core_updater.lock`、WordPress 当前版本、升级临时目录、文件权限以及 EdgeOne 转发状态,最终确认 WordPress 核心文件并未半升级,问题主要集中在经过 CDN 代理后的后台长请求超时。文章进一步总结出:前台页面适合继续走 EdgeOne 缓存,而 WordPress 后台更新、插件安装等维护操作,后续应考虑通过独立后台域名或源站直连方式处理,以避免 CDN 对后台长请求造成干扰。

👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。

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

为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。

👉 关于我 & 合作

.env (14) 404 (13) add (16) AI 翻译 (21) Apache (13) Array (19) A Tour of Go (31) Cache (13) CentOS (23) chrome (19) Cloudflare (28) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) EdgeOne (30) environment variable (19) error (24) Failed (13) file (15) filter (20) function (13) Git (27) GitHub (19) Gitlab (15) GLM-5.2 (23) Go (48) Google AdSense (22) Go 语言 (17) GraphQL (24) GraphQL API (14) Gutenberg (32) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (21) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (21) Nginx (59) normalize.css (28) OKX (15) OneinStack (19) PHP (67) php-fpm (17) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (48) response (13) RESTful (27) RESTful API (23) Shell (13) Shopify (19) SlyTranslate (20) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) VS Code (13) W3 Total Cache (35) Windows 10 (46) WireGuard (27) WordPress (123) WPCode (23) Wstunnel (14) Yii (40) Yii 2 (70) Yii 2.0 (51) 命令行 (13) 多语言翻译 (18) 技术博客 (15) 故障排查 (13) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 8 月
 12
3456789
10111213141516
17181920212223
24252627282930
31