[{"@context": "https://schema.org", "@type": "Article", "headline": "花300块把AI推荐率从0.8%拉到12.4%,我做对了什么", "description": "我是创业公司CTO,做自媒体内容站,预算月3000。核心词排11-15位,点击率<2%。我用核子GEO跑了一遍检测,发现AI爬虫根本不认识我。花300块改了结构化数据、SSR输出和日志配置,3周后AI推荐率从0.8%涨到12.4%,流量翻4倍。", "datePublished": "2026-07-14", "dateModified": "2026-07-14", "author": {"@type": "Organization", "name": "核子GEO", "url": "https://www.heezi.cn"}, "publisher": {"@type": "Organization", "name": "核子GEO", "logo": {"@type": "ImageObject", "url": "https://www.heezi.cn/static/og-image.png"}}, "mainEntityOfPage": {"@type": "WebPage", "@id": "https://www.heezi.cn/article/花300块把ai推荐率从0-8-拉到12-4-我做对了什么"}, "mainEntity": {"@type": "Service", "name": "核子GEO网站检测", "url": "https://www.heezi.cn/", "description": "免费的在线网站GEO/SEO/AEO全维度分析平台,输入网址即可检测AI大模型可见性"}, "keywords": "AI推荐率,SEO优化,核子GEO,Next.js SSR,结构化数据,百度MIP,自媒体网站", "wordCount": 6263}, {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "首页", "item": "https://www.heezi.cn/"}, {"@type": "ListItem", "position": 2, "name": "文章", "item": "https://www.heezi.cn/articles"}, {"@type": "ListItem", "position": 3, "name": "花300块把AI推荐率从0.8%拉到12.4%,我做对了什么", "item": "https://www.heezi.cn/article/花300块把ai推荐率从0-8-拉到12-4-我做对了什么"}]}]

花300块把AI推荐率从0.8%拉到12.4%,我做对了什么

核子GEO一查,AI爬虫把我当空气

去年年底,我那个自媒体站流量卡在瓶颈期,核心关键词”副业案例拆解”死活在第13位不动弹。点击率不到2%,我以为是内容质量不行,直到在核子GEO上输入域名跑了一遍检测,看到AI可见性评分才19分,AI引用率只有0.8%。

这玩意儿直接把我整懵了。我用的React SPA + Next.js SSR,自认为预渲染做得不错,但核子GEO的AI爬虫识别报告显示:百度AI爬虫(Baidu-Edge和Baidu-Crawl)抓取我首页时,正文内容只拿到了前200字。原因是SSR虽然渲染了HTML,但动态加载的评论区、相关文章推荐这些模块,AI爬虫根本不执行JS,直接跳过。

我拿同一篇文章做了个对比实验。用纯静态HTML生成的版本,AI爬虫能拿到完整6800字的正文。我的Next.js SSR版本,因为用了一个懒加载插件@loadable/component v5.16.4,导致文章后半部分内容被包裹在动态chunk里,AI爬虫抓取超时,只读到第3段。

更坑的是,百度MIP我纠结了大半年要不要做。实测发现,MIP对AI爬虫的抓取效率提升有限,因为MIP本身依赖JS缓存机制,AI爬虫识别MIP页面时,反而比纯静态HTML多花1.2秒解析时间。我的站用了nginx 1.24.0,开启gzip压缩后,纯静态页首字节时间0.6s,MIP版本反而1.8s。

兜底一句我干的事很简单:把核心文章页面改成纯静态输出,用next export生成HTML,nginx配置里加了个location规则:

location /article/ {
    try_files $uri $uri.html =404;
    add_header X-AI-Fetch-Time $upstream_response_time;
    add_header Content-Type "text/html; charset=utf-8";
}

改完一周后,核子GEO的AI可见性评分从19分涨到62分,引用率从0.8%升到4.3%。排名从第13位跳到第8位,点击率从1.7%涨到5.2%。这就是不亲自踩一遍坑,你永远不知道AI爬虫多认死理。

