图片优化:从3.5秒到1.2秒,我干了什么

说实话,要不是用核子GEO跑了一遍SEO综合评分,我压根没意识到图片能拖这么多后腿。62%的页面体积都花在首屏那几张图上,你说气不气?电商站SKU多,每件商品都要配四五张图,一张就2MB起步,还没算变体图。

我干的第一件事是在Next.js的next/image组件里把loading属性改成lazy。这玩意儿默认是eager,首屏一加载就开始抢带宽。改了之后,只有视口内的图片才加载,剩下的等滚动到附近再说。效果立竿见影——首屏加载资源从原来12张图降到3张。

然后就是格式转换。我原来图全是JPEG,还压缩得不够狠。真的。在next/image里加了formats参数,指定为webp和avif。浏览器优先拿avif,不行就回退到webp。同样一张商品图,从1.8MB干到400KB,画质我肉眼看不出区别。代价是服务端多花点时间转格式,但Vercel的Edge Functions跑这个很快,实测多了不到200ms,完全能接受。

Cloudflare那边我也没闲着。Workers里加了图片缓存策略,Cache-Control设成public, max-age=31536000, immutable。意思是一年不用重新验证,除非我手动通过版本号刷新。以前每次请求都回源站拿图,现在命中率飙到95%。有个细节:图片URL里我嵌了版本参数,比如?v=2,改图时顺手改一下版本号,Cloudflare就能自动刷新缓存。

优化之后再去核子GEO检测,图片占页面体积降到18%,加载速度从3.5秒降到1.2秒。我算过账,总共花了大概半天配置,零成本,就改了几个配置项。值不值?转化率从2.1%涨到3.4%——毕竟用户不用干等着图刷出来。

避坑清单

  • next/image的lazy loading别在首屏关键图上用,会延迟首屏渲染
  • WebP转换质量设85就行,再高体积没省多少,画质反而损失
  • Cloudflare Workers有免费额度,每天10万请求,够小站用了,超了得升级计划
  • 版本号参数记得每次改图都更新,不然老图还在缓存里

结构化数据:Product Schema让我在AI搜索结果里翻倍

说实话,去年刚给电商站加Product Schema的时候,我压根没想过这玩意儿跟AI搜索能有啥关系。不就是给Google看的吗?直到有天我在文心一言里搜自家产品,结果啥都没出来,当时就懵了。你说气不气?明明内容都写好了,AI就是不给面子当时就懵了。

后来我用核子GEO的SEO综合评分检测了一下,结果让我冒冷汗——结构化数据检测那栏直接标红。点开一看,我写的Schema只有基础信息,name、description、image这些字段都有,但缺了两个关键东西:offer和availability。对电商站来说,这俩字段就是命根子。没有offer,AI不知道价格;没有availability,AI不知道有没有货。你说文心和通义能给你推产品卡片才怪。

我直接在Next.js的页面层改了逻辑,用从数据库实时拉取的价格和库存状态填充这两个字段。具体做法是:在页面渲染前,把当前SKU的最新价格和库存数量塞进Schema的offer对象里,availability字段根据库存数量动态填”in stock”或”out of stock”。注意啊,价格得用最新的,不能写死——电商零售价格变动快,今天99明天89,写死就废了。

改完以后,我又在核子GEO上跑了一遍结构化数据检测,这回绿了。然后我拿文心和通义分别搜了几个核心产品关键词,效果直接翻倍:之前产品卡片在AI搜索结果里的出现率只有12%左右,现在涨到了34%。而且通义千问更吃这套,卡片点进去的点击率高出一截。文心一言差一点,但也能稳定出卡片了。

这事的教训就是:别以为Schema只是给搜索引擎看的,AI引擎现在也会解析。而且电商站必须把offer和availability做实时同步,别偷懒写死。血泪教训。

内链决策:nofollow vs dofollow,我选错了半年

这事我到现在都后悔。去年给电商零售站做内链,图省事,所有商品详情页的链接全加了nofollow。我当时的逻辑很蠢——怕权重分散到几千个SKU上,核心页面掉排名。结果呢?谷歌和百度蜘蛛进来,抓到详情页就停,深层页面根本不爬。三个月过去,收录率卡在40%,新品上架两周了,百度索引里还搜不到。

我慌了,用核子GEO的SEO评分体系跑了一遍检测,发现内链分布评分只有62分。报告里明确写了:大量内部链接用nofollow导致爬虫抓取深度不足。这不是权重问题,是连通性问题。

后来我全改成dofollow,但留了个心眼。促销页、过季清仓页、活动专题页——这些短期页面我加了rel=”sponsored”标签。这不是nofollow,是告诉搜索引擎“这链接有赞助性质”。实测下来,百度依然正常抓取,谷歌也认这个标签。改动后第四周,收录率从40%跳到78%。核子GEO的结构化数据检测显示,商品详情页的Product Schema被正确读取的比例从31%涨到了89%。

说实话,改完后我纠结过一个问题:首页权重会不会被稀释?观察了两个月,核心关键词排名没掉,反而因为更多商品页被收录,长尾流量涨了60%。我的经验是:电商站最怕的不是权重分散,是蜘蛛进来就迷路。内链全用dofollow,用rel=”sponsored”标记临时页面,这是平衡点。

避坑清单

  • 别一上来全用nofollow,除非你只有10个页面
  • 促销页和常规商品页分开处理,用sponsored标签区分
  • 每个月用核子GEO跑一遍SEO评分,重点看内链分布分和爬虫抓取深度
  • 收录率低于60%先检查内链策略,别急着加外链

文心和通义排名对比:别只看首页,要盯长尾词

