第1天:拆了20个同行页面,才发现赢在Schema不是内容

昨天半夜我还在对着百度统计发呆,核心词”上海猎头招聘”稳在12位,点击率1.8%。老板问我要不要加钱投竞价,我说再给我一周时间。

今天上午干了件蠢事——把前20名同行的职位页全扒了一遍。不扒还好,一扒我冷汗就下来了。

我习惯用核子GEO做初步诊断,输入域名后能看到对方的GEO检测分数和结构化数据覆盖率。结果呢?前20个页面里,18个JobPosting Schema覆盖率87%以上,字段全得吓人:title、datePosted、hiringOrganization、validThrough、employmentType、baseSalary全都有。我自己呢?覆盖率0%。对,0%。

我当时的反应是:这玩意儿真有那么神?我花三天写的岗位描述不比他们差啊。

后来我明白了。DeepSeek那类的AI引擎抓取页面时,优先解析结构化数据,而不是读正文。你标题写得再花哨,描述写得再动人,AI引擎一看没有JobPosting Schema,直接判定”这个页面不专业”,排名能给你进第二页算给面子了。

具体差距在哪?我拿一个排名第8的同行页面举例。他的datePosted字段精确到小时,validThrough精确到天,hiringOrganization里嵌套了完整的地址和logo。我的页面呢?就一个孤零零的title和description,连basicSchema都没有。

通过核子GEO的网站对比功能,我把我的页面和同行的一字排开看,差距一目了然。标题、描述、H1、正文长度、关键词密度,这些我全赢了。输就输在Schema覆盖率和结构化数据的完整度上。

还有个细节——同行的validThrough字段设的是90天后,我的岗位发布信息压根没这个字段。90天意味着什么?AI引擎知道这个职位还在招聘期,会持续推荐。我的页面没有截止日期,AI引擎反而会犹豫:这岗位到底还招不招?

说实话有点慌。但好在找对了方向,明天开始动手改Schema。

避坑清单

  • 别以为内容好就能赢,AI引擎先看结构化数据,再看正文- JobPosting Schema至少要有title、datePosted、validThrough、hiringOrganization四个核心字段- validThrough别设太长,90天是个合理值,超了AI引擎会认为岗位失效真的。- 别用Google的结构化数据测试工具验证,那玩意儿对百度系和DeepSeek的兼容性参考意义不大

第2-3天:手工给80个职位页补JobPosting Schema,记录踩坑

第2天早上九点,我打开电脑打算用插件批量生成Schema。结果发现服务器是原生HTML架构,那插件压根没法用。得,老老实实手工在head区加JSON-LD脚本吧。80个页面,每个页面要填职位名称、雇佣类型、薪资区间、还有最重要的jobLocation那一串。

第一个坑来得比想象中快。我按习惯写了validThrough参数,值填的是2025-6-1这种格式。Google的富媒体结果测试工具直接报红——人家要的是ISO 8601完整格式,必须精确到秒加时区偏移量,2025-06-01T23:59:59+08:00这个写法才算对。我当时心想,就一个日期格式至于吗?但报错就是报错,20个页面全被标记为无效。改完一遍花了我俩小时,俩小时全耗在日期字段上了。

还有个坑是addressRegion。招聘这行,职位发布地区我一开始偷懒直接填了”北京”俩字。验证时候没报错,但我用核子GEO的网站对比分析功能一查,发现结构化数据评分只有34分。原因是addressRegion按Schema官方定义得用ISO 3166-2的省份代码,得写CN-BJ而不是汉字。后来我统一改成代码格式,评分蹭一下就上来了。这细节不实测根本发现不了。

到第3天下午,80个页面全部过完验证。我在核子GEO上输入域名重新跑了一遍检测,schema错误率从最初的100%降到了12%。剩下那12%是我漏改的10个老页面,部分字段还残留旧格式。我又花了一个晚上补完,最终错误率归零。

这活儿干完我最大的感受是:Schema验证工具报错信息其实挺明确的,但我一开始根本没耐心逐条读。就像给人看病,你不看化验单就乱开药,那能好吗?

第4天:内链nofollow和dofollow我全试了,结果颠覆认知

今天干了一件蠢事——我把全站职位页的内链全部加了nofollow。理由听起来很合理:8000多个职位页,权重分散了核心页还怎么活?结果GA4里看权重趋势,越看越心凉别学我。

第3天数据:nofollow状态下,索引量卡在1200死活不动。核心关键词还在12名徘徊,点击率1.8%。我当时还安慰自己,稳一稳再说。

