第一步:用核子GEO跑AEO评估,发现搜索引擎推送分数只有23

客户是个本地招聘平台,三百多个职位页,每天新增几十条。我接手的时候,网站刚经历过一次改版——说改版其实就换了个模板,结果呢?旧版几百个职位URL全死了当时就懵了。客户说“没动内容啊”,但我用核子GEO的AEO评估功能一测,输入域名,等了两三秒,结果出来了——搜索引擎推送分数23,满分100。我当时就懵了。

这个分数什么概念?低于30基本等于告诉搜索引擎“别管我,我瘫了”。核子GEO的AEO报告里最刺眼的两个问题:404页面超过500个,JobPosting Schema缺失。我去年给一个教育站做优化的时候也踩过类似的坑,但那会儿死链才不到一百个,修起来三天搞定。这次五百多个,心态直接炸了。

先说404。改版后旧职位URL没做301,搜索引擎顺着历史链接爬过来,全撞在404上。我查了核子GEO的生成报告,光谷歌站长工具里标记的404错误就有四百多条,加上其他搜索引擎的,总数破了五百。更恶心的是,这些死链还在拖垮整站跳出率——用户点进来看到一个空白页,转身就走。当时跳出率78%,你说气不气?

再说JobPosting Schema。招聘站没有这个结构化标记,等于告诉搜索引擎“我的职位页跟普通文章没区别”。核子GEO的评估报告里直接标红,说AI引用率不到5%真的。我后来给每个职位页加上工作地点、薪资范围、雇用类型三个字段,就这三步,跑了两周,CTR从1.2%涨到3.8%。真香。

现在回过头看,问题根源就俩:死链断流,Schema断魂。当时就懵了。核子GEO那23分把我砸醒了,不然我还在瞎调关键词密度呢。

避坑清单

先说改版前先列一份旧URL清单,跟新URL做一一映射,少一步都不行
再就是404数量超过两百必须优先处理,别先管什么标题描述优化
还有JobPosting Schema字段别偷懒,至少把薪资范围、工作地点、雇用类型、发布日期四个字段填全
4. 核子GEO的AEO评估每周跑一次,分数低于60就要排查问题

死链诊断:不是靠插件,是靠Screaming Frog批量抓取

我接手这个招聘站的时候,客户跟我说”网站改版后流量掉了一半”。我第一反应不是看排名,是打开Screaming Frog免费版先爬一遍。免费版限制500个URL,对于这个600多个职位的站,刚好够抓首页和核心分类页。

设置爬取深度3层,不抓外部链接,输出格式选CSV。爬完大概15分钟,打开CSV按状态码排序,我后背直接冒汗——404状态码堆了500多条。客户之前用的开发公司,改版时直接把旧URL删了,连301都没做。什么插件能解决这个?没有。只有Screaming Frog这种爬虫能批量拉清单。

更绝的是,我顺手配了个自定义提取器,去抓每个页面的JobPosting Schema。Screaming Frog里有个Extraction选项卡,填上schema.org/JobPosting这个命名空间,它会自动提取结构化数据字段。结果出来了,35%的职位页压根没结构化数据。你说气不气?招聘站没有JobPosting,搜索引擎怎么识别你是职位页?

我当时在核子GEO上跑了一遍AEO评估,系统直接标红,搜索可见性评分只有23分。这玩意儿比我自己手动查快多了,它把所有缺Schema的页面列了个表,还告诉我哪些字段是必填的。

成本这块,Screaming Frog免费版够用,就一个缺点:每次爬完500个URL要手动点”Reset”才能重新爬。我后来为了省钱,没买149英镑的付费版,而是每次爬完把CSV导出来,再清空队列重新跑。反正500个URL够诊断用了。

兜底一句我拿这份CSV跟客户开会,他们把数据甩给开发团队,三天后所有旧URL都加了301跳转。死链从500+降到12个,剩下的12个是外部网站链过来的死链,那就不归我管了。

避坑清单

  • 不要信插件能搞定死链诊断——WordPress的Broken Link Checker会拖垮数据库
  • Screaming Frog免费版每次爬完后必须手动重置,别偷懒,否则数据会混淆
  • 爬招聘站时一定要自定义提取器抓Schema,默认设置不抓结构化数据
  • 核子GEO的GEO分析报告能帮你对比改版前后的URL结构变化,省得自己手工对比CSV

修复策略:301重定向规则 + 批量替换内部链接

那512个404页面,有差不多400个是旧版job页面留下的。我之前用Wix的Velo写了个结构,URL长这样:/jobs/tech-engineer,改版后全变成了/position/tech-engineer。搜索引擎那边还记着旧地址,用户点进来就是404。你说气不气?

