跳至正文
Shopify · Google SEO

Shopify 富媒体结果核对:Search Console 报告与实际展示的差距

// / / 光算科技

Search Console 的富媒体结果报告里没有错误,和用户在搜索结果里看到增强展示,是两件不同的事。报告只能告诉你搜索引擎处理了哪些页面、对页面上的标注得出了什么判断;真正显示什么,由各个搜索体验自己决定。把这两件事混在一起,最常见的后果是每个月看一次报告,看到全绿就结束,直到某天发现价格早就标错了。

三个状态分开看,不要互相代替

状态在哪里看它能回答什么
页面输出了什么页面源码,以及渲染后的 HTML标注存不存在、是主题输出的还是脚本注入的
报告认可了什么Search Console 的富媒体结果报告搜索引擎处理过哪些页面、报了哪类问题
用户看到什么在搜索结果里实际查一遍结果形态,受查询与体验策略影响

三者之间没有等号。代码里有标注而报告里没有,通常是抓取或渲染环节还没走到,而不是标注写错了;报告里全部有效但没有增强展示,也完全正常。Google 的产品结构化数据文档把结果增强写得很清楚:是否显示由各个搜索体验自行决定,并且可能随时间变化,推荐的做法是把可用的产品信息尽量补全,而不是盯着某一个体验的表现。

三个状态不能互相代替:错位最常出现在中间一层

错位最常出现在中间一层(光算 · 示意图)

建议按这个顺序走:先确认页面输出了什么,再看报告怎么判定,最后手动查一遍搜索结果。反过来做会浪费很多时间——从结果形态往回推,永远分不清是标注没写、还是写了没被处理、还是被处理了但没有展示,这三种情况要改的地方完全不同。

源码与渲染结果之间的差别是排查时最容易踩的坑。Google 关于 JavaScript 与 SEO 的说明提到,Google 能处理的是渲染后可见的内容,服务器端渲染或预渲染更稳妥,而且不是所有抓取方都执行脚本。所以看标注不能只看页面源码:源码里没有、渲染后有,说明它是靠脚本加上的;源码有、渲染后消失,说明有东西把它替换掉了。

月度核对流程

  1. 记录当月各类有效项与错误项的数量,与上月对比。不变的月份也要记,否则下一次变化你看不出起点在哪。
  2. 从错误项里挑数量最多的两类,每类抽三个 URL 作为样本。不要按报告的顺序逐条看完,看不过来,也没必要。
  3. 对样本 URL 做两次检查:一次用测试工具看它给出的判定,一次用 URL Inspection 看 Google 实际抓到的版本。后者的重点是渲染后的 HTML 里有没有这段标注。
  4. 定位输出者:在渲染后的 HTML 里数一数这类标注出现了几次。出现两次以上,说明主题和某个应用各输出了一套,先决定留哪一套再动手。
  5. 改完先在一件典型页面上验证,通过后再推到同一模板的其他页面。主题模板的改动会影响同类页面的全部页面,别在样本上试完就直接推到全站。
  6. 记录修复日期,下个月复查同一批 URL。复发才说明问题被真正定位到,一次修复不能算结束。

抽查的时候顺便确认页面本身能被处理。被 robots.txt 挡住的页面,标注再怎么正确也不会被正常读取;而且robots.txt 的官方说明明确讲过,它不是让页面从 Google 消失的机制,被挡住的页面地址仍可能出现在结果里,只是没有描述。想彻底隐藏页面,用的是 noindex 这类手段,而不是 robots。

动手之前,先把报告里的项分成两类

报告里会同时出现致命错误与非致命提示。面包屑文档给出的处理顺序是先修致命错误,再考虑非致命提示——后者不影响页面是否有资格获得增强展示,但通常说明数据还可以写得更完整。核对时把这两类分开记:错误项当月追到页面,提示项可以排到后半个月,不必挤在同一次里做完。

月度核对四步:当月不变也要记,否则看不出起点

当月不变也要记,否则看不出起点(光算 · 示意图)

还要接受一个现实:同一批页面的判定在不同时间可能变化,因为判定依据是页面被处理那一刻的状态。看到数量波动先问一句页面上是不是刚改过东西,再决定要不要动手。

样本要覆盖到哪几类页面

抽样不是随手点几个产品页。按页面类型分层,至少覆盖产品页、集合页、文章页,以及承载配送与退货说明的政策页,每类抽三个以内就够。不同页面类型由不同模板输出,产品页的标注可能来自主题自带模板,政策页的标注很可能来自某个应用,只抽产品页会把后者的全部问题漏掉。

