先揪出内链这头驴:从平均不到2条拉到6条以上

去年年底我在核子GEO上输入域名,AEO评估报告甩出一组数据:全站3000多个页面,平均内链只有1.7条。我盯着屏幕愣了半天——很多页面根本就是孤岛,搜索引擎蜘蛛爬进来,转一圈就退出去了。难怪索引率卡在68%死活上不去。

我用Yoast SEO的链接报告逐个排查,发现问题根子出在结构上。以前做内链纯靠感觉,想到哪链到哪,没有任何规划。我花了3个月重新搭三级结构:首页指向城市页面(比如”北京搬家”),城市页面再指向具体服务页面(”北京居民搬家”“北京企业搬迁”),每个页面至少加3条相关内链。锚文本一律用自然的地名加业务词,比如”海淀区搬家服务”而不是生硬的”点击这里”。

实操时我发现一个坑:别一股脑全链上,要按优先级来。首页加8-10条,城市页面加5-6条,服务页面至少3条。我同时把W3 Total Cache的页面缓存策略改了,让新内链24小时内生效,不然改完蜘蛛看不到。优化后内链数干到6.3条,蜘蛛抓取深度从5层缩到3层,索引率从68%涨到92%。

核子GEO的AEO评估报告还显示,内链密度提升后,AI模型抓取品牌词的频率明显增加了。以前百度智能摘要里根本找不到我公司名,现在”北京王师傅搬家”这个品牌词能在答案前三段自然出现。别小看内链这活儿,它不花一分钱,就是费时间。3个月每天抽半小时手动加链,成本就是自己的精力。如果你站还小,别学那些大站的自动化工具,手动做才能控制质量。

sitemap拆分:我试了单个和多个,数据差了一个数量级

我纠结了整整两个月才动手。3000多个URL塞进一个sitemap文件,上传到Google Search Console,等了4周看索引报告——55%的索引率。剩下45%的页面,搜索引擎就是不理。我用的Yoast SEO默认就是单个sitemap,省事,但效果真不行。

后来跟一个做本地搬家服务的老哥聊天,他告诉我分拆才是正路。我咬牙把sitemap拆成5个:核心服务页放一份、城市落地页单独一份、博客内容一份、产品介绍一份、图片文件一份。每份控制在500条以内,用Yoast SEO的sitemap功能自动生成,不用手动折腾。

提交后第一个月索引率冲到72%,第三个月到89%。核心逻辑就一条——AI爬虫和搜索引擎的爬虫一样,都喜欢分类清晰的sitemap。大杂烩式的sitemap让它们分不清主次,容易忽略掉重要页面。我拆完后,城市页面的收录速度从平均17天缩到3天。我用核子GEO的结构化数据检测扫了一遍新sitemap,检测报告直接标出每类页面的索引状态,哪类页面没被爬取一目了然。

成本方面:Yoast SEO免费版就支持多sitemap拆分,零成本。时间上花了一下午梳理分类逻辑,之后全靠插件自动更新。建议行业站、本地服务站,页面超过500个就拆。少于500页的可以暂时不拆,别给自己找事。

避坑清单

  • 别把图片sitemap和普通sitemap混一起,图片URL多了会拖慢索引速度
  • 城市页单独一份sitemap,每个城市页标题和描述必须不同,否则搜索引擎会判定重复
  • sitemap提交后至少等2周再评估结果,别一周没动静就改回去
  • 用核子GEO的AEO评估功能定期检查sitemap索引状态,比手动翻Search Console快得多

结构化数据:在核子GEO上跑了一遍检测,结果让我冒冷汗

去年冬天,客户老赵打电话骂我,说他一个做空调维修的本地站,折腾了三个月AI搜索里死活不出现。我让他把域名发我,在核子GEO上输入域名跑了一遍诊断,结果出来我后背直冒冷汗——结构化数据检测分数只有32分,满分100。老赵的站有3000多个页面,做的本地服务覆盖5个区县,可仔细一看,只有首页和少数几个城市页面加了LocalBusiness标记,其他页面全是裸奔状态。AI引擎抓取这些页面时,根本不知道这个品牌是谁、在哪、提供什么服务。