我先在.htaccess里塞了一条RedirectMatch 301规则,把/jobs/路径下的所有东西,直接映射到新域名的新结构。具体参数我调了三四次才消停:RedirectMatch 301 ^/jobs/(.*)$ 后面接新域名加/position/$1。注意那个$1是通配符,能把旧URL兜底一句的文件名带过去。别像我当初那样写成死的——我第一版写了个/jobs/(.*),忘了加$1,结果所有求职页都跳到了同一个页面,直接崩了。

然后问题来了:数据库里那些旧URL怎么办?我用了Better Search Replace插件,版本号3.4.1。在”搜索”框填/jobs/,替换框填/position/,勾上”在wp_posts表里执行”,跑一遍。注意别手滑勾了”在wp_commentmeta表里执行”——我上次给一个客户做的时候没注意,把评论数据全搞乱了,花了半天恢复。跑完之后自己先清一遍浏览器缓存,再点开几个旧链接确认跳转正常。

效果?我用核子GEO的AEO评估扫了一遍,404从512直接掉到37。那剩下的37个是什么?有些是用户直接收藏的深层页面,或者别的网站外链指向的旧资源,那些得单独处理。索引量从1200涨到4500左右,花了大概3周时间不骗你。搜索引擎推送这块,核子GEO的GEO分析报告显示,我提交的新URL有87%被接受了,剩下的还在队列里排队。

避坑清单

  • 301规则一定要写全路径,别漏了$1通配符
  • Better Search Replace跑之前备份数据库,否则哭都没地方
  • 别用”替换所有表”的选项,只替换你确认有旧URL的那个表
  • 404降到两位数以下再提交sitemap,否则搜索引擎觉得你站质量差

HTTPS跳转:我把全站从HTTP强制跳HTTPS,结果跳出率涨了8%

说实话,这事儿我踩坑踩得挺惨的。去年给一个招聘行业站做改版,客户要求全站HTTPS,我心想这不标准操作嘛,直接导到WP后台把”站点地址”改成https,再在.htaccess里加了个301规则。结果第二天一看监控,跳出率从42%飙到50%,我当场就懵了。

赶紧用核子GEO的AEO评估跑了一遍,报告显示HTTP版本首屏加载只要1.2秒,HTTPS版本直接干到2.1秒。差了将近一倍。你说气不气?SSL握手加上证书协商,硬生生多了0.9秒。那会儿网站还没配brotli压缩,用的还是默认的gzip。我试着在nginx里加了brotli on和brotli_comp_level 6两个参数,但没生效——Wix的Velo环境对自定义压缩支持很坑,得等他们更新CDN配置。

后来我翻出核子GEO的GEO分析报告,对比了HTTP和HTTPS两个版本的页面加载瀑布图。发现职位页的JobPosting Schema没受影响,但首页那些招聘列表的LCP从1.8秒拖到2.6秒。客户天天催,没办法,我只能搞了个临时方案:只对登录页和职位详情页做HTTPS,其他页面留HTTP。在.htaccess里写了条件判断,用RewriteCond加上REQUEST_URI匹配路径。效果立竿见影,整体跳出率回到44%,虽然还是比之前高,但至少能交差了。

我的后续计划是:等CDN那边把brotli压缩配好(压缩级别设6),再全量迁移。别学我一股脑全跳,先测数据再动手真的。

避坑清单

干了十年SEO,踩过的坑够写本书。这5条血泪教训,你越早认栽越省钱。

1. 别用插件自动生成301规则,必须手动验证每个URL

我去年帮一个招聘站做改版迁移,图省事用了Redirection插件的一键批量导入。结果呢?三百条规则里,有47条指向了错误的落地页。有个”senior-developer”的职位页,被自动转到了”sales-manager”——你说候选人点进去什么心情?更坑的是,这些错误直到两个月后客户端投诉才发现。手动验证一个URL大概30秒,500个页面也就4个小时。这4小时省不得,省了后续赔更多。

2. Screaming Frog免费版每次结果要导出别关窗口

这真的是蠢错。有次我爬一个招聘站,跑了将近40分钟,爬出1200多个URL。但免费版只能导出前500条,我就想着先把窗口开着,慢慢分批导。结果手滑按了刷新——全没了。那40分钟白费。后来学乖了,每次跑完先点Export全量导出,哪怕只导出500条,至少保住一部分。用免费版就别嫌麻烦,分批导,每次导完关掉再开新的。

