问题出现得很突然,日志倒是留得挺全。视频 sitemap 里 duration 写的是 320 秒,页面 VideoObject 标的是 280 秒,两边差了 40 秒,富媒体测试通过但搜索结果里的视频卡片两周后被撤掉。
把日志和配置对完,能解释这个现象的基本就这几处。sitemap 由转码任务生成,转码后时长变了但没回写。另一种情况是页面标记是编辑手工填的,和实际文件对不上。
还有一种情况,两个来源没有统一校验,谁最后写谁生效。
第一件事是用 ffprobe 取真实时长
ffprobe -v error -show_entries format=duration -of csv=p=0 clip.mp4
随后统一从转码结果生成 sitemap 与标记
grep -o 'duration>[0-9]*' video-sitemap.xml | head
剩下的就是重新提交视频 sitemap
curl -s -o /dev/null -w '%{http_code}' 'https://www.bing.com/ping?sitemap=https://www.example.com/video-sitemap.xml'
同事提醒我看一下最近一次发布,时间点确实对得上。
别只看报错消失,验证要多做一步。统一数据源后时长两边一致,三周内视频卡片恢复展示,点击回到撤下前的水平。
补一句。时长这类可校验字段最容易暴露不一致,凡是能自动生成的都不要让编辑手填。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。