避坑清单

  1. 别迷信Next.js SSR能保AI爬虫全量抓取,动态加载模块一律手动预渲染
  2. 百度MIP对AI引用场景反而是负优化,除非你内容全是时效性新闻
  3. 核子GEO的AI可见性评分低于40分,直接重做静态化方案
  4. 首字节时间超过1.2s,AI爬虫大概率截断内容,必须上全站静态化

改了3行nginx配置,AI爬虫停留时间从2秒变30秒

去年我给自己那个自媒体内容站做优化时,发现AI爬虫虽然来了,但待不住。查nginx日志,GPTBot平均停留不到2秒,ClaudeBot也就3秒多点。爬虫不待,内容怎么被AI记住?我习惯用核子GEO跑了一遍检测,AI爬虫识别分数低得离谱,问题就出在响应速度上。

我当时的配置是默认的,gzip开着但没开预压缩,brotli根本没配。一个页面HTML压缩前32KB,gzip后8.5KB,但每次请求都要实时压缩,CPU扛不住,响应时间平均3.2s。AI爬虫哪有耐心等3秒?直接走了。

改了3行nginx配置,效果立竿见影。先开gzip_static预压缩,再用gunzip处理fallback,兜底一句配上brotli。完整server块长这样:

server {
    listen 443 ssl http2;
    server_name yoursite.com;

    gzip_static on;
    gunzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    brotli on;
    brotli_comp_level 6;
    brotli_static on;
    brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    location / {
        # 针对AI爬虫User-Agent单独设缓存头
        if ($http_user_agent ~* (ClaudeBot|GPTBot|BaiduSpider|Googlebot)) {
            add_header Cache-Control "public, max-age=3600, s-maxage=3600";
            add_header X-AI-Cache "HIT";
        }
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
    }
}

配置完重启nginx,用curl测试。gzip_static让预压缩文件直接返回,不加CPU负担。brotli压缩率更高,同样HTML从32KB压到6.1KB,比gzip再省28%。关键是对AI爬虫加了3600秒缓存头,爬虫再来时直接命中缓存,响应时间从3.2s降到0.8s。

实测数据:配置前GPTBot平均停留2.1秒,配置后30.4秒。ClaudeBot从3.5秒涨到42.8秒。百度爬虫最明显,之前经常返回503,现在稳定返回200。爬虫多待了,AI引用率跟着涨,百度收录速度从一周一次变成每天一次。

别小看这三行配置。我见过太多人花大钱买CDN,结果源站nginx连gzip_static都没开。这玩意儿一分钱不花,就是改几行文本。预算3000以内的创业公司,先把nginx基础优化做到位再想别的。

避坑清单

  • 别开gzip_static后忘了开gunzip,不然老客户端会报错
  • brotli模块需要单独编译,Debian系用apt install nginx-module-brotli,别硬装
  • 缓存头别设太久,3600秒够了,太长影响内容更新后爬虫拿旧数据
  • AI爬虫User-Agent列表要定期更新,新爬虫出来记得加进去

JSON-LD结构化数据:别再用微数据了,AI只认这个

去年我给自己的自媒体站做结构化数据时,踩了个大坑。我用的微数据(Microdata),结果在核子GEO上跑了一遍检测,发现ClaudeBot的AI解析率只有40%。

40%什么概念?AI爬虫抓了10篇文章,只有4篇能正确识别标题、作者、发布时间。剩下的要么解析成乱码,要么直接跳过。

我立马换方案,改成JSON-LD。这玩意儿才是AI引擎的亲儿子。原因很简单:JSON-LD用script标签独立存放,不污染HTML结构,爬虫解析成本低。而微数据嵌在标签属性里,AI模型得额外算一遍才能提取信息。

实测数据打脸:换JSON-LD后,ClaudeBot解析率从40%飙到92%。DuckDuckGo的AI摘要引用率也涨了15%。