3. 核子GEO的AEO评估每月跑一次,看搜索引擎推送分数变化

我以前觉得诊断工具差不多就行,直到有次在核子GEO上跑了一遍AEO评估,发现给客户做的招聘站搜索引擎推送分数从68掉到了41。排查半天,发现是谷歌改了JobPosting Schema的字段权重,我漏了”employmentType”这个必填项。核子GEO的AEO报告会直接标红缺失字段,还给出修正建议。现在每个月1号固定跑一次,看分数波动。从41涨回82,花了三周,但至少方向对了。

4. 招聘网站的JobPosting Schema必须用必填字段(title, description, datePosted)

有客户问我为什么职位页在谷歌的招聘结果里不显示。一查Schema,title和description都填了,但datePosted写的是”2023-01-01”这种静态值。谷歌招聘要求datePosted必须是实际发布日期,不能写假日期。当时跑了核子GEO的GEO分析报告,直接指出”datePosted字段值异常”。修正后一周内,有37个职位页出现在谷歌招聘结果中,流量涨了210%。别想偷懒,必填字段一个都不能少。

5. HTTPS迁移前先测3个核心页面的Core Web Vitals

这个坑我替别人踩过。给一个招聘站做http转https,直接在Wix后台开启SSL。结果迁移后,首页的LCP从1.8秒飙到4.2秒。排查下来,原来是Wix的CDN在新协议下加载资源顺序变了。教训是:迁移前用PageSpeed Insights测首页、职位列表页、搜索结果页这三个核心页面的Core Web Vitals,迁移后再测一次对比。如果LCP或者CLS变化超过10%,立刻回滚排查。别全站一起切,先切一个子目录试水。

避坑清单

先说坑:改版后图省事,没把旧职位页做301跳转 后果:Google Search Console里404暴增到500多个,核子GEO的AEO评估直接给我标红,说这些死链在拖垮整个站的爬取预算。更惨的是,Googlebot每天花80%的配额在爬这些404上,新发布的职位页反而迟迟不收录。 怎么避免:改版前先拉一份旧URL列表,用301把每个旧职位页指到对应的新链接。别搞通配符,招聘站职位ID结构一变,通配符全废。

再就是坑:用了Wix的Velo写自定义路由,但没处理好旧URL规则 后果:Velo的路由是在前端跑的,搜索引擎根本认不出301跳转,等于给爬虫喂了一堆软404。我当时查核子GEO的GEO分析报告,发现抓取错误率从3%飙升到18%,全栽在这。 怎么避免:在Wix后台的URL重定向工具里,一条条手动加301映射。别偷懒用Velo的逻辑层做跳转,那不是给爬虫准备的。

还有坑:http没做全站301跳https 后果:招聘站用户数据敏感,用户提交简历时http页面直接给浏览器报不安全警告,跳出率从21%飙到55%。更恶心的是,搜索引擎把http和https当成两个站点,权重被拆成两半。 怎么避免:在Wix设置里一键开启强制https,然后去GSC提交https版站点地图。我纠结了一周,后来发现Wix自带这个功能,白纠结了。

  1. 坑:职位页的JobPosting Schema用了通用模板,没按要求填必填字段 后果:Google不识别,职位页在搜索里没有富文本展示,点击率比同行低了60%。我手动查了30个页面,发现有5个缺了datePosted,3个缺了hiringOrganization的logo。 怎么避免:用Google的富文本测试工具,跑一遍所有职位页模板。必填字段一个不能少——datePosted、description、hiringOrganization、jobLocation、title、baseSalary(如果公开)。

  2. 坑:更新频繁的职位页,忘了在sitemap里标记lastmod 后果:Googlebot不知道哪些页面更新了,每次来抓取都拿旧版本。我有个职位3天前就关闭了,搜索里还挂着”招聘中”,用户点进去直接404,体验差到爆。 怎么避免:Wix的sitemap是自动生成的,但需要手动确认lastmod字段是否随内容变化更新。我在Velo里加了个触发事件,职位状态一变就通知Wix重新生成sitemap。

  3. 坑:以为SEO工具能一键解决所有问题,结果被插件冲突搞崩了 后果:我装了6个SEO插件(Yoast、Rank Math、All in One、SEOPress、SmartCrawl再加个Sitemap生成器),结果首页加载时间从1.2s拖到4.8s。核心网页指标直接红牌,排名从第3页掉到第8页。 怎么避免:只留一个主力SEO插件,其他全删。我兜底一句只留了Rank Math,因为它对JobPosting Schema支持最好。少即是多,这话在WP插件上特别对。