播客节目页加了 PodcastEpisode 标记,音频用的是播放器里的 blob 地址。上线两个月,GSC 富媒体报告一条都没识别,播客搜索里查不到这些节目。
这类报错背后常见的原因有几处,逐个排除就行。associatedMedia 是必填项,页面只写了 contentUrl 没给 MediaObject;音频地址是 blob: 开头,引擎无法抓取也无法校验;duration 写成 42:10,不是 ISO 8601 时长格式;episodeNumber 用了「第三期」这种字符串,不是数字。
上来先查看现有标记里的媒体字段
curl -s https://www.example.com/podcast/ep-3 | grep -o '"associatedMedia".\{0,90\}'
补上 MediaObject 与可公开访问的地址
"associatedMedia": {"@type": "MediaObject", "contentUrl": "https://cdn.example.com/ep3.mp3", "encodingFormat": "audio/mpeg"}
修正时长与期号类型
"duration": "PT42M10S", "episodeNumber": 3
等前面都确认过,再用校验工具复验整段标记
python validate_schema.py https://www.example.com/podcast/ep-3 --type PodcastEpisode
这类改动我都写进变更记录,过两周再出问题时能对上号。
恢复的判定其实很直接。富媒体报告里能识别到 PodcastEpisode,六周后部分节目开始出现在音频结果中,播放来源多了一个搜索入口。
容易忽略的是,媒体类标记最怕地址不可抓,blob、data URI、带鉴权的地址都不行,先把音频放到公开域名上再补字段。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