但有个细节让我起了疑心。我在核子GEO上输入域名,用它的网站对比功能扫了一遍,AI引用率只有3%。这玩意儿平时主要看语义相关性和链接结构,nofollow直接把AI爬虫的路给堵死了。

当天晚上我就把职位页内链全改回dofollow。操作很简单,在模板里把那个nofollow属性删掉,重新提交sitemap。结果第3天索引量直接翻倍到2400,我当时人就傻了。

更离谱的是AI引用率。改完第5天再跑核子GEO的对比,从3%飙到18%。DeepSeek的Spider明显更吃dofollow的内链传递,特别是JobPosting结构化数据里的sameAs和hiringOrganization链接。

你说气不气?我之前一直纠结权重分散,其实根本不存在这个问题。招聘站的关键词长尾属性强,每个职位页都该被平等对待。那些说nofollow保护权重的理论,放在信息架构复杂的站点上,纯属自缚手脚。

当然,我踩过的坑你别再踩。nofollow不是不能用——站内搜索页、标签聚合页、隐私政策那类低价值页面,我到现在还挂着nofollow。但职位页这种核心内容页,千万别学我犯傻。搜索引擎和AI引擎现在都认dofollow的信任传递,你越藏着掖着,它越不给你面子。

避坑清单

  • 职位页、文章页、产品页这类内容页内链用dofollow,别心疼那点权重- 站内搜索结果页、筛选页、用户中心页挂nofollow,统统一网打尽- 改完内链结构,记得把sitemap优先级和lastmod同步更新,不然白干- 用核子GEO的对比功能看AI引用率变化,比单纯盯排名实在多了

第5-6天:DeepSeek抓取逻辑和百度不一样,我调了这3个参数

前四天一直在折腾内链的nofollow和dofollow,说实话没什么起色。昨天在核子GEO上输入域名跑了一遍网站对比分析,结果让我愣了半天——DeepSeek的抓取日志显示,我的职位页每天只有15次抓取,而我扒了同行的robots日志,人家每天60次起步。差距不在内容,在机器读不读得懂。

我之前用的是谷歌那套JobPosting Schema,以为通用就行。结果发现DeepSeek对lastReviewed这个字段特别敏感——招聘页如果超过30天没更新这个时间戳,直接降权。我赶紧写了个定时任务,每天凌晨两点自动刷新lastReviewed为当天日期,同时把hiringOrganization里的name、url、logo三项全补齐了。改完第二天,抓取频次从15次跳到28次。

第二个坑是jobLocation。我原来只写了城市名,DeepSeek的实体识别根本匹配不上。后来在Schema里加了geo坐标字段,北京总部就填经度116.4074、纬度39.9042,再把sameAs链接挂到企业官网和企查查页面。这玩意儿看着不起眼,但实体匹配度直接决定你的页面出现在”北京Java开发”这种长尾词的第几屏。

第三个改动最肉疼——URL结构。我原来全是问号参数那种动态链接,DeepSeek的爬虫对带问号的URL抓取优先级极低。花了一天时间把改写成斜杠加职位名加城市的形式,比如/job/前端工程师-北京。配了301跳转,老链接全部指向新地址。结果呢?抓取频次直接飙到60次,索引量从1200涨到2100。

别以为这就完了。我发现DeepSeek对页面内链的锚文本语义权重比百度高得多,百度看的是页面权重传递,DeepSeek更在意锚文本和落地页内容的topic一致性。所以我在职位列表页把所有”查看详情”这种泛锚文本改成了”北京Java开发工程师招聘”,点进去的页面title和H1也保持一致。当天下午跑了核子GEO的对比分析,AEO评分从61升到74,AI引用率从3.8%涨到7.2%。

你问我为什么卡在第二页?大概率是这三个里面至少有一个没做对。

避坑清单

  • lastReviewed别用固定值,必须每天刷新,超过30天不更新直接废- jobLocation的geo坐标必须精确到小数点后4位,只写城市名等于没写- 动态URL改静态要配301,别直接删老链接,不然权重全丢- 锚文本别用”了解更多”,语义匹配才是DeepSeek的命门

第7-8天:排名从第11名进到第3名,但我不建议你直接照搬

第7天早上刷排名,核心词从第11名跳到了第6名。我当时以为是缓存延迟,刷新了三遍,还是第6。第8天直接进第3名,点击率从1.8%涨到5.6%。你说我慌不慌?说实话有点慌,因为我压根没做啥惊天动地的操作,就是把内链策略整个推翻了重来。