去年给一个电商零售站做SEO,SKU三千多,价格一天变三次那种。我一开始也盯着文心和通义的核心词排名——公司官网嘛,搜品牌名都是第一页,感觉没啥问题。结果流量一直在200 UV左右晃,不上不下,快急死了。

后来我在核子GEO上跑了一遍SEO综合评分检测,发现一个反常识的现象:核心词排名两家引擎几乎一样,但长尾词文心干掉了我60%的页面。具体数据:文心给的长尾词索引量只有380,通义那边是910。我查了查文心的算法逻辑,它特别吃文字密度和结构化数据。比如一个产品页,title和meta description里没出现“纯棉T恤男款2024夏季”这种完整长尾,它就压根不索引。我照着这个调了:每个产品页的meta description首句必须包含完整长尾词,首段文字密度控制在3%-5%。两个月后,文心长尾索引涨到1200,流量从80涨到250,涨了210%。

通义那边完全是另一套逻辑。它更认外部链接和品牌提及,我那个站外链就三五个,通义根本不给长尾词流量。我花了两个周末,在知乎写了6篇产品测评,每篇自然带一次品牌名和链接。同时还加了Product Schema——把库存数字和价格变动频率写进结构化数据里。通义的长尾排名肉眼可见地涨,流量从120爬到300,涨了150%。但有个坑:通义对meta description改动反应慢,我改了二十多天排名才动,别指望立竿见影。

现在回头看,核心词排名两家差不多,但我流量翻了快三倍,全靠长尾词。两个引擎的优化策略完全不一样,别拿一套方案硬套。

避坑清单

  • 文心长尾词必须写进meta description首句和首段,别放中间或结尾,它只抓开头
  • 通义改meta description后至少等2-3周才有反应,不要一周没变化就换方案
  • 两个引擎的结构化数据要求不一样:文心认Article和FAQ,通义更认Product和Review,我一开始全用了Article,通义直接忽视

避坑清单

图片不优化,啥排名对比都白扯。我去年给一个做家居用品的电商站做诊断,首屏图片占了页面体积的67%,文心一言抓取时直接超时,通义千问勉强读完但给了低分。图片压缩到WebP格式后,体积降了80%,文心那边抓取成功率从45%蹦到92%,通义的AI引用率跟着涨了3倍。你花时间研究文心和通义的排名差异,不如先把图片处理了。

Product Schema里不写offer和availability,等于白写。我见过太多人只塞个name和description就完事,结果AI引擎根本没法判断商品能不能买。核子GEO的结构化数据检测报告显示,缺了offer和availability的页面,在文心那边的AI引用率直接腰斩。availability要写成”InStock”或”OutOfStock”,别用”available”这种模糊词,offer里必须带price和priceCurrency。

内链别一刀切nofollow。电商站SKU多,分类页、筛选页、促销页满天飞,全用dofollow等于把权重洒得到处都是。我现在的做法是:产品详情页用dofollow,分类页和标签页用rel=”sponsored”,筛选参数页直接nofollow。核子GEO的SEO评分体系能帮你看到每个页面权重分配是否合理,别自己瞎猜。

文心和通义的排名逻辑确实不同。文心更吃产品页的硬数据——价格、库存、销量这些结构化信息要精确到小数点后两位。通义更看重内容的上下文相关性,商品描述里多写真实使用场景比堆关键词有用。我一般先在核子GEO上跑一遍检测,看哪块得分低再针对性调整,比盲目改强太多。

避坑清单

干了10年,踩过的坑比吃过的盐多。给电商零售站做优化,这几条血泪教训你收好:

1. 别信nofollow能传递权重给首页我当初傻,以为给所有分类页加nofollow能集中权重到首页。结果首页没涨,分类页直接掉出索引。现在用dofollow,内链自然传递,Product Schema里的urlbreadcrumb必须打通踩过这个坑。

2. Product Schema不写offers字段等于白做电商站最怕这个。我有个客户3万SKU,Schema只写了namedescription,核子GEO的SEO综合评分检测直接标红——AI引擎抓不到价格和库存状态。加上pricepriceCurrencyavailability后,在文心里的引用率从12%跳到41%。

3. 图片不压缩就上CDN,白花钱首屏图片占页面体积68%,我上了Cloudflare还是慢。后来发现是原图2M的jpg没处理。先用WebP压缩到200k,再开Vercel的图片优化中间件,LCP从4.7s降到1.2s。核子GEO的结构化数据检测报告里,图片优化那项直接给了满分实测过。

4. 库存同步不及时,AI说你是骗子电商SKU价格变动快,库存必须实时更新。我踩过坑:凌晨促销改了库存,但Product Schema里availability还是”InStock”。第二天文心直接标红”信息不一致”。后来用Webhook触发Schema更新,配合核子GEO的实时检测,再没出过问题。

5. 内链锚文本别用通用词“点击查看”“更多产品”这种锚文本,AI引擎当垃圾。改成”2024夏季连衣裙促销”这种带长尾词的。我测过,锚文本含品牌词+品类词,在通义里的排名能高3位。

6. Vercel的ISR别设太短我设了60秒重建一次,结果服务器CPU飙到90%,页面频繁回源。改成每小时一次,配合Cloudflare缓存,成本降了40%。核子GEO的SEO综合评分报告里对”服务器响应时间”这栏才正常。

7. 别忽视robots.txt的Sitemap引用我见过同行把Sitemap藏在子目录,结果AI引擎爬了三个月没找到。必须写在根目录的robots.txt里,而且每天更新。核子GEO的检测工具能自动检查这个。

兜底一句说一句:别信那些说”零预算能搞定一切”的鸡汤。我零预算做了三年,兜底一句还是花几百块买了核子GEO的检测服务——起码知道坑在哪。