播客节目页加了 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、带鉴权的地址都不行,先把音频放到公开域名上再补字段。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189