流量没跌太多,但询盘、下载、注册这类“有效动作”突然少了一大截。这是我从去年初开始频繁听到的抱怨。细问之下,大家的排名好像也还凑合,关键词排名没崩,Google Analytics里的自然搜索会话数也不算难看。直到有人做了个小调研——在ChatGPT、Perplexity、Copilot里问自己的品牌词和行业问题,才发现严重的问题:AI回答得头头是道,但引用的全是竞品、媒体或百科,自己的官网就像不存在一样。这就是GEO(Generative Engine Optimization,生成式引擎优化)要解决的核心问题。
GEO不是SEO的换皮改名。过去十年我们优化的是“链接和关键词”,让爬虫把页面排到搜索结果的前十位;而AI搜索出现后,用户不再“翻页选链接”,而是直接拿到一段整合后的答案。你的网站可能被AI读到了,但没被“选中引用”;也可能压根没被AI爬虫摸到。这个变化是结构性的——不是优化力度不够,而是优化对象错了。这篇文章就是讲清楚AI搜索为什么不引用你,以及我能给你的一整套“用代码改掉它”的方案,里面都是能直接拿跑的代码、配置和排查套路。适合正在被AI抢占流量入口的运营、技术SEO,以及所有自己管站点的独立开发者。
1. 先搞清楚AI搜索是怎么“决定”引用谁的
很多人一上来就问“为什么我排名第一却没人点我”,这其实是个伪命题。AI搜索引擎压根没有“排名”,它只有“引用决策”。想解决不被引用的问题,我们必须先理解AI搜索引擎内部那条流水线是怎么走的。
1.1 从“翻页”到“对话”:搜索行为的二重裂变
传统搜索引擎的工作模式是:爬虫抓取网页 → 索引建立 → 关键词匹配 → 返回链接列表。用户自己比较标题、看描述、点进页面、自己总结答案。这个过程里,网站只要能“排名靠前”就能获得点击,至于页面上有没有真正解决用户问题,搜索引擎不负责。
AI搜索引擎完全换了一套逻辑。它的核心是检索增强生成(RAG,Retrieval-Augmented Generation)。用户提出问题后,系统先从一个庞大的索引库中检索相关片段,再把检索到的内容作为上下文交给生成模型,最后模型综合这些材料生成一段连贯的答案。如果系统设计得严格,它会在答案末尾附上引用来源——这就变成了“引用即流量”。
所以AI搜索的完整链条是:爬虫抓取 → 内容分块 → 向量化 → 相关性检索 → 生成引用。任何一个环节断掉,你的网站就从这个链条里消失了。传统SEO可能只死磕前两步,但GEO要求我们理解全部五步。
1.2 三种被AI“无视”的典型情况
我测试了大量网站,AI搜索“无视”你的原因基本可以归为三类,你可以自己对号入座。
第一种:技术性不可见。AI爬虫被robots.txt拦住了,或者页面依赖大量JavaScript渲染,AI爬虫只能拿到一个空的HTML外壳。很多前端框架做的单页应用(SPA)尤其容易踩这个坑。传统浏览器用户能正常看到内容,因为浏览器会把JS跑一遍,但AI爬虫往往不会完整地执行JavaScript,拿到手的就是一堆空div。
第二种:语义性不可读。页面内容虽然被抓到了,但结构混乱。一整屏的文字没有标题层级,没有段落切分,没有列表,没有元信息。AI在分块(chunking)阶段要把内容切成多个片段,遇到这种结构模糊的页面,AI很难判断每个段落讲的主题是什么,于是这个页面的“召回率”会很低——意思是即便相关内容存在,检索环节也匹配不到它。
第三种:权威性不可信。这是最难解决的。即使内容被完美抓取和理解了,AI在生成答案时仍然倾向于引用更“可信”的来源。AI评估可信度的信号包括:作者身份信息、内部链接结构、外部引用数量、结构化数据(Schema标记)、页面的更新频率等。如果这些信号缺失,AI宁可去引用一个内容质量未必比你高、但信号完整的网站。
1.3 GEO不是SEO,别用老地图找新大陆
我见过太多人把SEO的技巧直接套到GEO上,效果几乎都不好。原因在于两者的优化目标完全不同。
| 维度 | SEO | GEO |
|---|---|---|
| 优化目标 | 关键词排名位置 | 被AI引用作为信源 |
| 核心对象 | 网页链接 | 知识片段 |
| 关键手段 | 外链建设、关键词密度 | 结构化数据、实体信号、分块友好 |
| 用户行为 | 点击链接 | 阅读整合答案 |
| 效果度量 | 搜索排名、点击率 | AI引用次数、品牌提及率 |
最典型的误区是“关键词堆砌”。在传统SEO里这是个常见操作,但在AI搜索里,关键词密度高的文本反而容易被判定为低质量内容,被分块时也被切得支离破碎。我见过一个网站因为每段都要嵌满关键词,结果AI在回答相关问题时,引用的是这个页面里那句最普通的话,而把那些“优化过”的句子当噪声过滤掉了。
GEO的正确理解是:让AI“三步看懂你”——先让它爬到你,再让它读懂你,最后让它愿意引用你。接下来三章我用代码依次解决这三件事。
2. 用代码打开通道:让AI爬虫顺利摸到你的网站
这个阶段的代码目标只有一个:别挡路。AI爬虫连你的站都进不来,后面所有优化都等于零。
2.1 检查robots.txt:你可能正在拒绝AI进站
很多人对robots.txt的印象还停留在“拦广告抓取”的年代,其中一些规则把AI爬虫也一起误伤了。AI搜索引擎的爬虫各有各的名字,OpenAI的是GPTBot,Anthropic的是ClaudeBot,Google的AI预览用的是Google-Extended标识,Perplexity用的是PerplexityBot。
先登录服务器看一眼你的robots.txt。如果里面有类似下面这样的规则,那基本就是你在主动把AI挡在门外:
User-agent: * Disallow: /这段规则的意思是对所有爬虫关闭全站。如果你为了防采集、防爬虫设置了这个,AI爬虫同样会被拦在外面。你甚至可能意识不到问题的严重性——因为GPTBot被拦截时不会发邮件告诉你,它只会安静地放弃抓取。
正确的做法是单独给AI爬虫放行,同时保留对普通爬虫的管控。参考配置如下:
User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: /注意,Allow: / 只表示允许全站访问,实际能不能抓到还取决于页面本身的渲染方式。要确认robots.txt的效果,可以用对应平台的爬虫模拟工具去测试,OpenAI文档里有IP范围的清单和User-Agent样例,你可以将这些IP段加入服务器白名单再观察抓取日志。
2.2 让爬虫拿到“有肉”的HTML:破解JS渲染问题
如果你的站点是SPA架构,比如用Vue或React做的纯前端渲染,AI爬虫很可能只能拿到一个空壳。解决思路不是逼AI爬虫去执行JavaScript,而是让你的服务器直接吐出来渲染好的HTML。
以Node.js环境为例,最常用的方案是prerender(预渲染服务),或者直接在服务端渲染(SSR)。如果你用Next.js,可以指定页面为服务端渲染组件;如果你用Vue,可以搭配Nuxt.js做SSR。这里给一个用Express中间件配合预渲染的例子:
const express = require('express'); const prerender = require('prerender-node'); const app = express(); // 关键:只有爬虫请求走预渲染,普通浏览器仍然访问SPA app.use(prerender.set('prerenderToken', '你的TOKEN') .set('protocol', 'https') .blacklistedUserAgents(['curl', 'wget'])); app.get('/', (req, res) => { res.sendFile('index.html', { root: './public' }); }); app.listen(3000);这里的核心思路是“按UA分流”:识别到GPTBot、ClaudeBot这类爬虫User-Agent时,返回预渲染页面;识别到正常浏览器UA时,返回SPA页面。之所以用这种分流而不是让爬虫去执行JS,是因为AI爬虫至今对JS的执着程度远低于传统搜索引擎,它们更倾向于解析原始的静态文件,等待执行过程中常常超时。
代码改完后,用一个简单方法验证:用curl带上爬虫的User-Agent请求你的页面,看看返回的HTML里有没有真正的正文文本。比如:
curl -A "GPTBot/1.0" https://www.example.com/geo-guide | grep -c "<p>"如果输出的数字是0,说明返回给AI爬虫的页面确实没有正文内容,继续优化。
2.3 构建语义清晰的HTML框架:告诉AI“这段话在讲什么”
能抓到了,接下来要让AI读得懂你。AI读取页面的方式是提取文本块、识别层级、解析语义。如果你的HTML结构混乱,AI可能把导航栏、侧边栏广告的链接文字当成正文来抓取。
我建议你的每个正文页面都遵循标准的内容结构,示例如下:
<article> <header> <h1>GEO实战指南:AI搜索优化的完整方案</h1> <p class="author">作者:张工 | 更新时间:<time datetime="2025-06-01">2025年6月1日</time></p> </header> <section> <h2>AI搜索的工作原理</h2> <p>AI搜索引擎基于RAG技术...</p> </section> <section> <h2>GEO的核心优化路径</h2> <p>...</p> </section> </article>重点在于:正文内容尽量全放在语义化标签内,不要在div里嵌套div然后里面塞一堆说明。AI爬虫接收到的HTML是这样的结构时,可以明确地把<h1>当作页面主题,把多个<h2>当作内容大纲,把段落正文切分成可检索的文本块。
还有一个极易被忽视的细节:不要用图片代替文字段落。广告、案例截图可以用图片,但核心知识点必须用真实文本落在地上。AI无法阅读图片里的文字内容,除非你对每张图都写了完备的alt属性。我见过有站点把操作步骤全部做成一张长图,结果AI抓取环节根本读不到内容,白白丢失大量被引用的机会。
2.4 用llms.txt给AI一份“产品说明书”
2024年涌现了一个新的极简协议——llms.txt。网站可以在根目录放一个纯文本文件,专门向大模型描述网站可以提供的知识内容与关键页面入口。相当于你给AI爬虫递了一张名片。
llms.txt的内容十分简单,不需要任何特殊技术栈。下面是一个示例:
# Example.com > 面向开发者与运营人员的SEO、GEO实战知识库 ## GEO优化指南 - [GEO基础教程](/guides/geo-basics): 什么是GEO,如何让AI搜索引擎引用你的网站 - [结构化数据实践](/guides/schema-markup): JSON-LD标记的写法、测试与常见错误 - [RAG友好内容设计](/guides/rag-friendly-content): 让AI更轻松提取答案的写作框架 ## 工具与代码 - [robots.txt配置模板](/files/robots.txt): 适配GPTBot、ClaudeBot等AI爬虫的robots.txt模板 - [llms.txt生成器](https://llmstxt.org): 在线生成工具写好llms.txt后,把它放到域名的根目录,比如https://www.example.com/llms.txt,再用普通文本格式保存,不要加多余的富文本标签。目前支持这个协议的AI搜索和爬虫越来越多,这是一个成本极低、潜在收益还不错的基础动作,值得做。
2.5 sitemap.xml与数据高频更新:给AI一个“这片地方值得常来”的理由
AI爬虫的抓取频率和传统搜索引擎不太一样。它们通常不会在你的网站驻留太久,而是定期来扫一遍更新。如果你的sitemap.xml内容长期不变,AI爬虫会降低你网站的“爬行优先级”。
代码层面的做法是:确保sitemap里有正确的最后修改时间标记,并且用动态方式生成,而不是手动维护。以Python为例,用lastmod字段结合文件变更时间自动更新:
from datetime import datetime, timezone from urllib.parse import urljoin import os base_url = "https://www.example.com" content_dir = "./content" urls = [] for root, dirs, files in os.walk(content_dir): for f in files: if f.endswith(".md") or f.endswith(".html"): path = os.path.join(root, f) lastmod = datetime.fromtimestamp(os.path.getmtime(path), tz=timezone.utc).strftime("%Y-%m-%d") url = urljoin(base_url, os.path.relpath(path, content_dir).replace(os.sep, "/")) urls.append({"loc": url, "lastmod": lastmod}) xml_items = "" for u in sorted(urls, key=lambda x: x["lastmod"], reverse=True): xml_items += f" <url>\n <loc>{u['loc']}</loc>\n <lastmod>{u['lastmod']}</lastmod>\n </url>\n" sitemap = f"""<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> {xml_items} </urlset>""" with open("sitemap.xml", "w", encoding="utf-8") as f: f.write(sitemap) print(sitemap)这段代码会扫描./content目录下所有内容文件,按最后修改时间生成sitemap.xml。每次产出一篇新文章,代码就会自动更新sitemap并附上最新的lastmod。你要做的事只是把生成的sitemap.xml部署到服务器根目录,然后在robots.txt里声明它的位置。
3. 用代码喂出“标准答案”:让AI愿意在你的内容上画圈引用
爬虫能摸到、页面结构也清楚了,这是“被看见”。但AI引不引用你,是另一回事。这一章解决“如何把内容变成AI爱引用的标准答案”。
3.1 为什么AI引用了竞品而不是你:分块(Chunking)的真相
AI在检索时,不是拿整个页面和用户问题做匹配,而是把页面内容切割成小块,再把每个小块向量化。这意味着,如果你的核心答案分散在一篇5000字长文的第五段和第七段,AI很可能只检索到其中一段,而这一段单独脱离上下文后显得不够完整,从而降低引用概率。
这就像你把答案写在一张试卷的第六页,阅卷老师只用一页纸的篇幅找答案,找不到就直接判零分,不会耐心翻完整张卷子。
所以GEO的一个核心动作是:让每个可能被检索到的知识块,都是自圆其说的完整答案。一条基本的原则——每一段正文开头就点明这段回答的问题,然后把答案、理由、证据放在同一个段落里。不要用“如前所述”“详见下文”这类需要跨段落检索的语言。
3.2 文内FAQ设计:给AI一组“问题-答案”的黄金结构
很有效的做法是在文章末尾或侧边栏增加一段FAQ,用明确的问句和答案给出问题最直接的回击。这不仅能提升普通用户在页面的停留,也能让AI检索到直接可用于回答的文本块。
更进一步的代码实现是给FAQ加上Schema.org的FAQPage标记。这样AI不仅读到“问题+答案”,还能通过结构化数据确认这对问答的语义关系。JSON-LD代码示例如下:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "GEO优化需要写代码吗?", "acceptedAnswer": { "@type": "Answer", "text": "最低程度不用,核心动作如添加robots.txt放行、添加JSON-LD标记需要十多行代码。要想获得显著效果,建议掌握基础的HTML和JSON语法。" } }, { "@type": "Question", "name": "GEO和SEO哪个更重要?", "acceptedAnswer": { "@type": "Answer", "text": "两者互补。SEO帮助你在传统搜索结果中获得曝光,GEO帮助你在AI生成的答案中被引用。随着AI搜索使用率上升,GEO权重会持续增加。" } } ] } </script>这段JSON-LD加进页面后,用Google的结构化数据测试工具或者Schema Markup Validator校验一下格式。注意,不是所有AI搜索引擎都认这个标记,但它的存在能显著提升生成模型对页面主题的置信度。你唯一要避免的是给页面堆砌大量和正文无关的FAQ——那样会被判定为“关键词堆砌型内容”,反而减分。
3.3 实体与作者标识:给AI一个信任你的理由
AI在决定引用哪个信源时,对“作者是谁”的关注度在提高。这不是凭空猜测——OpenAI和Google都在技术报告中多次提到“来源可信度”是摘要生成的重要参考因素。代码层面能做的就是尽可能明确地告诉AI“这个页面是谁写的、这个人在这件事上有何专业背景”。
在页面头部加Person标记,同时指向你的权威页面,示例:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Person", "name": "张工", "url": "https://www.example.com/about", "jobTitle": "技术SEO工程师", "knowsAbout": ["GEO", "结构化数据", "网站性能优化"], "sameAs": [ "https://www.linkedin.com/in/zhang-example", "https://github.com/zhang-example" ] } </script>同一个作者在同一站点内的多个内容页面都放置相似标记,久而久之,AI会形成一个“这个实体在该领域有持续输出”的群组概念。这和传统SEO讲“E-E-A-T(经验、专业、权威、可信)”是同一个逻辑,但在GEO里,它更依赖机器可读的实体标识来完成。
3.4 时间新鲜度:让AI觉得“这不是一条死信息”
AI搜索结果的答案存在“时效真空”。对于很多时效性问题(比如“2025年XX政策”或“XX软件的最新功能”),AI更倾向于引用半年内更新过的内容。而很多站点发布文章后从不更新,时间一长就完全失去被引用的机会。
代码上要做的有两件事。第一件事是确保HTML里的<time>标签和sitemap里的lastmod保持同步更新。第二件事是搭建一个“自动检查过期文章的定时任务”。下面是一个用GitHub Actions可以复现的极简示例,每次往仓库推送内容时自动更新sitemap里的lastmod:
name: Update lastmod on: push: paths: - 'content/**' jobs: update-sitemap: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run sitemap generator run: python generate_sitemap.py - name: Commit changes run: | git config --local user.email "bot@example.com" git config --local user.name "AUTO-BOT" git add sitemap.xml git commit -m "Update sitemap lastmod" git push要注意,别做“假装更新”。有些站长为了ping搜索引擎,每次只改时间不改内容,这种做法在AI搜索面前尤其危险。因为AI一旦抓取后发现正文和之前完全一致,反而会降低对网站内容更新频率的信号权重。
3.5 推荐一份“GEO友好文章”模板,直接抄作业
写到这里,我把自己实践下来效果很好的单页结构整理成一份模板。所有新文章按这个结构发布,AI引用率确实有明显提升。
<article> <header> <h1>GEO实战指南:为什么AI搜索不引用你的网站</h1> <p>作者:<span class="author">张工</span> · <time datetime="2025-06-01">2025年6月1日</time></p> </header> <section> <h2>核心结论</h2> <p>AI搜索通过RAG技术抓取、切块、检索和生成答案,网站不被引用的三大原因是:技术不可见、语义不可读、权威信号弱。</p> </section> <section> <h2>问题定义</h2> <p>传统SEO面向链接排名,GEO面向AI引用。以下对比...</p> </section> <section> <h2>操作步骤</h2> <p>1. 检查robots.txt;2. 修复JS渲染;3. 添加JSON-LD;4. 更新llms.txt;5. 保持内容时效性。</p> </section> <section> <h2>常见问题FAQ</h2> <p><strong>问:GEO多久见效?</strong>答:通常4-8周可以看到AI引用量出现变化。</p> </section> </article> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "GEO实战指南:为什么AI搜索不引用你的网站", "author": { "@type": "Person", "name": "张工" }, "datePublished": "2025-06-01", "dateModified": "2025-06-01" } </script>这份模板没有花哨的技巧,核心就是:开头直接给结论,正文分块清晰,文末带FAQ,作者身份明确,结构化数据收尾。每一部分都在对AI的“分块-检索-引用”链路做正向优化。
4. 常见问题与排查技巧实录
这一段是踩坑总结。GEO很新,网上教程十个有八个是洗稿和空话,我能分享的是自己真实跑过的坑和排雷经验。
4.1 加了Schema标记为什么还是不被引用?
这是被问最多的问题。首先你需要确认标记确实被正确解析了。方法是在浏览器打开页面源码,搜索application/ld+json,或者用Google Rich Results Test手动测试。我见过很多情况是标记逻辑没写对,比如FAQPage的mainEntity写成了数组的数组、acceptedAnswer下的text字段被写成了空对象,这些都会导致标记无效。
其次要接受一个现实:Schema标记是“推荐信”而不是“录取通知书”。它让AI更容易理解你,但不保证AI一定选你。如果内容本身跟用户问题的匹配度低,加再多结构化数据也没用。建议你先在AI搜索里用自己的目标问题去搜一遍,看看排名靠前的信源有什么共同特征,再去调整自己的内容和标记。
4.2 怎么知道AI有没有引用我?搭建零成本监控
很多人对GEO优化“不知道效果在哪儿”,是因为完全没建立监控体系。最简单的零成本监控动作就是准备一份“品牌专属问题清单”,每隔一两周在ChatGPT、Perplexity、Gemini各问一遍,看有没有引用你的域名。
想自动化,可以写一段小脚本调用AI产品的接口,定期把问题跑一遍并记录返回的URL引用。下面是一个用OpenAI Responses API的示例版本:
from openai import OpenAI import json, datetime client = OpenAI(api_key="你的密钥") questions = [ "最佳的技术SEO实践是什么?", "2025年AI搜索优化怎么做?", ] results = [] for q in questions: resp = client.responses.create( model="gpt-5-mini", instructions="请回答用户问题,并在回答末尾列出引用的URL列表。", input=q ) text = resp.output_text # 简易提取URL的方法,实际情况要处理更多格式 citations = [w for w in text.split() if w.startswith("http")] results.append({"question": q, "date": str(datetime.date.today()), "citations": citations}) print(q, citations) with open("geo_monitor.json", "a") as f: for r in results: f.write(json.dumps(r) + "\n")这段代码会帮你把每次监控问题和引用结果追加到一个JSON文件里,跑上两个月,你能画出自己的“被引用趋势图”。这里提醒一个坑:模型返回的引用URL可能是带上追踪参数的短链,比对时要做归一化处理,否则你的品牌词匹配不到真实引用。
4.3 别被这些“GEO毒药”反噬:看着聪明实则有害
GEO太新,市场上已经出现了一批“快速起量”工具,但我劝你保持警惕。我列几个真实见过的反模式。
第一是AI生成的“伪权威内容农场”。用大模型批量生成几百篇相似文章,再批量互链制造虚假权威。早期也许能骗过部分检索器,但现在AI搜索引擎的反垃圾能力正在快速跟进,一旦被标记,整个域名的可信度崩塌。
第二是隐藏文字和透明文字。有些“SEO外挂”教程教你把长尾关键词用白色字体、同底色放在页面里,希望增加关键词密度。在传统SEO时代这就是高风险操作,到AI搜索时代更是自杀式行为——AI读的是语义,不是字数,一旦检测到内容与视觉呈现不符,反而会大幅调低页面可信度。
第三是只做代码不做内容。有人看了我这篇文章前半部分,兴奋地加完了robots、sitemap、Schema标记,然后发现引用量还是没有起色。因为代码只是把门打开、把路标立好,内容本身是否值得被引用才是根本。没有对用户问题的精准回答,AI检索到了也不会选你。
4.4 外部链接与内部链接的GEO侧重
传统SEO里“外链为王”的观念根深蒂固,但是在GEO里,外链的价值边际在快速递减。AI搜索引擎更看重“引用网络”而非“链接权重”。什么意思呢?AI在评估一个页面是否值得引用时,会看它是否被其他高质量内容页评为“事实来源”或“深入阅读材料”,而不是数它有多少条锚文本链接。
所以代码层面的调整是:把你页面里那些指向低质量站点的外链清理掉,同时加强站内相关页面之间的语义链接。内部链接的锚文本不要再用“点击这里”这种无意义文字,而是用完整的描述性短语,比如“查看 GEO与RAG的关系 这篇技术拆解”,这样AI爬虫在分析页面主题和实体关系时能得到更有意义的信号。
4.5 千万别小看“回答信噪比”:答案不是越长越好
最后一个容易被忽略的点:AI引用的颗粒度比SEO时代细得多。它引用的是一个段落、一个列表,甚至一句话,而不是整个页面。这就意味着你的内容里“信噪比”要高——纯噪声(比如与主题无关的自我吹嘘、大段场景描写、图片替代文本)的比例越少,AI就越容易精准命中。
我在实际修改过的一个页面上做过测试:原文2500字,压缩成1200字,把每段的观点前置、删掉多余修饰语后,Perplexity引用该页面的次数在一个月内翻了近三倍。这个测试的启示是:写GEO内容时,先写清楚核心答案,再考虑“深度阅读体验”。对AI搜索引擎而言,你的页面首先是一份“知识提取源”,其次才是一篇“给人读的文章”。
从我自己的实操体会来看,GEO并不是什么玄学,它就是把网站从“给人看的作品”重新整理成“给人看也給机器读的知识库”。代码能帮你解决入口问题、结构问题和信任问题,但最后那一层“你的内容到底是不是一个值得AI反复引用的好答案”,还是得靠内容本身过硬。如果你的行业有比较固定的高频问题,建议先把这些问题逐条做成独立的、结构完整的解答页,再配合上面的代码改造,是我目前看到ROI最高的路线。