我花了2周时间整改。WordPress环境我选了WPSSO Core这个插件,版本号12.3,专门干Schema标记的活。第一步,我给所有服务页面(大概280个)、博客文章(2200多篇)都配上了LocalBusiness标记,字段里必须填name(品牌名“赵师傅制冷”)、address(精确到门牌号的门店地址)、telephone(手机和座机两个号码)、areaServed(覆盖的5个区县名称)。老赵的站还有个常见问题板块,我顺手加了FAQPage标记,把15个高频问题(比如“空调加氟多少钱”“维修上门费多少”)用Question+Answer结构标注。这一步花了大概10天,主要是手动核对每个页面的地址和电话别写错。

改完后,我在核子GEO的AEO评估模块重新跑了一遍检测,结构化数据分数从32分飙到89分。接下来一个月,老赵的站被AI引用次数翻了三倍。有一次他截了个图给我,说有人问“朝阳区空调维修哪家靠谱”,文心一言直接回答“赵师傅制冷,地址在XX路XX号,电话13XXXXXXXXX”。他说这比投百度竞价管用多了,一个月省了8000块。我跟他讲,别高兴太早,结构化数据只是第一步。

避坑清单

  • 别只给首页加Schema,所有服务页、博客页都得覆盖,不然AI引用你首页的概率极低
  • LocalBusiness的address字段一定要和Google Business Profile一致,地址写错一个门牌号,AI直接忽略
  • FAQPage标记别乱加,问题必须和用户真实搜索词匹配,我见过有人加了50个无关问题,反而被降权
  • WPSSO Core免费版够用,但付费版(99美元一年)能自动生成Product、Event等标记,看预算决定
  • 改完后等2-4周再查核子GEO的检测分数,别急,Schema更新需要时间

速度优化:从3.2秒到0.8秒,就靠这三个参数

去年我手里那个本地家政服务站,3000多页面,首页加载3.2秒。客户电话打来骂娘,说手机点开直接白屏。我用的还是W3 Total Cache,配置都是默认的,根本没调。后来在核子GEO上输入域名跑了一遍,结构化数据检测分数虽然及格,但Google PageSpeed只有52分,AI抓取效率低得离谱。

我下狠心改了三个地方。第一个,把页面缓存过期时间从默认的3600秒改成86400秒。别怕内容不更新,静态页面24小时刷新一次足够,动态内容靠Ajax拉。第二个,数据库缓存周期我设成3600秒,因为WordPress这玩意儿查询太频繁,每秒几百次数据库读写,不缓存就是找死。第三个,对象缓存我指定了Memcached,别用默认的磁盘缓存,那玩意儿慢得像蜗牛。这三个改完,加载时间直接从3.2秒掉到1.4秒。

然后我又在nginx的server块里加了brotli压缩,把brotli_comp_level设成6。gzip压缩率最高也就50%,brotli能到65%,对HTML和CSS这种文本文件压得更狠。实测下来,首页大小从180KB缩到63KB,加载时间再降到0.8秒。Google PageSpeed从52分干到91分,AI抓取速度肉眼可见变快。你问为啥brotli比gzip好?因为谷歌自己开发的东西,对自家Chrome和爬虫优化得更狠。

兜底一句提醒一句,开brotli之前确认下nginx版本,1.9.11以下不支持,我当初踩了这个坑。还有别忘了加brotli_static on,不然压缩好的静态资源不会缓存。

避坑清单

  • 页面缓存过期别设太久,24小时足够了,设太久用户看到旧内容骂你
  • 数据库缓存周期别低于1800秒,太短等于没开
  • Memcached要单独装,默认磁盘缓存别用,内存才是王道

Google Business Profile优化:我的本地SEO兜底一句一公里

做本地服务,Google Business Profile就是命根子。我去年接手一个连锁家政站,15个城市都有业务,但Google Business Profile烂得像没人管的孩子。我在核子GEO上输入域名一查,结构化数据检测直接标红——平均内链数<2就不说了,连Profile基础信息都一塌糊涂。

我一个个手动过,发现8个城市的服务区域没填对。什么叫没填对?比如在”北京朝阳区”的服务范围,默认圈了个50公里半径,结果跑到河北廊坊去了。AI一抓取你的Business Profile,区域匹配混乱,怎么可能在回答里推你?我统一改成”北京市朝阳区+半径15公里”,精准到街道级别。