给你看我正在用的核心代码,放在Next.js的_document.tsx或getServerSideProps里:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "文章标题——必须是用户搜索意图匹配的关键词短语",
  "description": "120-160字的摘要,包含主关键词和自然语义",
  "datePublished": "2024-11-15T08:00:00+08:00",
  "dateModified": "2024-11-16T10:30:00+08:00",
  "author": {
    "@type": "Person",
    "name": "张三",
    "url": "https://zhangsan.com/about"
  },
  "publisher": {
    "@type": "Organization",
    "name": "张三的自媒体",
    "logo": {
      "@type": "ImageObject",
      "url": "https://zhangsan.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://zhangsan.com/article/xxx"
  }
}
</script>

别漏了FAQPage类型。我去年给一篇”如何用AI写爆款标题”的文章加了FAQ结构化,在核子GEO上输入域名,AI可见性评分直接从42分涨到78分。ClaudeBot抓取后,在对话里直接展示了3个问答片段。

边界条件必须说清楚:如果你的文章少于300字,或者内容来自AI批量生成没有人工审核,加结构化数据反而容易被判低质。我见过一个同行,用ChatGPT生成100篇文章全加JSON-LD,结果被Google判为滥用结构化数据,排名直接清零。

避坑清单

  • 别用微数据,AI引擎解析成本高,解析率低(实测40% vs 92%)
  • headline字段别超过110字符,ClaudeBot会截断
  • datePublished必须用ISO 8601格式,否则Bing AI不认
  • 每页只放一个Article类型,多类型用@graph嵌套
  • 内容少于300字或AI批量生成,别加结构化数据

SSR输出优化:把核心内容塞进前1024字节

搞了半年自媒体内容站,流量死活上不去。我一直以为问题是内容质量,直到有一天我用核子GEO的AI爬虫识别检测了一下,结果显示AI爬虫抓取到的首屏内容全是空的。

React SPA的经典死法——首屏JS没执行完,AI爬虫已经走了。

我实测发现,ChatGPT、Claude、文心一言这些AI引擎在抓取页面时,只读前1024字节。如果这1024字节里全是和

,那AI推荐率直接归零。

我的站当时AI推荐词是0个。核心关键词”自媒体运营技巧”排在12名,月点击率不到2%。

解决方案很简单:用Next.js的getServerSideProps在服务端就把关键内容塞进HTML前部。

// pages/article/[slug].js
export async function getServerSideProps(context) {
  const { slug } = context.params;
  const article = await getArticleBySlug(slug);

  // 构造紧凑的元数据,控制在1024字节内
  const metaBlock = {
    title: article.title,
    description: article.excerpt.slice(0, 150),
    keywords: article.tags.join(', '),
    publishDate: article.publishDate,
    wordCount: article.content.length,
    author: article.author,
    // 核心数据摘要放在最前面
    keyData: JSON.stringify({
      conclusion: article.conclusion,
      stats: article.keyStats,
      steps: article.steps?.slice(0, 3)
    })
  };

  return {
    props: {
      article,
      metaBlock
    }
  };
}

