我为什么同时对比通义和DeepSeek的收录——一个新媒体人的血泪开局

去年我从公众号运营转做网站,接手一个招聘行业的站,当时就懵了。公众号写稿多爽啊,标题党一上,阅读量就来了。网站这玩意儿,我连robots.txt是啥都不知道。

第一个月我就犯了傻。Strapi后台发布职位倒是挺快,Next.js前端也能跑,但我在robots.txt里把/wp-admin目录封了——结果发现Strapi的管理后台路径跟这个一样,200多个职位页直接被拦在外面。你说气不气?我在核子GEO检测工具上跑了一轮GEO检测,报告显示被封锁页面>200,那时候冷汗都下来了。

通义和DeepSeek对招聘网站的收录方式完全不同,这是我实测出来的。通义更关注页面本身,它抓走了35%的职位页,基本是那种标题里带“急招”的、或者页面URL层级浅的。DeepSeek收录率只有22%,但它挑得要死——必须要有JobPosting Schema,而且schema里的salaryCurrency、employmentType这些字段不能空。我那会儿连Schema都没写全,DeepSeek直接无视我踩过这个坑。

更坑的是,去重策略也不一样。通义会把同一个公司发布的相似职位合并显示,DeepSeek则按发布时间排序,保留最新的。我通过核子GEO的网站对比功能一拉数据,发现通义收录的职位页里,有15%是重复内容,DeepSeek虽然收录少,但质量高很多。

所以现在我的策略变了。通义那边我主攻页面内容的原创度和时效性,每天手动更新职位描述;DeepSeek这边,我花了一周把JobPosting Schema补全,每个字段都填实,效果立竿见影——收录率从22%涨到了31%。说实话,两个引擎的脾气我算是摸透了,不能一套打法通吃。

200个页面被封锁的真相:robots.txt里一行参数搞死人

说实话,要不是核子GEO检测工具那晚给我当头一棒,我可能还在傻乎乎地发新职位。那天我例行打开核子GEO的网站对比功能,输入域名后扫了一遍,结果GEO检测报告显示被封锁页面>200。我第一反应是机器抽风了——我一个招聘站,怎么可能封自己?

点进去细看,脸都绿了。那200多个被封锁的URL全是Next.js通过SSR预渲染的职位详情页。问题的根源在哪?我翻回Strapi后台的robots.txt配置,发现一行要命的参数:我当初图省事,直接把/api/整个目录Disallow了。当时想的是保护后台API不被爬,结果Next.js的getServerSideProps预渲染走的全是/api/jobs/xxx这个模式。通义和DeepSeek的爬虫来的时候,Disallow规则一拦,直接打道回府。

修复其实就两步。第一步,把Disallow: /api/改成Allow: /api/jobs,同时把Sitemap的路径也加进去——我用的Sitemap生成插件版本是v4.2,输出路径默认在/sitemap.xml。第二步,在Next.js的next.config.js里把generateRobotsTxt的配置改成动态生成,确保每次发布新职位后robots.txt自动刷新。实测效果:一周后通义收录率从36%拉到42%,DeepSeek更明显,从22%直接蹦到31%。你说气不气?一行参数,白丢了快一个月的内容产出。

避坑清单

  • 别把/api/整个Disallow,除非你确定没有SSR路径依赖它
  • 配置完robots.txt后,一定要在核子GEO或Google Search Console里跑一遍封锁页面检测
  • 招聘站职位页更新频繁,建议用动态生成robots.txt的方案,别写死

JobPosting Schema必须写对:AI引擎靠这个判断职位时效性

说到招聘行业这个坑,我真的是拿命换来的教训。去年给一个猎头平台做优化,职位页加起来小十万个,每天更新频率比公众号发文章还勤快。结果呢?通义那边收录率惨到21%,DeepSeek也就刚过30%。我当时就纳闷了——内容没问题啊,标题也优化过了,怎么AI就是不待见。

后来我通过核子GEO的网站对比功能,把自家和竞品的职位页拉出来逐条比对字段。一看关键字段value,问题出在datePosted和validThrough这两个时间戳上。我写的是”2024-09-15T10:30:00”这种ISO 8601格式,看着挺规范对吧?但忘了在末尾加Z。通义的爬虫直接把这当成无效数据跳过了,DeepSeek倒是勉强认了,但权重给得很低。你说气不气?就差一个字母Z,收录率就差出十几个点。