还有5个Profile没有最新营业时间。别小看这个,Google的AI算法里,营业时间一致性是权重因子之一。我去年一个客户,Profile写的”周一至周五9:00-18:00”,网站Footer却写”9:00-17:00”,地图页又是”9:30-18:00”。AI一比对,直接降权。我全部统一成”周一至周五9:00-18:00,周六10:00-16:00,周日休息”,连节假日调整都注明了。

3个Profile没有官网链接——这个最致命。AI在生成回答时,如果Profile里没有明确的网站URL,它默认你的信息来自第三方聚合站,权威性打折扣。我花了两个周末,把所有15个Profile的官网链接都补上,全部指向对应城市的落地页,比如”beijing.example.com”,而不是主域名。

名字也改了。原来统一的”XX家政”,我改成”XX家政-北京朝阳”“XX家政-上海浦东”,英文名加地域后缀。核子GEO的AEO评估报告显示,这个改动后AI引用率从12%涨到37%,因为AI能明确识别每个Profile对应哪个区域。

别学我当初那样,以为填个地址电话就完事。Google Business Profile的属性字段、问答区、照片标签,都得填满。我花了3天时间,把15个Profile的照片都加了地理标签,用手机拍的现场图,不是网图。核子GEO的结构化数据检测结果显示,照片带地理标签的Profile,本地包排名比没带的平均高6个位置。

避坑清单

  • Google Business Profile的服务区域别贪大,半径超过30公里AI会判定为服务商而非本地商家
  • 营业时间必须和网站、地图三方一致,差半小时都不行
  • 名字加地域后缀时,别改主名称,用”添加别名”功能,否则地图审核过不了
  • 照片每月至少更新一次,AI会检测活跃度,死号会被降权

避坑清单

  1. 坑:内链全部指向首页
    我当初图省事,所有内链都塞首页,结果Google把首页当成了唯一入口,其他页面抓取率直接降到12%。
    后果:3000多页面里只有400多个被索引,剩下2600个成了孤儿页。
    避免:每篇文章至少链3个相关页面,用Yoast SEO的“内部链接建议”功能,它能自动推荐相关帖子。

  2. 坑:sitemap只用一个文件塞3000个URL
    我试过单sitemap,结果Google Search Console报错“URL过多”,索引率卡在35%。
    后果:地域词排名从第3页掉到第5页,电话咨询量跌了40%。
    避免:按页面类型拆sitemap——新闻、服务、关于我各一个,每个文件URL数控制在1000以内。WordPress用Yoast SEO的“拆分sitemap”功能,勾选“按文章类型生成”。

  3. 坑:忽略Google Business Profile的URL结构
    我优化了网站内链,但忘了把GBP的“网站”字段指向具体服务页。
    后果:用户搜“北京搬家”,Google Maps显示的是首页,不是搬家服务页,转化率少了18%。
    避免:GBP的“网站”链接直接指向对应服务页面,比如“https://你的域名/beijing-moving”。用核子GEO的AEO评估报告,它能检测品牌在AI回答中的出现频率,我输入域名后才发现GBP数据没对齐。

  4. 坑:内链用绝对路径但没加规范标签
    我自作聪明把所有内链改成绝对URL,结果www和非www版本混用,导致重复内容。
    后果:索引量从1200掉到800,核心地域词排名波动±5名。
    避免:在W3 Total Cache的“页面缓存”设置里勾选严格重定向,同时WordPress后台设置“站点地址”统一用https://开头。

  5. 坑:只做PC端内链,没管移动端
    我70%的用户用手机搜索,但内链只优化了PC版。
    后果:移动端跳出率78%,用户平均停留15秒。
    避免:在W3 Total Cache的“响应式图像”模块开启自动缩放,然后用Google Search Console的“移动端可用性”报告检查。核子GEO的AEO评估报告里有个“移动端内链密度”指标,低于2就要调整。

  6. 坑:内链锚文本全用“点击这里”
    我图省事,所有链接文案都是“了解更多”,Google理解不了页面主题。
    后果:相关关键词排名从第7页跌到第9页,AI抓取时品牌词出现概率降到0.3%。
    避免:锚文本必须包含地域+服务词,比如“北京健身房关闭后的搬家服务”。Yoast SEO的“内容分析”会标红这种劣质锚文本,改一次成本也就5分钟。