WordPress更换服务器后,如果多人同时反馈“有的页面正常、有的页面打不开、有的图片丢失”,不要逐个页面排查。正确做法是先按问题类型分层,再从每层中按固定间隔抽样若干条URL,用同一套检查项对比新旧服务器的响应,最后把差异收敛到少数几类原因上。抽样定位的目标不是找到所有坏页面,而是用最少样本判断问题属于哪一类,从而决定整批修复还是逐条处理。
更换服务器涉及的内容通常包括:数据库迁移、文件同步、域名解析切换、伪静态规则、SSL证书、缓存与CDN。批量问题往往集中在这几类,而不是随机分布。因此抽样前要先列出交付验收要求,例如:所有已发布文章可访问、图片正常显示、固定链接不跳回旧路径、后台可登录、表单可提交。每一项对应一个抽样维度,而不是笼统地“抽几个页面看看”。
抽样时每个维度至少取3到5条,且要覆盖不同时间发布的内容,因为早期文章和近期文章可能引用了不同的资源路径。
如果只挑已知报错的页面,得到的只是症状清单,无法判断影响范围。更可靠的做法是按ID或发布时间排序后等间隔抽取。例如站点有2000篇文章,可以取ID尾数为0、250、500、750、1000、1250、1500、1750、2000的样本,再补上首页、一个分类页和一个标签页。这样得到的样本能反映整体分布,而不是集中在某一批迁移失败的记录上。
执行步骤可以固定为:
判断结果时要注意:单个页面404可能是该文章被删除或别名冲突,属于个别问题;如果抽样中多个不同分类的文章都404,更可能是伪静态规则或固定链接结构没有随服务器环境同步,属于批量问题。
同一种现象可能有多种解释,抽样阶段不要急着下结论。例如图片不显示,可能是文件没有同步完整,也可能是数据库里仍保存旧域名,还可能是服务器对某些扩展名返回了错误类型。抽样时要记录可核对的证据,而不是直接写“图片迁移失败”。
curl -I查看单条URL返回的状态码和内容类型,区分404、403、301和200。robots.txt是否对新环境做了不必要的抓取限制,但要记住抓取限制不等于索引移除,也不能用它代替页面可访问性检查。只有把现象、证据和推断分开,多人协作时才不会因为各自猜测不同而反复返工。
抽样结束后,交付物应当是一份可执行的差异清单,而不是一句“服务器有问题”。清单里每条差异要写清:影响的URL模式、抽样中命中的样本、判断依据、责任人和验收方式。例如“所有分类归档页返回404,抽样5条全部命中,判断为伪静态规则未同步,由运维更新规则,验收时重新访问抽样中的5条分类页并确认返回200”。
责任划分上,数据库内容差异归内容或开发处理,文件缺失归运维处理,DNS与证书归域名或运维处理,缓存导致的旧页面归缓存配置负责人处理。验收时不要只看首页,要回到同一批抽样URL上复测,确认异常比例下降,再决定是否需要对全量做脚本化检查。
如果抽样显示问题集中在少数几类,下一步就是针对命中比例最高的那一类做全量扫描;如果抽样结果互相矛盾,先扩大样本量,而不是直接批量修改。这样既能减少返工,也能让每次修复都有明确的验证依据。