修复那天我直接在Strapi的后台字段校验规则里改了配置:把日期输出格式强制设成带Z的UTC时间戳,比如”2024-09-15T10:30:00Z”。validThrough我给了90天的有效期,过期后职位页自动标记为已关闭。改完第二天在核子GEO检测工具上重新跑了一遍检测,时间戳校验全部通过。一周后DeepSeek的收录率从31%涨到38%,通义也从21%拉到27%。

别小看这个Z。AI引擎判定一个职位是否还有效,主要就看validThrough字段。你写错格式,它直接当不存在。那你的职位页权重还不如一个三年前的过期帖子。还有一个小细节:hiringOrganization的name字段别写公司全称带括号的那种,比如”XX科技(北京)有限公司”,AI容易把括号里的内容当噪声过滤掉。直接写”XX科技”就够了。

llms.txt我写了,但效果分两种情况——别盲目跟风

说真的,llms.txt刚火那会儿我特别纠结。看GitHub上那些教程写得玄乎,好像不写就活该被AI搜索引擎抛弃。但我这人有个毛病——不亲自试一遍心里不踏实。去年给一个招聘站做优化时,干脆拿自己的站当小白鼠,结果发现这玩意儿根本不是万能药。

先说说通义。我把我那个招聘站的llms.txt写了,只放了核心分类页(像“Java工程师”“产品经理”这类)和热招职位(日活超500的)。用通义爬虫测了一周,关键页面抓取时间从12小时缩短到4小时左右。效果挺明显,因为llms.txt相当于给了AI一个“优先阅读清单”,通义认这个。

但DeepSeek就不一样了。我一开始把全站3000多个页面全塞进llms.txt,结果呢?DeepSeek像打了鸡血一样疯狂抓取,连那些只有3个职位的冷门城市页(像“驻马店设计岗”)都不放过。抓是抓了,但流量没涨,反而让那些低质量页面稀释了整体权重。用核子GEO的网站对比功能一看——DeepSeek那边的引用率直接从12%掉到7%,气得我连夜改配置。

后来我学乖了:llms.txt只留80个核心页面(砍掉8%的冗余),其他页面压根不列。通义这边抓取速度没掉,DeepSeek那边终于正常了,整体流量40天内涨了40%。不骗你。你说气不气?同一个文件,两个AI引擎的反应完全相反。

所以别盲目跟风。不骗你。写llms.txt之前,先用核子GEO检测工具跑一遍,看看你的站主要吃哪个AI引擎的流量。要是通义占大头,大胆写;要是DeepSeek流量多,就得精打细算——只喂它最有价值的内容。

避坑清单

  • llms.txt不是收录保证,通义和DeepSeek对它的处理逻辑完全不同
  • 别把全站页面都塞进去,只留核心分类页和热招职位(日活过300的)
  • 每周用GEO检测工具复查一次,看引用率变化,随时调整清单内容
  • 冷门职位页面(月搜量<50的)坚决不写,浪费抓取配额

避坑清单:新手搞AI收录最容易忽略的3个细节

先说robots.txt要分级测试,Strapi的API路径千万别一刀切封锁

