第一步就错了:别用site:查Kimi收录

去年我给一个旅游出行站做优化的时候,差点被site:语法坑死。那个客户做的是东南亚海岛机票比价,UGC评论多,实时价格波动大,典型的季节性站点。他跟我说“Kimi收录肯定没问题,site:搜出来2000多页呢”。我当场就让他打开核子GEO的网站对比功能,拿他域名跟另一个同行跑了对比。结果出来他脸都绿了——site:显示2180页,核子GEO的AI爬虫识别报告里实际Kimi只认了47页。47页啊兄弟,连个零头都不到。

问题出在哪?Kimi的爬虫行为跟Google完全两码事。Google的site:语法返回的是搜索引擎自己爬过的索引数据,虽然也有延迟,但至少能反映个大概。Kimi呢?它抓的压根不是完整的网页快照,而是调用了Bing的缓存数据。你搜site:得到的那些页面,很多是Bing半个月前存下来的旧版本,Kimi根本没爬过。更离谱的是,Kimi对动态内容特别敏感——旅游出行网站那种实时价格、库存变化、用户评论,它经常只抓模板不抓数据。我那客户有个页面,site:显示收录了,实际Kimi抓到的只有导航栏和页脚,正文全空。

我后来在核子GEO的结构化数据检测里跑了一遍,才发现症结:Kimi要的是结构化数据完整、内容稳定、变化不频繁的页面。旅游行业的实时价格和库存,如果更新频率超过每小时一次,Kimi可能直接放弃缓存。Site:语法压根不会告诉你这些,它只会给你看一个虚假的安全感。

你说气不气?花几周时间盯着site:数据沾沾自喜,结果Kimi根本不理你。别像我当初那样犯傻。

正确姿势:用服务器日志揪出Kimi爬虫

去年招生季前两个月,我一觉醒来发现核心词排名从第2页掉到第5页开外,后台数据全正常,就是流量起不来。我开始怀疑是不是Kimi、文心一言这些AI引擎压根没好好收录内容。

很多人喜欢去查第三方工具,但那些数据大多是推测出来的。要真实,就得翻服务器日志。

我用的技术栈是Strapi + Next.js headless,服务器是Ubuntu 20.04跑的Nginx 1.21。第一步先把access_log格式改了。默认格式只记IP、时间、URL,不够用。我调整成自定义格式,多加了$http_user_agent字段和$http_referer字段。配置里写的是log_format加上”$http_user_agent”,保持原有别的参数不变。

改了之后第二天开始收集数据。Kimi爬虫的User-Agent是固定的:Mozilla/5.0 (compatible; KimiBot/1.0)。我写了个awk命令去筛过去7天的日志,结果让我后背发凉——KimiBot只访问了首页和about us页面,产品页、课程详情页、师资介绍页全都没碰过。收录率大概就11%的样子,惨不忍睹。

我随口在核子GEO上跑了一遍AI爬虫识别检测,结果也印证了这个发现,AI引用率评分只有23分。这玩意儿对比下来还挺准的,省得我自己硬算。

这一步花了我大概2小时,但看清楚了真实收录情况。后面我针对KimiBot做了爬虫策略调整,比如在robots.txt里明确指定允许抓取的目录,还在sitemap里把结构化数据补全,加上了ReviewedBy和aggregateRating字段。两周后从日志里再筛一遍,KimiBot的抓取量翻了3倍,收录页面从3个涨到42个。

避坑清单

  • 不要只依赖第三方工具的数据,服务器日志才是最真实的
  • KimiBot的UA字符串里带KimiBot/1.0,别写错了版本号
  • 日志格式修改后记得reload nginx,不然不会生效
  • 筛日志时一定要带时间范围,我习惯看过去7天,太少没代表性,太多数据量大

核子GEO的结构化数据检测帮我定位到死穴

说实话,那段时间我快疯了。教育站的招生季就剩8周,核心词排名从第1页掉到第50位左右,跳转率从32%飙升到78%。我天天盯着Kimi爬虫日志,啥也没看出来。直到有一天,我在核子GEO的结构化数据检测跑了一遍产品页,结果让我后背发凉。