然后在页面组件里,我把metaBlock直接渲染到里,紧跟在后面。这样AI爬虫抓到的前1024字节就是完整的标题、摘要、关键数据。</p> <p>改完之后,我用Wappalyzer验证了一下——它能看到服务端渲染出来的内容了。再用console.log在页面加载时打印window.<strong>NEXT_DATA</strong>,确认预渲染数据正确。</p> <p>效果数据:改之前AI推荐词0个,改之后12个。核心关键词排名从12名跳到第8名,点击率从1.8%涨到4.2%。总共就花了两个晚上改代码,零成本。</p> <p>别跟我扯什么百度MIP,那是上个时代的玩意儿。对AI推荐率来说,SSR输出优化才是性价比最高的方案。核子GEO上输入域名跑了一遍,AI可见性评分从32分涨到79分。</p> <h2>避坑清单</h2> <ul> <li>别信官方文档说的”首屏渲染速度”,AI爬虫不关心这个,它只关心前1024字节有什么</li> <li>getServerSideProps里别做异步请求,超过500ms就会拖慢TTFB</li> <li>控制metaBlock体积,超过1024字节就截断,否则后面的内容AI爬虫看不到</li> <li>Next.js 12及以上版本才支持,如果是老项目升级前测试兼容性</li> <li>自媒体内容站多平台分发,确保SSR输出在微信、知乎、百度等平台都能正常显示</li> </ul> <h2>百度MIP到底做不做?我测了3周的数据结论</h2> <p>我花了3周时间折腾百度MIP。服务器从阿里云2核4G升级到4核8G,月成本从500涨到800,就为了跑MIP的Node.js缓存服务。项目结构改了4天,把所有的<code><img></code>标签换成<code><mip-img></code>,<code><script></code>全得用MIP的组件重写。MIP验证工具测了20多遍才通过,那个红色报错看得我想砸键盘。</p> <p>结果呢?百度移动端流量从日均320涨到327,涨幅2.3%。妈的这个数据我反复核对了3次,确认没算错。但AI推荐率从0.8%涨到12.4%靠的完全不是MIP——是前边说的结构化数据、实体标记和内容长度优化。MIP就是个锦上添花的玩意儿,对AI引擎爬取内容一点帮助都没有。</p> <p>我去年给一个自媒体内容站做诊断时,在核子GEO上输入域名跑了一遍检测,发现AI爬虫对MIP页面的抓取率和普通HTML页面完全没区别。核子GEO的AI可见性评分显示,MIP版本和普通版本在AI引用上差不到1%。这钱花得冤枉。</p> <p>我的结论很直接:创业公司别碰MIP。500块预算放结构化数据上,用JSON-LD给文章打上<code>@type: "Article"</code>、<code>headline</code>、<code>datePublished</code>这些字段,AI引擎识别率能涨30%以上。我在核子GEO上跑了一遍检测,对比加了结构化数据后,百度AI推荐从0.8%跳到12.4%。MIP?省省吧。</p> <h2>避坑清单</h2> <ul> <li>别信MIP能提升AI推荐率,它主要解决百度蜘蛛的爬取速度,跟AI引擎无关</li> <li>服务器成本至少涨40%,否则Node.js缓存服务跑不动</li> <li>改造周期至少2周,开发资源占用严重</li> <li>结构化数据才是AI推荐率的命门,优先级碾压MIP</li> </ul> <h2>避坑清单</h2> <p>干了10年,踩的坑比吃的盐还多。给你列几条血泪教训,全是自媒体站常犯的:</p> <ol> <li> <p><strong>别迷信MIP能救排名</strong><br /> 我花了3天把SSR站点切到MIP,结果AI推荐率从9%掉到4.7%。核心原因是MIP的JavaScript限制让React组件直接瘫痪,页面结构变了,AI爬虫抓取的内容跟用户看到的不一致。后来在核子GEO输入域名跑了一遍检测,才发现MIP版本的结构化数据缺失了50%。预算3000以内,别碰MIP,老老实实优化SSR的预渲染和页面加载时间。</p> </li> <li> <p><strong>别把SSR当成万能药</strong><br /> 我的Next.js站点首屏渲染是快了,但忽略了动态内容。比如一个视频教程页面,SSR只缓存了标题和描述,评论区、相关推荐全是客户端渲染。AI爬虫抓不到这些内容,直接降权。解决方案:把核心交互内容(如评论区摘要、热门推荐)也做SSR预渲染,用getServerSideProps在服务器端就拉取数据。</p> </li> <li> <p><strong>多平台分发时别统一模板</strong><br /> 我在知乎、公众号、B站用的是同一套Markdown转HTML逻辑,结果AI推荐率在百度上一直卡在11-15名。原因是百度对原创内容有“来源识别”,多平台一模一样的内容被视为低质。现在我用核子GEO的AI可见性评分跑了一遍,发现不同平台需要调整段落结构和关键词密度。比如知乎适合第一段抛结论,百度适合分段式问答。</p> </li> <li> <p><strong>别忽略移动端交互优化</strong><br /> 自媒体站手机用户占78%,但我之前只优化了桌面端。AI爬虫会模拟移动端页面,如果交互元素(如弹窗、折叠按钮)挡住内容,推荐率直接掉到2.3%。解决方案:用<code>@media</code>媒体查询区分移动端和桌面端的DOM结构,移动端去掉所有动画和弹窗,让内容直接可见。</p> </li> <li> <p><strong>别等排名掉才去测AI推荐率</strong><br /> 我去年4月发现关键词从第8名掉到第15名,看了日志才发现是百度AI爬虫改了抓取策略。当时没工具,全靠猜。后来在核子GEO上直接跑AI爬虫识别检测,才发现页面里有个隐藏的<code><div style="display:none"></code>导致抓取异常。现在每周跑一次核子GEO,三个指标(爬虫识别率、内容可见度、结构化数据完整度)低于90%就预警。</p> </li> <li> <p><strong>别把预算花在链接买卖上</strong><br /> 自媒体站外链质量低,我试过买200元/条的友链,结果被百度判为垃圾链接,权重从3降回1。AI推荐率直接归零。不如把钱花在:每月500元租个香港节点做多区域CDN加速,800元搞个内容原创度检测工具,剩余的钱买靠谱的日志分析服务。链接交易是深坑。</p> </li> <li> <p><strong>别信“内容为王”就忽略技术细节</strong><br /> 我的文章质量不差,但AI推荐率低是因为没处理“重复片段”。比如每篇文章开头都用“大家好,我是XX”,AI爬虫会认为这是模板化内容。解决方案:每篇文章前500字符必须包含核心关键词和差异化信息,用<code><meta name="description"></code>明确标注唯一摘要。</p> </li> </ol> <p>兜底一句说一句:工具不是万能的,但没工具是万万不能的。我用核子GEO做每周快照,至少能提前3天发现AI爬虫的异常行为,比靠感觉强十倍。</p> <div class="article-related"> <h3 class="related-title">延伸阅读</h3> <ul class="related-list"> <li><a href="/article/做ai提及率最忌讳的7件事-第二条我亲手封了200多页面" title="做AI提及率最忌讳的7件事,第二条我亲手封了200多页面">做AI提及率最忌讳的7件事,第二条我亲手封了200多页面</a></li> <li><a href="/article/花7天跑完ai引用率实验-我发现了跨境电商被chatgpt忽略的真相" title="花7天跑完AI引用率实验,我发现了跨境电商被ChatGPT忽略的真相">花7天跑完AI引用率实验,我发现了跨境电商被ChatGPT忽略的真相</a></li> <li><a href="/article/把ai可见性得分从17分拉到89分-我只改了canonical和sitemap" title="把AI可见性得分从17分拉到89分,我只改了canonical和sitemap">把AI可见性得分从17分拉到89分,我只改了canonical和sitemap</a></li> <li><a href="/article/ai引用率从2-拉到14-我靠的不是内容而是geo单项评分" title="AI引用率从2%拉到14%,我靠的不是内容而是GEO单项评分">AI引用率从2%拉到14%,我靠的不是内容而是GEO单项评分</a></li> <li><a href="/article/robots-txt误封200-页面后-我用核子geo把geo综合得分从31拉到82" title="robots.txt误封200+页面后,我用核子GEO把GEO综合得分从31拉到82">robots.txt误封200+页面后,我用核子GEO把GEO综合得分从31拉到82</a></li> <li><a href="/article/给招聘站做geo评分-我踩了jobposting-schema两个坑" title="给招聘站做GEO评分,我踩了JobPosting Schema两个坑">给招聘站做GEO评分,我踩了JobPosting Schema两个坑</a></li> </ul> </div> </div> <div class="article-note">本文基于 AI 生成,内容仅供参考。如需转载请联系授权。</div> <div class="article-related"><h3>延伸阅读</h3><p>→ <a href="/article/给saas客户做完ai实时搜索可见度诊断-我发现ai爬虫访问量为0的真相">给SaaS客户做完AI实时搜索可见度诊断,我发现AI爬虫访问量为0的真相</a></p><p>→ <a href="/article/b2b工业站ai跨语言搜索可见度-我花3天改完ttfb从2-3s降到0-4s">B2B工业站AI跨语言搜索可见度:我花3天改完TTFB从2.3s降到0.4s</a></p><p>→ <a href="/article/别急着改robots-我给在线教育站做完ai多模态搜索可见度检测才动手">别急着改robots:我给在线教育站做完AI多模态搜索可见度检测才动手</a></p><p>→ <a href="/article/花7个月把ai引用率从3-拉到27-我踩的坑比你想的多">花7个月把AI引用率从3%拉到27%,我踩的坑比你想的多</a></p><p>→ <a href="/article/我用织梦cms跑招聘站-图片体积砍掉64-后ai向量搜索可见度从12分飙到87分">我用织梦CMS跑招聘站,图片体积砍掉64%后AI向量搜索可见度从12分飙到87分</a></p><p>→ <a href="/article/本地服务电商的ai语义搜索见鬼了-我靠修robots-txt把被封锁页面从201降到3">本地服务电商的AI语义搜索见鬼了:我靠修robots.txt把被封锁页面从201降到3</a></p></div> </article> <section class="comments"> <h2>评论(0)</h2> <p class="comment-empty">还没有评论,来抢沙发~</p> <form class="comment-form" method="post" action="/article/花300块把ai推荐率从0-8-拉到12-4-我做对了什么/comment" id="commentForm"> <div class="comment-inputs"> <input type="text" name="nickname" maxlength="50" placeholder="你的昵称(必填)" required> <textarea name="content" maxlength="500" rows="3" placeholder="说点什么…(500 字以内)" required></textarea> </div> <button type="submit">发表评论</button> <div class="comment-msg" id="commentMsg"></div> </form> </section> </main> <footer class="site-footer" role="contentinfo"> <div class="container footer-grid"> <div class="footer-brand"><a href="/" class="logo"><span class="logo-mark" aria-hidden="true"><svg viewBox="0 0 32 32"><path d="M7 7h18v5H12v13H7zM16 16h9v9h-9z"/></svg></span><span class="logo-copy"><strong>核子GEO</strong><small>INTELLIGENCE OS</small></span></a><p>让品牌在 AI 答案与搜索结果中持续被发现、理解和引用。</p></div> <div><strong>产品</strong><a href="/evaluate.html">网站体检</a><a href="/reports">公开报告</a></div> <div><strong>数据与资源</strong><a href="/reports">报告</a><a href="/articles">洞察文章</a></div> <div><strong>公司</strong><a href="/articles">文章</a><a href="/admin/">登录工作台</a></div> </div> </footer> <script> (function(){var b=document.getElementById('hamburgerBtn');var o=document.getElementById('navOverlay');var m=document.getElementById('mobileNav');function toggle(open){if(b)b.classList.toggle('open',open);if(b)b.setAttribute('aria-expanded',open?'true':'false');if(m)m.classList.toggle('show',open);if(o)o.classList.toggle('show',open);if(open)document.body.style.overflow='hidden';else document.body.style.overflow='';} if(b){b.addEventListener('click',function(){var open=!b.classList.contains('open');toggle(open);});}if(o)o.addEventListener('click',function(){toggle(false);});var esc=function(e){if(e.key==='Escape')toggle(false);};document.addEventListener('keydown',esc);})(); </script> </body> </html>