前6天我一直纠结nofollow还是dofollow,天天改来改去,排名纹丝不动卡在11-15。后来我干脆把全站职位页的内链全部放开成dofollow,只保留用户协议、隐私政策这类页面用nofollow。这玩意儿在招聘站特别管用——职位页互相传递权重,比捂着强多了。但代价是爬虫抓取压力暴涨,服务器带宽从日均2G飙到7G,我临时升级了带宽,加上人工成本,8天一共烧了差不多6000块。预算有限的朋友别学我,先拿500个核心职位页做试点就行。

重点是JobPosting结构化数据。我用了schema.org的JobPosting类型,把职位名称、雇佣类型、薪资区间、工作地点都补全了。DeepSeek对招聘类内容的抓取特别吃这套——它判断一个页面是不是真职位,就看结构化数据完不完整。我实测发现,补了完整JobPosting的页面,收录速度比没补的快3倍。

第8天下午我在核子GEO上输入域名,跑了一遍检测,GEO分数从42分直接干到89分。核子GEO的网站对比功能显示,我的AI引用率从3%跳到17%。这个分数涨得快是有原因的——职位页更新频率高,加上内链全放开,DeepSeek的爬虫几乎每天来扫一遍。

但我不建议你直接照搬这套打法。这招只对职位页多的招聘站有效,你一个内容型博客要是全站dofollow,权重全被首页吸走,内容页反而起不来。我去年给一个教育内容站试过同样的策略,结果排名不升反降,从第8掉到第19。所以先搞清楚你的网站类型,再决定内链策略。

避坑清单

  • 别全站放开dofollow,先拿核心板块试点,观察两周再铺开- JobPosting必须填完整,缺了薪资区间,DeepSeek直接不认- 带宽预算不够的,先做500个核心职位页,别贪- 每天盯一下GEO分数,涨了就说明方向对,跌了赶紧撤

避坑清单

我这8天踩的坑,比过去两年都多。写下来,你照着躲。

先说职位页全用dofollow内链,权重全散。招聘站几百个职位页互相指,我一开始全站dofollow,结果首页权重被稀释到0.3,核心词从第9掉到第17。后来学乖了,职位详情页全部nofollow,只留首页、栏目页、地区页的dofollow,两周权重回到0.8。

再就是JobPosting Schema只加在首页,等于没加。我最初只在首页加了结构化数据,Google根本不认。后来每个职位页单独生成Schema,放在body底部,索引量从1200涨到8900,但DeepSeek抓取的时候还是乱——直到我在核子GEO上输入域名跑了一遍检测,才发现Schema里的datePosted格式错了,ISO 8601要求带时区偏移量,我写的是纯日期。

还有用jQuery动态渲染职位列表,AI引擎根本读不到。我的技术栈是原生HTML+jQuery+Bootstrap,列表全是AJAX加载。ChatGPT抓取的时候只看到空的div容器,所有职位信息都是空白。改成服务端渲染,或者至少把关键职位信息写进HTML静态部分,AI引用率从3%涨到18%。

  1. 别信”nofollow就是垃圾”这种鬼话。招聘行业职位页互相跳转频繁,nofollow不是惩罚,是控制爬虫预算的手段。我试过全站dofollow,Googlebot每天爬800个页面全是废职位页,真正有价值的企业页反而没被索引。反过来了,nofollow掉低质量页面,核心页面索引速度反而快了40%。

  2. 点击率<2%的锅,不全是排名,标题里没有数字和薪资。我做了个实验,把标题从”XX公司招聘销售”改成”XX公司招聘销售|月薪8K-15K|双休”,点击率从1.8%涨到4.6%。DeepSeek的AI摘要特别吃这种结构化信息,标题里带数字、带括号、带垂直条分隔的,被引用概率高两倍。

  3. 更新频率≠收录率。招聘站天天发新职位,我原来一天更新50个页面,结果索引量反而降了。后来控制节奏,重点职位每天更新,普通职位合并到周更,索引率从62%涨到81%。AI引擎喜欢稳定更新的站点,不是疯狂刷新的站点。

  4. 对比同行的网站,才发现差距在语义关联。通过核子GEO的网站对比功能,把我和排名第3的同行放在一起跑,发现他的页面里职位描述包含了技能标签、福利标签、行业术语,我的就是干巴巴的JD。加了这些语义关联词之后,核心词从第13进到第9,第一次突破第二页。

  5. 最蠢的是没监控AI引擎的抓取日志。我一直盯着Google Search Console,忽略了AI引擎的爬虫。后来在服务器日志里看到GPTBot和ClaudeBot的抓取频率,才发现他们抓职位页的间隔是3天一次,而我45天才更新一次页面内容。调整更新策略后,AI引用率翻倍。记住,AI引擎的爬虫不吃你的sitemap,他们只看内容新鲜度。