现场是这样的。视频页的 VideoObject 和视频 sitemap 都填了封面图,路径是 /uploads/2024/05/cover.jpg,实际文件在改版时被挪到 /media/ 下。富媒体测试提示抓取失败,搜索结果里始终没有视频卡片。

中间走过弯路,把「图片被 CDN 的防盗链拦截,蜘蛛拿到 403 而不是 404」当成主因,改完现象没变。

排查方向其实有限,先把可能性排一排。thumbnail_loc 必须返回 200 且是 jpg、png 这类受支持格式;封面图路径写死在模板里,改版换目录后没有同步;封面尺寸小于 1200 像素宽,即使可读也会被跳过。

第一件事是逐个验证封面地址

curl -s -o /dev/null -w "%{http_code} %{content_type}\n" https://www.example.com/uploads/2024/05/cover.jpg

随后在源码里找出所有旧路径

grep -rn 'uploads/2024/05/cover' /var/www/html/wp-content/themes/

批量替换成新目录

wp search-replace '/uploads/2024/05/' '/media/' --all-tables

复验封面尺寸

identify -format '%wx%h\n' /var/www/html/media/cover.jpg

恢复的判定其实很直接。封面地址全部返回 200 且宽度超过 1200 像素,富媒体测试通过,视频卡片在两周后出现在结果里。

提醒一点。缩略图 404 不会让整段标记失效,但视频富媒体一定拿不到,排查时先看这一项比改字段更快。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189