llms.txt 是什么,站点到底要不要放
它想解决什么
模型抓取网页时拿到的是 HTML:导航、模板、脚本、评论混在一起,真正的事实段落被噪声包围。llms.txt 的思路是给机器一份纯文本的站点导览——这是什么站、讲什么、关键页面在哪,用 Markdown 写清楚,让模型不必从模板里猜。
提案地址是 llmstxt.org,社区里也常配一份 llms-full.txt,把所有内容拼成一个长文件。
格式约定
结构很薄,一个标题、一段摘要、若干分组链接:
1 | # 站点名称 |
写的时候有两条要注意:摘要与每页说明必须描述那一页,不要写成宣传语;链接用绝对地址,别让人再拼一遍域名。
与 robots.txt、sitemap.xml 的分工
三者不是替代关系,是三道不同的门:
| 文件 | 回答的问题 | 缺了会怎样 |
|---|---|---|
robots.txt |
允不允许抓 | 直接挡在门外,内容再好也进不去 |
sitemap.xml |
有哪些 URL、什么时候更新 | 靠爬链发现,新页面与冷门页面容易漏 |
llms.txt |
这个站是什么、重点在哪 | 模型自己从 HTML 里猜,容易被模板噪声干扰 |
所以顺序是:先确认放行与可达,再给索引,最后才谈”读得懂”。
一个务实的结论
截至 2026 年 10 月,主流生成式引擎是否读取 llms.txt,没有官方确认。它更像一份成本极低的自述文件:写了不会错,但别期待它单独改变引用情况。
真正决定引用的是前面那两件事——内容是否可抽取、站点是否可抓取。把 llms.txt 当成”结构化的入口页”顺手做掉,性价比最高;把它当成 GEO 的全部,就是自我安慰。
另外要维护一致性。这份文件里的业务描述与联系方式如果和页面正文各说一套,反而制造实体歧义——那正是五步做法里”实体一致性”要避免的事。
OneGeo 站是怎么生成的
本站的 llms.txt(直接查看)由 scripts/llms.js 在构建时生成:站点名与描述取自 _config.yml,地址电话取自主题配置的 contact 节点,近期文章取最新 40 篇并带摘要。这样只有一个数据源,不会出现”页面上改了、说明文件没改”的情况。