开了多市场或多语言的站点,还要把语言与币种各抽一个版本。同一个产品在不同市场可能走不同的模板分支,报告里项数的差距经常就来自这里,而这类差距在现场看一眼页面就能解释清楚。

这件事该花多久,由谁负责

中等规模的店铺,一个月一次、每次一两个小时是合理量级,前提是样本按上面的方式分层抽,而不是逐页看。真正花时间的不是看报告,是第三步之后的定位:标注由主题输出还是应用注入,决定了改动该找谁。

因此核对记录里除了日期与问题描述,还要写下输出者。改主题的人、装应用的人、改产品数据的人常常是三个角色,缺了这个字段,问题会在几个人之间转一圈回到原处,下个月再出现一次。

报告里那些看起来像新问题的项,多数来自这四处

模板的条件输出最容易制造这种假象。同一套模板在字段缺失或区块关闭时不会输出某个部分,报告里的项数就跟着商品数据一起起伏。这类波动不是退化,是数据本身变了。把元字段渲染到模板时同样要注意空值处理,缺值时输出空壳标题比不输出更糟,做法见元字段与内容展示那篇

应用重复注入产生的效果一样。主题本身已经输出了标注,评价类、SEO 类应用又注入一份,两套值不一致时报告会左右摇摆。这类问题要连着卸载残留一起查,应用卸载后主题里的代码片段不一定被清掉,卸载插件后的残留清理主题结构说明两篇分别讲了代码层与结构层的看法。

变体价格变化带来的波动最难解释。价格区间、促销开始与结束、某个规格缺货,都会让同一批页面上的值在几天内变几次。如果标注是静态输出的,报告里的数值不变反而说明它没跟上,核对方法见变体与 Offer 的写法

换主题或大幅改模板之后,信号会成对出现。旧标注可能消失,旧标注可能消失,新标注可能重复,报告里会同时出现消失与新增两类信号。主题改版不丢 SEO那篇把改前要冻结、改后要验收的项列成了清单,改版前后各跑一遍,能省掉后面几个月的解释成本。

报告全绿也不能证明什么

报告覆盖的是被处理过的项,不是页面的全部事实。它不知道你的价格有没有写错,只判断标注结构是否符合规范;它也不会告诉你某个字段在页面上是否可见。要验证数值本身对不对,得回到页面与后台去对,方法在产品结构化数据核对里;面包屑这类涉及层级的标注,工具更是看不出对错,只能靠走查,面包屑与品牌信息标注那篇里有具体步骤。

同样要放下的想法是拿报告截图当效果证明。某个日期某一类页面的处理状态,与流量、排名、询盘之间没有直接对应关系;截图能说明的只是那天报告里没有错误。要判断效果,看的是自然搜索的查询与点击趋势,而且这是整站 SEO 的效果,不是标注单独的功劳。

记录方式也值得改一下。截图只保留当下的状态,下个月没法用来对比;把当月各类项的数量、样本 URL 与结论写成简短记录,几个月之后就能看出趋势,出问题时也能判断是哪次改动带来的。

还有个容易被忽略的边界:不同测试工具给出的判定不总是一致,因为它们抓取与渲染的时点不同。结论冲突时,以 Google 实际抓到的那个版本为准,也就是 URL Inspection 里看到的结果;工具之间的差异不要理解成页面发生了两次不同的变化。

什么情况下不必每月做这套流程

页面类型少、结构简单、标注来自主题默认输出,而且很少改主题或插件,那么一季度看一次报告、抽查两三个页面就够,每月全套核对属于过度管理。反过来,页面类型多、装了多个会注入脚本的应用、开了多市场多币种、促销频繁的店铺,每个月的这次核对是最省钱的预警手段——价格与库存漂移往往先在这里露头,而不是在订单数据里。广告投放侧的 feed 与页面数据是否一致,是另一条独立的核对线,方法见产品 Feed 与商品数据一致性那一篇。

如果报告里的问题源头在结构层面——URL 形态混乱、层级不清、内链断裂——那报告只是把症状照出来,修报告没有用,得先修结构,这部分属于谷歌 SEO 的常规工作。被收录本身是另一条线,站点大面积不被处理时,先看抓取与收录状态,再回来看标注,谷歌收录那边处理的是这一类问题。