这类问题我又碰上了一次。站点从旧 bucket 换到 img2.example.com 但 CNAME 还指着老对象存储 数据库里存量文章正文仍是旧域名绝对地址 图片全部 302 跳到 img.old.com 旧 bucket 权限已经改成私有 蜘蛛抓图返回 403 图片搜索收录两周掉了一半

第一反应是「图床插件生成的缩略图地址有缓存 还在输出旧域名」,验证下来不成立。

排查方向其实有限,先把可能性排一排。CNAME 记录没改 只改了站点配置里的附件地址;正文里写死的旧图床域名没有批量替换;旧 bucket 改成私有读 跳过去直接 403。

先对比附件域名的实际解析结果

dig +short img2.example.com

批量替换正文里的旧图床域名

UPDATE wp_posts SET post_content = REPLACE(post_content,'img.old.com','img2.example.com');

接着清掉插件生成的缩略图地址缓存

wp cache flush

末了验证一张图的实际返回码与类型

curl -sI https://img2.example.com/uploads/2026/10/a.webp | head -5

恢复的判定其实很直接。随机抽二十篇文章 图片地址全部落在新域名且返回 200 图片搜索抓取量三天后回到迁移前水平。

容易忽略的是,附件域名切换要先把 CNAME 和数据库一起改 只改一边等于给蜘蛛留了一条断头路。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189