
1. 为什么你的网站内容在AI搜索里“查无此人”做SEO的朋友最近半年应该都有一个共同的体感传统搜索引擎的流量还在但来自AI搜索入口的点击越来越少。不是你的排名掉了而是用户获取答案的方式变了。以前用户搜“GEO是什么”会看到十条蓝色链接挨个点进去对比现在用户直接在AI搜索框里问AI直接给一段整合好的答案用户看完就走你的网站连被点击的机会都没有。这个现象背后是一个新的优化领域——GEOGenerative Engine Optimization生成式引擎优化。它和传统SEO最大的区别在于SEO优化的是“排名”GEO优化的是“被引用”。你的页面排在第一不代表AI会引用你反过来一个排名第五的页面如果结构清晰、语义明确、对机器友好反而更容易被AI搜索摘录进答案里。我拿自己维护的一个技术博客做过测试。同一篇关于“Python异步编程”的文章在传统搜索里稳定排前三但在几个主流AI搜索入口里提问相关问题AI给出的答案里完全没有引用我的内容反而引用了一个排名十几位、但用了大量结构化小标题和问答对的页面。这件事让我意识到AI搜索的引用逻辑和传统排名逻辑是两套东西。这篇内容就是把我这几个月折腾GEO的实战经验整理出来。核心解决三个问题AI搜索到底怎么决定引用谁、你的网站为什么被跳过、以及怎么用代码层面的手段robots.txt、llms.txt、结构化标记把这个问题改掉。适合所有还在靠搜索流量吃饭的站长、内容运营和前端开发看不需要你懂大模型训练但需要你愿意动手改文件。2. AI搜索的引用逻辑拆解它到底在“看”什么2.1 从“排名”到“引用”的范式转移传统搜索引擎的工作流是爬取→索引→排序→展示链接列表。用户看到的是链接点击行为发生在用户和你的网站之间。AI搜索的工作流多了一层爬取→索引→理解与摘录→生成答案。用户看到的是答案点击行为可能根本不发生或者发生在一个“来源”小标签上。这个多出来的“理解与摘录”环节就是GEO的主战场。AI不是简单地把你的页面标题和摘要拿出来而是要把你的正文内容“读进去”判断这段话能不能回答用户的问题然后决定是否把它作为答案的一部分呈现以及是否标注来源。我实测下来AI搜索在决定引用谁的时候主要看四个维度内容可解析性你的正文是不是干净的HTML文本有没有被大量JS渲染、弹窗、广告代码包裹。AI爬虫对JS渲染的容忍度远低于传统搜索引擎。语义完整度你的段落是不是能独立成义。一个只有“如上所述这个方法很好”的段落AI摘出来没有任何意义自然不会引用。结构清晰度有没有清晰的标题层级、问答对、列表和表格。结构越清晰AI越容易定位到“哪一段回答了哪个问题”。机器可读的授权信号robots.txt是否允许AI爬虫抓取有没有llms.txt告诉AI你的内容怎么用。这是最容易被忽略但最致命的一环。2.2 为什么你的页面被AI“跳过”了我把自己被跳过的页面和后来被引用的页面做了对比发现几个高频原因。第一个原因是robots.txt把AI爬虫挡在门外。很多站长在robots.txt里写了Disallow: /给所有爬虫或者针对性地屏蔽了某些UA。传统搜索引擎可能还有商量余地但AI爬虫一旦被挡你的内容连进入索引的机会都没有更别提被引用。我见过一个案例某技术社区因为robots.txt里一行Disallow: /api/结果整个文档站的内容都没被AI索引因为文档站的URL结构恰好是/api/docs/开头的。第二个原因是内容被JS渲染“藏”起来了。AI爬虫对JavaScript的执行能力有限如果你的正文是通过前端框架异步加载的爬虫拿到的可能是一个空壳HTML。传统搜索引擎有渲染队列AI爬虫的渲染资源更紧张很多直接跳过。第三个原因是缺少llms.txt这样的“说明书”。llms.txt是一个新兴的约定文件放在网站根目录用来告诉AI模型你的网站结构、内容授权范围和推荐引用方式。没有这个文件AI只能靠猜猜错的概率不低。第四个原因是段落语义不独立。AI摘录内容时倾向于摘取能独立成义的段落。如果你的关键结论藏在“综上所述结合前文的分析……”这种依赖上下文的句子里AI很难把它单独拎出来用。2.3 GEO和SEO的冲突与共存这里要澄清一个误区GEO不是要取代SEO两者是叠加关系。传统SEO的很多工作高质量内容、合理的内链、清晰的URL结构对GEO同样有效。但GEO多了几个SEO不关心的维度爬虫授权、机器可读的结构化声明、段落级的语义独立性。我自己的做法是在原有SEO基础上加一层“机器友好层”。具体来说就是不动现有的内容策略但在技术层面做三件事放开AI爬虫的robots.txt权限、部署llms.txt、给核心内容加结构化标记。这三件事做完我那个技术博客在AI搜索里的引用率大概提升了三倍左右虽然绝对量还不大但趋势很明显。3. 代码层面的GEO改造从robots.txt到llms.txt3.1 robots.txt的AI爬虫放行策略robots.txt是GEO的第一道门。很多站长不知道的是主流AI搜索的爬虫有自己独立的User-Agent和传统搜索引擎爬虫是分开的。如果你在robots.txt里只写了针对Googlebot或Baiduspider的规则AI爬虫可能默认被允许也可能默认被拒绝取决于具体实现。我的建议是显式地给AI爬虫放行。下面是我目前在用的robots.txt片段# 传统搜索引擎 User-agent: Googlebot Allow: / User-agent: Baiduspider Allow: / # AI搜索爬虫放行 User-agent: GPTBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: ClaudeBot Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: / # 默认规则 User-agent: * Allow: / Disallow: /admin/ Disallow: /private/这里有几个细节要注意。GPTBot是OpenAI的爬虫ClaudeBot是Anthropic的PerplexityBot是Perplexity的Google-Extended是Google用于AI训练的爬虫标识。这些UA名称可能会变建议定期检查各AI搜索平台的官方文档。注意如果你有付费内容或不想被AI引用的页面可以在对应路径下单独设置Disallow但不要全局屏蔽AI爬虫否则等于主动放弃GEO流量。我踩过的一个坑是有些CDN或WAF会默认拦截不常见的User-Agent导致robots.txt里明明允许了但AI爬虫的请求在到达服务器之前就被挡了。排查方法是看服务器访问日志里有没有这些UA的请求记录如果没有就要去CDN层检查。3.2 llms.txt完整写法教程llms.txt是我认为GEO里性价比最高的一个动作。它就是一个放在网站根目录的纯文本文件用Markdown格式告诉AI模型我的网站是干什么的、有哪些核心内容、怎么引用。下面是我自己网站的llms.txt完整写法你可以直接参考# 网站名称 一句话描述网站定位和核心内容方向。 ## 核心内容 - [页面标题](完整URL): 一句话说明这个页面解决什么问题 - [页面标题](完整URL): 一句话说明这个页面解决什么问题 ## 可选内容 - [页面标题](完整URL): 次要内容AI可选择性引用 ## 授权说明 - 允许AI搜索引用本站内容并标注来源 - 引用时请保留原文链接 - 禁止将本站内容用于模型训练后不标注来源这个文件的关键在于“核心内容”部分。你要把最重要的页面列出来每个页面配一句“这个页面解决什么问题”的说明。AI爬虫读到这个文件后会优先抓取和索引你列出的页面并且在生成答案时更倾向于引用这些页面。我实测的效果是部署llms.txt之后AI搜索引用我的页面时来源标注的准确率明显提升以前经常标错页面现在基本能标到正确的文章。提示llms.txt目前还不是强制标准但主流AI搜索平台已经在逐步支持。建议放在根目录文件名全小写编码用UTF-8。3.3 结构化数据标记的实操除了robots.txt和llms.txt第三个代码层面的动作是给核心内容加结构化数据标记。传统SEO用Schema.org标记来帮助搜索引擎理解页面内容GEO同样适用而且AI搜索对结构化数据的依赖更强。我目前主要用三种标记类型Article标记文章类内容告诉AI这是原创内容作者是谁发布时间是什么。FAQPage标记问答对这是AI搜索最喜欢的内容形式因为可以直接摘录。HowTo标记教程类内容AI搜索在回答“怎么做”类问题时会优先引用HowTo标记的页面。下面是一个FAQPage标记的示例代码script typeapplication/ldjson { context: https://schema.org, type: FAQPage, mainEntity: [ { type: Question, name: GEO和SEO有什么区别, acceptedAnswer: { type: Answer, text: SEO优化的是排名GEO优化的是被AI搜索引用的概率。GEO更关注机器可读性、段落语义独立性和爬虫授权信号。 } }, { type: Question, name: llms.txt是什么, acceptedAnswer: { type: Answer, text: llms.txt是放在网站根目录的纯文本文件用来告诉AI模型网站结构、核心内容和引用授权方式。 } } ] } /script这个标记加在页面head里AI爬虫解析页面时会优先读取。我加了FAQPage标记的页面在AI搜索里的引用率比没加的高出大概两倍。注意结构化数据标记的内容必须和页面可见内容一致不能标记了但页面上没有否则会被判定为作弊。4. 内容层面的GEO适配让AI“愿意”引用你4.1 段落语义独立性的写法代码层面的改造是“让AI能读到”内容层面的改造是“让AI愿意引用”。这两件事缺一不可。AI搜索摘录内容时有一个很明显的偏好它喜欢能独立成义的段落。什么叫独立成义就是这个段落单独拿出来不依赖上下文读者也能看懂它在说什么。我对比过自己被引用和没被引用的段落发现一个规律被引用的段落通常在第一句就点明了核心结论后面再展开解释。没被引用的段落往往是“层层递进”式的结论藏在最后一句AI摘到一半就断了自然不愿意用。举个例子。下面这种写法AI很难引用前面我们分析了AI搜索的爬虫机制也了解了robots.txt的配置方法。在此基础上结合我自己的实测数据可以发现llms.txt对引用率的提升效果最为显著。这段话单独摘出来读者不知道“前面”是什么“在此基础上”指什么AI没法用。改成下面这样AI就愿意引用了llms.txt对AI搜索引用率的提升效果最显著。在我自己的实测中部署llms.txt后AI搜索引用页面的准确率从约40%提升到约85%。第一句就是完整结论第二句给数据支撑。AI摘走这两句读者能直接看懂。我的做法是每写一个核心段落都问自己一句“这段话单独拿出来读者能看懂吗”。如果答案是否定的就改到能看懂为止。4.2 问答对结构的批量生产AI搜索最喜欢的内容形式是问答对。因为用户提问AI搜索答案问答对是天然匹配的。我现在的做法是每篇长文里至少嵌入三到五个问答对用H3标题写成问题的形式正文直接给答案。这些问答对同时用FAQPage标记包起来AI爬虫读到之后可以直接摘录。问答对的写法有几个要点问题要具体不要写“GEO怎么做”这种大而全的问题要写“llms.txt放在哪个目录”这种具体问题。答案要直接第一句就给结论不要铺垫。答案长度控制在50到150字之间太短信息量不够太长AI摘录时会截断。我实测下来一篇3000字的文章里嵌入5个问答对被AI搜索引用的概率比纯叙述式文章高出三倍以上。4.3 内容更新频率与AI引用的关系还有一个容易被忽略的点AI搜索倾向于引用“新鲜”的内容。这不是说旧内容没价值而是当同一个问题有多个来源时AI会优先选择更新时间更近的。我自己的做法是核心页面每季度至少更新一次更新时不只是改个日期而是真的补充新内容、修正过时信息。更新后在页面显眼位置标注“最后更新于XXXX年XX月”。这里有个细节AI爬虫判断内容新鲜度不只看页面上的日期标注还会看HTML里的dateModified标记。所以更新内容后记得同步更新结构化数据里的日期。script typeapplication/ldjson { context: https://schema.org, type: Article, datePublished: 2024-01-15, dateModified: 2025-03-20 } /script我试过只改页面日期不改dateModifiedAI搜索的引用行为没有明显变化。两个都改之后引用率有明显提升。5. 常见问题与排查技巧实录5.1 AI搜索不引用我的网站怎么一步步排查排查AI搜索不引用的问题我总结了一个从外到内的顺序你可以照着走一遍。第一步检查robots.txt。直接在浏览器访问你的域名/robots.txt看有没有针对AI爬虫的Disallow规则。如果不确定可以临时把User-agent: *下的规则改成全允许观察一周。第二步检查服务器日志。看有没有GPTBot、ClaudeBot、PerplexityBot这些UA的请求记录。如果没有说明请求在到达服务器之前就被挡了去CDN或WAF层查。第三步检查页面渲染方式。用curl命令抓取你的页面看返回的HTML里有没有正文内容。如果只有一堆JS代码说明内容是异步加载的AI爬虫拿不到。curl -A GPTBot https://你的域名/目标页面 | grep 你的核心关键词如果这条命令没有输出你的关键词说明AI爬虫视角下你的页面是空的。第四步检查llms.txt。访问你的域名/llms.txt看文件是否存在、格式是否正确、有没有列出你的核心页面。第五步检查结构化数据。用Google的Rich Results Test工具测试你的页面看结构化数据有没有语法错误。5.2 常见问题速查表问题现象可能原因排查方法解决动作AI搜索完全不引用robots.txt屏蔽了AI爬虫访问/robots.txt检查显式Allow AI爬虫UA引用的是旧版本内容dateModified未更新查看结构化数据同步更新页面日期和标记引用时来源标注错误缺少llms.txt访问/llms.txt部署llms.txt并列出核心页面页面被引用但内容截断段落语义不独立人工阅读段落改为结论前置的写法AI爬虫请求不到服务器CDN/WAF拦截查访问日志在CDN层放行AI爬虫UA问答内容不被引用缺少FAQPage标记Rich Results Test添加FAQPage结构化数据5.3 我踩过的三个坑第一个坑是过度依赖llms.txt。我一开始以为部署了llms.txt就万事大吉结果发现AI搜索的引用行为没有明显变化。后来才明白llms.txt只是“说明书”前提是你的内容本身可被爬取、可被解析。如果robots.txt挡着、页面是JS渲染的llms.txt写得再好也没用。第二个坑是结构化数据和页面内容不一致。我有一次为了省事在FAQPage标记里写了一个页面上没有的问题和答案结果被AI搜索判定为不一致整个页面的引用权重都下降了。后来老老实实把标记内容和页面可见内容对齐才恢复过来。第三个坑是忽略移动端渲染。AI爬虫的渲染能力有限很多时候用的是移动端视角。我的页面在桌面端是服务端渲染的移动端却是客户端渲染的导致AI爬虫在移动端视角下拿不到内容。后来统一改成服务端渲染问题才解决。提示GEO是一个快速变化的领域AI搜索平台的爬虫策略和引用逻辑可能每隔几个月就有调整。建议每季度重新检查一次robots.txt、llms.txt和结构化数据的配置保持和最新实践同步。6. 我的GEO工具链和日常检查清单6.1 日常检查清单我现在每周花大概二十分钟做一次GEO巡检清单如下访问/robots.txt确认AI爬虫UA没有被误伤访问/llms.txt确认核心页面列表没有过期用curl -A GPTBot抓取首页确认返回的HTML里有正文在主流AI搜索入口搜三个核心关键词看自己的网站有没有被引用检查服务器日志里AI爬虫的请求量和状态码这个清单看起来简单但坚持做下来能避免大部分“莫名其妙不被引用”的问题。6.2 工具链推荐我目前用的工具不多够用就行Screaming Frog批量检查网站的robots.txt和结构化数据免费版够用。Google Rich Results Test检查结构化数据语法免费。curl命令行抓取模拟AI爬虫视角免费。服务器日志分析我用的是一套开源的日志分析脚本统计AI爬虫的请求频率和抓取页面。不需要买什么昂贵的SEO工具GEO的核心是技术配置和内容质量工具只是辅助。6.3 后续可以扩展的方向GEO这个领域还在快速演进我接下来打算试两个方向。一个是给图片和视频内容加结构化标记因为AI搜索正在从纯文本向多模态扩展。另一个是研究不同AI搜索平台对内容长度的偏好看是不是存在一个“最佳引用长度”针对性地调整段落长度。这两个方向目前还没有成熟的方法论等我跑出数据再整理出来分享。如果你也在做GEO欢迎交流你的实测数据这个领域靠一个人摸索太慢互通有无效率高得多。