Schema 和页面对不上,2026 年 AI 搜索直接把你过滤掉

规则变了:从”漏写不扣分”到”不一致直接过滤”

前几年做独立站的朋友都知道一条老经验,Schema 写得全有富媒体卡片,Schema 写得少顶多没卡片,但不会伤排名。这个共识在 2026 年春天已经不成立了。Google AI Overviews、PerplexityChatGPT Search 现在会把你页面里的 JSON-LD 和可见正文做一次交叉核对,对不上的商品或文章会直接被踢出答案引用面板。

这个变化最早被 Search Engine Land 在 4 月的一篇分析文里提出,结合我们最近几个 Shopify 和 BigCommerce 客户的实测数据,趋势很明显。以前我们讨论 Schema 是”有没有”,现在讨论的是”对不对得上”。

对跨境卖家来说,这意味着几件事。一、JSON-LD 不再是 SEO 团队单独的活,运营、商品、开发都得搭一条对账链路。二、你过去塞进模板里但从来不维护的字段,比如 priceValidUntil、aggregateRating,现在是定时炸弹。三、微数据和 RDFa 不再是平替,Google 官方现在明确更偏好 JSON-LD。

五个最常触发降权的字段

我们梳理了最近两个月看到的真实案例,有五个字段是重灾区,跨境卖家可以按这张表先自查一遍。

字段常见不一致场景AI 搜索的反应
Product.priceJSON-LD 还是促销价,页面已经恢复原价偏离超过 5% 直接降权
aggregateRating.reviewCountSchema 写 2000 条,页面只渲染 80 条评分被整块忽略
offers.availabilitySchema 写 InStock,页面显示 Sold Out商品从购物类 AI 答案里剔除
offers.priceValidUntil日期已过,页面还挂促销横幅LLM 引用时被标注为过期信息
gtin / mpn编码和商品标题不匹配该 SKU 被判定为不可信,整站权重受连带

最危险的其实是第四条。Black Friday 过了一周,JSON-LD 里的 priceValidUntil 还写着去年 12 月 15 日,Perplexity 照样把”30% off”抓进答案框推给用户,用户点进来发现是原价,这种信任崩盘比单纯没卡片严重得多。

还有一个容易被忽视的点。Shopify 和 WooCommerce 的很多主题默认把 aggregateRating 写死在 Liquid 模板里,但评论插件走的是另一个接口,时间一长两边数据漂移可以差出几千条。AI 引擎对这种”明显撒谎”的页面惩罚最重。

一个典型的翻车 JSON-LD 长什么样

下面这段是我们脱敏后的一个真实样本,某个家居品牌在促销结束三周后还保留着这段代码,被 AI Overviews 踢出答案面板两周。

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Linen Duvet Cover Queen",
  "sku": "LDC-Q-NAVY",
  "offers": {
    "@type": "Offer",
    "price": "89.00",
    "priceCurrency": "USD",
    "priceValidUntil": "2026-03-31",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "2847"
  }
}

问题在哪里。一、页面实际渲染价是 129 美元,JSON-LD 还写 89,差了 45%。二、priceValidUntil 已经过去三周,但促销横幅早就撤了。三、页面用 Judge.me 渲染出来的实际评论只有 412 条,2847 是历史累计含多 SKU,正文里根本看不到这个数字。

修完之后应该长这样,价格从 CMS 实时同步,priceValidUntil 跟促销活动绑死,reviewCount 只取当前 SKU 当前可见的数量。

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Linen Duvet Cover Queen",
  "sku": "LDC-Q-NAVY",
  "offers": {
    "@type": "Offer",
    "price": "129.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "412"
  }
}

注意我把 priceValidUntil 整个字段删掉了。Schema.org 并不强制这个字段,没有促销就不要留,留着就是给自己挖坑。

四步对账手册,能落地的那种

光讲问题没用,跨境团队要的是能在两周内跑起来的方案。下面这套我们在三个客户那边跑了差不多半年,有效。

一、跑一个每晚的对账脚本。输入是四个源头:CMS 里的商品主数据、Feed 文件(Google Merchant Center 那份)、前端渲染出来的 DOM、页面 head 里的 JSON-LD。脚本负责比对价格、库存、评论数,任何一项超过阈值就发报警到 Slack。Node 脚本加 Playwright 抓 DOM,一个工程师一周能写完。

二、在 CI 里加一个 schema 一致性测试。每次 PR 改到模板或者商品数据,CI 拉几个典型 SKU 的页面渲染一次,解析出 JSON-LD,和模拟出的”可见正文价格”比对。对不上直接 fail。这个能挡住 80% 的人为失误。

三、给 aggregateRating 做漂移监控。每天记录一次 JSON-LD 里的 reviewCount 和页面上实际渲染的评论条数,两者比值超过 3 倍就要人工看一下。跨境站最容易在这个字段上被盯。

四、priceValidUntil 自动过期。促销活动结束那一刻,要么把字段删掉,要么同步推进下一轮有效日期。千万别用那种”默认写一年后”的兜底逻辑,那是 2023 年的打法,现在是负资产。

怎么判断自己是不是已经被降权了

很多跨境卖家问,AI 搜索没有 Search Console 那种面板,我怎么知道自己被过滤了。有几个间接信号可以看。

一是 Perplexity 和 ChatGPT Search 的 referral 流量。如果你过去三个月这两个来源一直有稳定几百到几千的 session,突然掉到个位数,大概率是被过滤了,不一定是全站,可能是某几个品类。

二是 Google AI Overviews 的展现。用 Ahrefs 或者 SEMrush 的 AI Overview 追踪模块,看你核心品类词是否还在被引用。掉出来的那批页面,优先去查 JSON-LD 和正文一致性。

三是品牌搜索里的”价格”类问题。试着问 AI “某某品牌某某产品多少钱”,如果它给的数字和你现在站上的价格不一致,基本可以确定 JSON-LD 还停在旧数据,这时候不光 AI 搜索权重会掉,用户信任也在掉。

最后提醒一句,AI 搜索对 Schema 的校验频率比传统爬虫高很多,我们看到的修复到生效时间普遍在 48 到 72 小时之间。也就是说这件事不能拖,今晚起一个对账脚本,周末之前把 priceValidUntil 和 reviewCount 两个字段先拍干净,已经能挡住大部分风险。

相关文章