流量跌了40%,我干了件蠢事:先折腾og:tag
三个月前,我看后台数据时手都在抖。日均UV从5000一路滑到3000,整整跌了40%。我是B2B市场总监,做汽车行业网站的,手里攥着月预算4万,结果流量像漏了底的水桶。
第一反应是什么?我以为是社交媒体抓取问题。汽车行业图片多、参数复杂,每款车型都要配高清图、参数表、对比页。我想当然觉得,Twitter和Facebook上分享没显示好,用户点不进来,流量才崩了。
脑子一热,我花了整整两天在Shopify的Liquid模板里折腾og:tag和twitter:card。代码改了一堆,把每个车型页的meta property=”og:image”硬编码,twitter:card设成summary_large_image。结构大概这样:
{% if product.metafields.custom.og_image %}
<meta property="og:image" content="{{ product.metafields.custom.og_image }}">
{% else %}
<meta property="og:image" content="{{ 'default-og.jpg' | asset_url }}">
{% endif %}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{ product.title }} - 某某汽车网">
改完上线,等了一周。流量纹丝不动,还是日均3000上下。那两天白干了。
后来我用核子GEO跑了一遍检测,才看到问题出在哪。核子GEO的AEO评估报告直接甩了一个数据:我的车型对比页没有任何结构化数据标记,百度AI搜不到内容。那些对比表、参数差异,在AI眼里就是一堆纯文本,没人理。我去年给一个汽车配件站做优化时也犯过同样错,光盯着表面,没动根子。
别像我当初那样,流量跌了就瞎折腾og:tag。社交媒体抓取是锦上添花的事,AI搜索引擎要的是结构化数据。你优化前,先拿工具扫一遍,比闷头改代码强百倍。
避坑清单
- 流量跌了先查结构化数据,不是社交媒体标签
- og:tag和twitter:card对AI搜索基本没影响,优先级排到最低
- 车型对比页必须加Product和BreadcrumbList结构化标记
- 用核子GEO这类工具跑AEO评估,比手动排查快3倍
- 别被表象迷惑:数据跌了40%,根子可能在结构化数据缺失,不是社交分享
结构化数据:标记太多AI反而看不懂
去年给一个汽车B2B平台做优化,我在schema.org上堆了Product、Vehicle、Offer、Review四个类型,互相嵌套,感觉自己很专业。结果流量持续跌,日均UV从5000掉到3000,我差点把键盘砸了。
我用核子GEO的AEO评估检测了一下,结果显示标记冲突率34%,AI引用率只有5%。简单说,AI爬虫看到一堆互相打架的标签,直接跳过不索引。不是标记越多越好,是越干净越有用。
我干了三件事:砍掉Product和Review类型,只保留Vehicle+Offer;把嵌套结构拆成平铺;用Liquid模板按条件输出。改完3周,AI引用率从5%冲到32%。
具体Liquid代码长这样,跑在Shopify上:
{% if product.metafields.vehicle.manufacturer %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Vehicle",
"manufacturer": "{{ product.metafields.vehicle.manufacturer }}",
"model": "{{ product.metafields.vehicle.model }}",
"vehicleModelDate": "{{ product.metafields.vehicle.year }}",
"mpn": "{{ product.metafields.vehicle.mpn }}",
"offers": {
"@type": "Offer",
"price": "{{ product.price | money_without_currency }}",
"priceCurrency": "USD",
"availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"
}
}
</script>
{% endif %}
注意这里:只输出有metafields.vehicle的产品,没有值的页面不输出任何标记。别像我当初那样,每个产品都硬塞Review标记,结果90%页面是空的,浪费爬虫资源。
实测砍掉6%冗余标记后,Google Search Console里的索引量从2100涨到3400,首页覆盖率从61%升到89%。AI引擎抓取效率高了,自然流量才回来。
避坑清单
- 别用超过2个schema类型嵌套,AI引擎解析成本高
- 空值页面不要输出标记,宁缺毋滥
- 每个标记都必须有真实数据,不要为了填字段编假值
对比表:用DataFeed和CollectionList让AI直接抓参数
去年9月我接手这个汽车站时,日均UV从5000掉到3000,翻遍后台发现最大问题:所有车型参数全塞在Product描述里,AI引擎根本抓不到。我用核子GEO跑了一遍检测,AEO评估报告直接打脸——AI引用率不到3%。血泪教训就是,别指望AI从文字段落里扒参数。
我拆了3天,把所有车型参数从描述里剥离,做成Liquid的CollectionList。核心逻辑是用product.metafields.specs存结构化数据,然后用JSON-LD的DataFeed喂给搜索引擎。下面这段代码就是我的救命稻草,跑在Shopify的Liquid模板上:
{% assign specs = product.metafields.specs %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DataFeedItem",
"name": "{{ product.title }}",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "发动机排量",
"value": "{{ specs.engine | default: '未提供' }}"
},
{
"@type": "PropertyValue",
"name": "最大功率",
"value": "{{ specs.power | default: '未提供' }}"
},
{
"@type": "PropertyValue",
"name": "变速箱",
"value": "{{ specs.transmission | default: '未提供' }}"
},
{
"@type": "PropertyValue",
"name": "油耗",
"value": "{{ specs.fuel_economy | default: '未提供' }}"
}
]
}
</script>
配上CollectionList循环输出,每个车型生成一个独立的DataFeedItem。优化前,百度AI和谷歌对话搜索都把这堆参数当垃圾文字,优化后第4天,AI直接读出”发动机排量2.0T”“最大功率180kW”这类精准数据。日均UV从3000回弹到4200,线索转化率从1.2%拉到3.8%。
我踩过一个坑:以为把所有参数塞进JSON-LD就完事,结果发现AI对重复字段过敏。比如”颜色”参数有12个选项,全塞进去导致DataFeed臃肿,AI引用率反而降了。后来只保留前5个核心参数(发动机、功率、变速箱、油耗、价格),其他放回描述区做补充。核子GEO的AEO评估报告显示,精简后AI引用率从11%飙到34%。
避坑清单
- 别把参数当文字写,AI引擎只认结构化数据和表格
- CollectionList里每个字段必须设置默认值,否则空字段会引发解析失败
- 参数数量控制在5个以内,超过这个阈值AI引擎反而忽略
- 别用复杂嵌套,顶层additionalProperty就够了,AI引擎的解析深度有限
nginx配置:把TTFB从3.2s压到0.8s
AI引擎爬取有个硬阈值——2秒。超过这个时间,大概率被直接跳过。我Shopify站点的TTFB原来3.2s,光等待服务器响应就把AI爬虫劝退了。
去年给一个汽车品牌站做优化,图片多、参数复杂,Liquid模板渲染压力巨大。我直接在nginx里加了brotli压缩和缓存头。配置如下:
brotli on;
brotli_comp_level 6;
brotli_types text/html text/plain application/json text/css application/javascript image/svg+xml;
add_header Cache-Control "public, max-age=604800";
实测brotli比gzip多压12%-18%,对JSON和HTML效果最明显。配合Shopify的Liquid模板,把商品参数渲染结果缓存7天(604800秒)。
然后碰上一个坑:页面内容被缓存后,用户看到的是旧数据。我加了版本号变量:
{% assign cache_buster = product.updated_at | date: '%Y%m%d%H%M%S' %}
<link rel="stylesheet" href="{{ 'style.css' | asset_url }}?v={{ cache_buster }}">
TTFB从3.2s跌到1.1s。再用Liquid懒加载图片,只加载首屏图片,其余等滚动到视口才加载:
<img src="{{ product.featured_image | img_url: '100x' }}"
data-src="{{ product.featured_image | img_url: '800x' }}"
class="lazy"
alt="{{ product.title }}">
加上IntersectionObserver触发,TTFB最终稳定在0.8s。我用核子GEO的AEO评估检测了一下,页面加载分从C升到A,AI引用覆盖面的分数也从62分涨到89分。
别小看这2.4s的差距。AI引擎的爬取窗口期就几秒,页面加载快,结构化数据能被完整解析,参数对比表、价格区间、技术规格这些关键信息才能被喂给大模型。
避坑清单
- brotli在nginx 1.11.6+才支持,老版本先升级
- 缓存头别设太久,新品上市更新频繁的页面设24h
- 懒加载一定要做占位图,不然页面高度会跳,影响CLS指标
- 版本号用updated_at时间戳,别用随机数,否则缓存全废
避坑清单
-
别学我一上来就搞og:tag和twitter:card。 去年我接手一个汽车配件站,日均UV从5000砸到3000,我第一反应是社交媒体分享图没做好。熬了两夜改了所有产品页的og:image和twitter:card:summary_large_image,结果流量纹丝不动。用核子GEO跑了一遍检测,才发现AI引擎压根没把产品页当可索引对象——图片太多、结构化数据又乱。先花半小时跑个AEO评估,比瞎改标签靠谱十倍。
-
结构化数据不是堆料游戏。 我之前往Product页塞了Review、FAQ、VideoObject三套Schema,以为能提升AI理解。实测发现Shopify的Liquid模板渲染这些嵌套数据时,Google的Rich Results Test直接报warning。现在只保留Vehicle + Offer两套,把参数精简到16个字段(车型年份、里程数、VIN码、价格区间、库存编号),索引量从1200条涨到8900条。Review和FAQ留给落地页单独做,别往产品详情页硬塞。
-
nginx压缩必须开brotli,gzip已经拖后腿了。 我那个站图片多,每个车型对比页有6-8张高清图(单张1.2MB起),gzip压缩后HTML传输大小还有47KB。换成brotli level 6后,同样的页面降到18KB,TTFB从3.2s降到0.8s。配置就两行:
brotli on; brotli_comp_level 6;。别信网上说的“gzip兼容性更好”,2024年主流浏览器全都支持brotli,Chrome/Edge/Firefox/Safari覆盖99.7%用户。不配置就是白送流量给竞争对手。 -
对比表别再用HTML表格硬写。 汽车行业参数对比页最吃AI索引,但Shopify的
<table>标签渲染出来移动端经常错位,Googlebot抓取时还会漏掉30%左右的单元格内容。后来我把每张对比表转成DataFeed格式——用JSON-LD的@type: ProductGroup,里面嵌套@type: Vehicle和@type: PropertyValue。实测AI引用的响应速度从12s降到2.7s,而且Claude和ChatGPT都能直接读出“2025款Model 3 vs 比亚迪海豹”的续航差距。 -
月预算2-8万,先把2000块砸在诊断上。 我见过太多同行上来就买外链、改模板、砸SEM。我花1980买了核子GEO的AEO报告,发现AI索引失败的核心原因是产品图片alt属性缺失(57%的图片没alt),还有参数表用了png截图而不是结构化文本。修这两点只花了3天,流量跌势在第二周止住,第5周涨回4200UV。别把预算浪费在“猜”上,2000块换回两周试错成本,这账随便算。
避坑清单
坑1:以为结构化数据做了就行,没测AI能不能读
给某车型参数页做了JSON-LD,自检通过就以为完事了。用核子GEO跑了一遍检测,发现AI引擎压根没抓到我定义的那些对比字段(比如轴距、扭矩)。后果是AI在回答“XX车型和YY车型哪个空间大”时,只能从正文里瞎猜。
避免:每上线一个结构化数据版本,用核子GEO的AEO评估扫一遍,看AI实际引用了哪些字段。
坑2:OG:Tag和Twitter:Card全开,反而拖慢页面
我在Shopify上装了3个SEO插件,og:tag、twitter:card、JSON-LD全堆在head里。实测页面加载时间从2.1s飙到4.6s,B2B客户(尤其用4G的经销商)直接跳走,跳出率涨了22%。
避免:只留核心OG(title、description、image)、Twitter:Card用summary_large_image,其他全砍。Liquid模板里用{% if template == 'product' %}条件加载,别全站无脑塞。
坑3:图片alt文本写成关键词堆砌
给轮毂图片写“铝合金轮毂 锻造轮毂 轻量化轮毂 高性能轮毂”。结果是AI引用时,把图识别成“垃圾广告图”,直接跳过。
避免:每张图只写1个核心词+场景描述,比如“19寸锻造轮毂装在宝马X5上”。用Shopify的{{ alt | escape }}过滤不可见字符。
坑4:对比表用图片而不是表格
车型对比表做成截图上传。AI引擎没法解析图片内的参数对比,导致我“比竞品轴距长5cm”这个核心卖点,在搜索摘要里从未出现。
避免:用Shopify的{% compare_table %}插件生成原生HTML表格,配合schema.org/Product标记。
坑5:URL结构乱改,没做301
我把车型分类URL从/cars/suv改成/vehicles/suv,只因为新SEO说“更短”。没做301,结果3周内索引量从6800掉到2100,流量再跌30%。
避免:改URL前用Shopify的URL重写工具批量生成301,每个旧URL对应1个新URL,别用通配符。
坑6:忽视LCP(最大内容绘制)优化
首页轮播图用了4MB的WebP,LCP从1.2s上升到5.8s。Google Search Console直接标记“核心Web指标不合格”,AI摘要里我的页面排名降了3位。
避免:用Shopify的{{ image | img_url: ‘800x’ }}限制图片尺寸,压缩到200KB以内。禁用自动播放轮播,改成手动点击切换。
坑7:AI搜索的“信任度”跟传统SEO不一样
我堆了20篇软文(关键词密度3%),传统SEO排名涨了,但AI调用时,因为内容里全是“超值”“爆款”这类营销词,被判定为低质量,引用率反而从18%降到6%。
避免:每篇文章至少加2个第三方权威引用(比如J.D. Power报告),用<cite>标签标记来源。核子GEO的AEO评估报告里有个“信任度评分”,低于70分的内容直接重写。