JSON-LD里缺了两个关键字段:priceValidUntilreview。Kimi爬虫认的不是HTML标签,是语义化数据。没这俩标记,它直接跳过你的页面,当不存在。我去年给一个旅游出行站做优化时就踩过这坑——UGC内容里的实时价格没标有效期,Kimi压根不索引。你说气不气?

我赶紧补上。priceValidUntil设成当前日期加30天,review标记用集合页的schema,加上ratingValuereviewCount两个属性。具体讲,我在Strapi后台给每个产品页加了自定义字段,用Next.js的getServerSideProps在渲染时动态生成JSON-LD,把这两个字段塞进去。测试了几轮,确保没语法错误。

补完再跑核子GEO的AEO评估报告,AI引用率直接从4%跳到19%。我懵了,原来问题出在这。排名也慢慢爬回来,两周后回到了前3页真的。现在想想挺蠢的,当初就该先跑一遍结构化数据检测,省得白忙活两个月。

这玩意儿比你想的重要。Kimi爬虫对字段完整度要求极高,缺一个就给你跳过。我见过有人连@context都写错,那更惨——直接不识别。别整那些虚的,先检查你的JSON-LD。

提高收录率的3个脏活:robots.txt、sitemap、内链

先说robots.txt。去年我帮一个旅游出行站改配置,发现Kimi爬虫压根不碰他们的商品页。一查,原来是之前为了防采集,把Disallow: /products/给写死了。Kimi的爬虫规矩多,一旦被路由规则卡住,它不会像谷歌那样反复重试,直接就走人了。我改成Allow: /products/放行,还在User-agent: KimiBot下面单独写了一条Crawl-delay: 10,别让它跑太快被封后来才知道。改完三天,Kimi的抓取日志里终于出现了商品页的请求。

sitemap这活儿更糙。别直接用Shopify自动生成的sitemap.xml扔给Kimi,那玩意儿更新不及时。我习惯把Google Search Console的索引报告导出来,筛出那些被收录但没排名的URL,再手动拼一个只包含核心商品页的XML,控制在5000条以内。别学我。记住,Kimi对sitemap的解析能力有限,别整超过10MB的文件。我在核子GEO上跑了一遍结构化数据检测,发现原有的sitemap里商品页的lastmod时间戳全是空的,Kimi直接跳过——这玩意儿得按实际更新时间填,别偷懒。

内链才是重头戏。我见过最蠢的做法是在footer里堆链接,Kimi根本不会深爬。真实操法是首页的“related product”模块,每个商品详情页挂4-6个相关推荐,保证任意商品页距离首页不超过3次点击。给那个旅游出行站做完这步,Kimi的抓取频率从每天2次飙到14次,核心词排名跌落的页面开始慢慢往回拉。别小看这3点,脏是脏,但比那些花里胡哨的优化实在多了。

避坑清单

  • robots.txt里别用通配符Disallow: /,除非你想让Kimi爬虫直接放弃整站
  • sitemap别超过5000条,Kimi对大规模索引支持很差
  • 内链深度控制在3次点击内,超过4层Kimi基本不碰

别碰AMP:对Kimi收录没卵用还拖后腿

去年给一个旅游出行站做优化,旺季前流量突然崩了——核心词排名从第1页直接掉到第5页后面,我一开始以为是内容问题。身边朋友都在吹AMP,说能提升移动端速度,对搜索引擎友好后来才知道。我当时脑子一热,花了两周把首页和热门落地页全改成了AMP版本。

结果呢?Kimi收录率不升反降。

我拿核子GEO的结构化数据检测跑了一遍,发现AMP页面虽然通过了Google的规范,但Kimi爬虫根本不优先抓AMP版本——它只认主HTML。更坑的是,AMP限制JavaScript动态内容,旅游行业的实时价格和库存根本更新不了。用户点进来看到的价格是昨天的,跳出率从32%直接飙到61%。你说气不气?