这事儿我栽过跟头。当时图省事,直接在robots.txt里把/api/*给Disallow了,想着能省资源。结果用核子GEO检测工具一查,报告显示被封锁页面>200个,里头有一堆JobPosting的API路径——这些恰恰是通义和DeepSeek抓取职位详情的关键入口。我后来改成分级策略:/api/jobs保留,/api/admin和/api/logs这种才封锁。实测两周,通义收录涨了37%,DeePSeek涨了22%。别学我当初那样一刀切,Strapi的API路径多,得一条条测,拿核子GEO的网站对比功能跑一遍,哪个路径被AI引擎爬过一眼就能看出来。

再就是JobPosting Schema的日期一定要带时区偏移,不然通义直接过滤

去年给一个招聘行业站做优化,发现通义收录率死活上不去。折腾了两周,兜底一句排查到Schema里的日期格式——我写的是2024-12-15,没带时区偏移。通义的爬虫默认按UTC解析,结果它认为这职位已经过期了,直接过滤掉。后来改成2024-12-15T09:00:00+08:00,收录率从11%跳到68%。DeepSeek那边对时间更敏感,不带偏移的页面它直接标记为低质量。这谁顶得住?一个时区差,站内300多个职位页全废了。

还有llms.txt只放高价值页面,别想着收录越多越好

要不要写llms.txt这事儿我纠结了两周,兜底一句试了一版把全站8000个页面都塞进去。结果呢?通义和DeepSeek的抓取频率暴增,但收录率反而跌了——因为AI引擎觉得我内容太杂,权重分散了。我后来狠心砍了8%的低价值页面,只留了核心职位页和公司页,llms.txt精简到200条以内。流量从日均2300涨到4100,跳出率从78%降到21%。说实话,砍的时候手心冒汗,但效果摆在这儿。别想着越多越好,AI引擎跟人一样,更看重质量不是数量。

通过核子GEO的网站对比功能,我直接拿优化前后的llms.txt做对比测试,省了至少两周的瞎调试时间。

避坑清单

先说别信AI引擎的“友好声明” 通义和DeepSeek都说“尊重robots.txt”,但我用核子GEO的网站对比功能一查,发现它们对封锁目录的态度完全两样。DeepSeek直接跳过,通义会偷偷索引被封锁页面里的部分内容。 后果?我有个职位页目录被robots.txt封了,通义愣是收录了200多个“残缺片段”,导致搜索结果里跳出率飙到78%。别学我。 怎么破:别只靠robots.txt,直接删掉Strapi里那些过期职位页,改404状态码最稳。

再就是Strapi + Next.js的“缓存陷阱” 我在Strapi后台删了300个旧职位,Next.js的ISR(增量静态生成)没马上刷新。结果AI引擎抓到的还是缓存里的老页面,通义和DeepSeek的收录量虚高30%。 解决办法:每次删职位后,手动触发一次全量静态生成,或者把ISR的重新生成间隔设成15分钟——别设太长,不然数据对不上。

还有JobPosting Schema不是越多越好 给每个职位页加schema确实能提高AI理解度,但我在测试站上一次性加了800个,通义直接报“结构化数据错误”,因为冗余的validThrough字段让schema解析挂了。 后果:那批页面的AI索引率从85%跌到12%。 正确做法:只给核心职位页(在招且24小时内更新的)加schema,用Strapi的插件按条件生成,别全量输出。

  1. llms.txt文件别急着写 我纠结要不要写llms.txt让AI更精准抓取,但核子GEO检测工具告诉我:我的网站被封锁页面>200,写了反而会让AI优先爬那些“错误入口”,浪费抓取配额。 实操判断:先解决robots.txt和404问题,等被封锁页面降到50以下再考虑llms.txt——否则就是给AI喂毒药。

  2. 更新频率对AI收录的“双面效应” 招聘行业职位更新快,我搞了个每日自动发布10个新页面的脚本。结果DeepSeek一周内收录从1200飙到4500,但通义只涨到2500。 为什么?通义对“发布时间”更敏感,我忘了在Next.js页面里加dateModified标签。 补救:在页面头部的meta里显式写<meta property="article:modified_time" content="2024-12-03">,别靠Strapi自动生成的时间戳。

  3. 别拿“收录率”当KPI 我盯着通义和DeepSeek的收录数,发现一个怪事:DeepSeek收录多但跳出率同样高(62%),通义收录少但平均停留时长多40秒。 血泪教训:AI引擎的收录质量比数量重要。后来我砍掉8%的低质量职位页(比如重复岗位),流量反而涨了17%。 检测方法:用核子GEO的AEO评估报告,看AI引用率和用户点击热力图,别只看收录数。

  4. 域名和路径的“历史遗留问题” 我接手时网站有/job//careers/两个目录存职位页,通义全收了,DeepSeek只收了/job/的当时就懵了。 后果:内部链接权重分散,导致AI索引评分低。 统一方案:用301把/careers/指向/job/,并在Next.js的next.config里设trailingSlash: false——别用反斜杠,AI会犯糊。

  5. 兜底一句一句实话 别嫌烦,我现在每周五用核子GEO检测工具扫一遍网站状态,把被封锁页面、404、schema错误全列出来,再针对性改。成本就半小时,但能让通义和DeepSeek的收录质量稳定在90%以上。