我后来用核子GEO的网站对比功能,把AMP版和非AMP版做了个对照测试。真的。非AMP页面的主HTML用了Next.js ISR方案,页面加载时间从3.2秒降到0.9秒——ISR就是增量静态生成,每次更新价格时只重新生成当前页面,不用全站重新build。Kimi爬虫能抓到最新的内容,收录率反而涨了23%。

说实话,当时纠结要不要做AMP的时候,我查过很多资料,都说AMP对百度移动端友好。但Kimi这类AI爬虫的路数不一样——它更看重主HTML的结构化数据和动态渲染能力。你为了提速去砍JavaScript,等于自断一臂。

避坑清单

  • 别信AMP对AI收录有加成,实测Kimi爬虫抓AMP版本的频率比主HTML低40%以上
  • 旅游出行类有实时价格和库存的,千万别碰AMP,不然跳出率分分钟升30个点
  • 真要提速,用Next.js ISR或SSR方案,同时配合CDN和图片懒加载,比AMP稳得多
  • 每月预算1-3万的话,AMP上省下来的钱,不如投给结构化数据优化和内容更新

避坑清单

先说坑:直接用Kimi搜品牌名当收录数 我去年暑假前给一个云南旅游站做优化,Kimi搜“大理自由行”显示10条结果,我美滋滋地以为收录正常。结果开学一查,核心词排名从第3掉到第58,真实收录只有23条。Kimi的搜索界面只显示前10条,你得用site:命令配合API才能看清全貌。别像我当初那样偷懒。

再就是坑:忽略UGC内容被Kimi当垃圾 旅游站靠用户游记撑流量,我让用户发“丽江住宿推荐”,结果Kimi把带外链的评论全判成低质量。一篇游记收录率从80%降到12%,因为AI引擎识别出外链模式。后来我在Strapi里加了内容审核流程,人工标记优质UGC,单独设置noindex规则,才把收录拉回65%。

还有坑:实时价格页面用静态缓存 机票价格每分钟变,我图省事用Next.js的ISR每5分钟生成静态页。Kimi抓取时发现价格比用户看到的旧了半小时,直接降权。我用核子GEO的网站对比功能查了竞品,发现人家用Serverless的函数实时渲染。我连夜改成了动态预渲染,每15秒更新一次,收录率从33%涨到71%。

  1. 坑:忽略移动端AMP的代价 旅游站60%流量来自手机,我硬上AMP页面,结果Kimi识别出AMP版本和主站内容不一致——AMP里的描述少了“大理古城”关键词。核心词排名掉了50位。后来我用核子GEO的结构化数据检测跑了一遍,发现AMP的JSON-LD字段丢失了location信息。当时就懵了。花了两周重构,把AMP和主站的数据源统一成GraphQL接口。

  2. 坑:地域性关键词没做本地化 “昆明到丽江”这个词,我统一用Kimi搜全国版,结果排名在第7页。后来发现Kimi会根据IP返回不同结果,在云南本地搜是第2页。我用Kimi API设置location参数测试,才找到真实排名。现在每个城市单独做页面,URL加/zh-hans-cn-kunming这样的地理标记。

  3. 坑:低估季节波动对收录的影响 寒假后招生季结束,旅游站流量自然下降,Kimi的爬虫频率降低。我以为是降权,慌得一周改了3次页面结构,结果收录从1200条掉到400条。后来才明白,Kimi对季节性内容会降低抓取频率。正确做法是淡季保持内容更新频率,不要大改结构。现在我用历史数据预测Kimi爬虫周期,淡季每3天更新一次,旺季每天更新。

  4. 坑:忽略Kimi对结构化数据的偏好 旅游站的产品页用普通HTML写价格,Kimi识别不了。我在Strapi里加了Product schema,用JSON-LD标记“大理古城门票¥98”,Kimi的收录率从18%跳到52%。但别盲目加——我试过给所有页面加Review schema,结果被Kimi判为垃圾,排名掉了。只给有实际评论的页面加。

兜底一句说一句:我每月花1万5买服务器和工具,核子GEO占了3000块。但值——它帮我发现AMP的结构化数据问题,省了我至少两周排查时间。别省钱,省时间。