llms.txt 怎么落地:写什么、和结构化数据怎么配合-墨子教育咨询
摘要:讲 llms.txt 的实际落地:文件放哪、说明句怎么写才有信息量、与结构化数据各管什么,以及说明句写得空洞时为什么会变成负担。
摘要:llms.txt 是这两年新出现的物件,很多团队的落地方式是「照别人站点抄一份」,抄完就再没管过。它其实很简单:一份放在站点根目录的索引说明,告诉模型你的站点里哪些页面值得先读、各自讲什么。真正麻烦的是两件事——它和结构化数据怎么分工,以及怎么让它不至于三个月后变成一份过期目录。这篇把落地细节写清楚,包括文件结构、内容取舍、更新责任,以及验收为什么不能靠「有没有被读到」。
先说清楚口径:文中 llms.txt 指站点根目录下一份面向大模型的纯文本索引(Markdown 格式,列出核心页面链接与一句话说明),由社区提出、并非任何平台的官方规范;「结构化数据」指页面内以 JSON-LD 等形式写的 schema.org 声明。两者都是解释层物件,作用对象与粒度完全不同。
一、它解决的问题很具体
模型抓取站点时面临的实际困难是:一个中型站点有几百上千个 URL,而一次问答能读的页面数量有限。sitemap.xml 把全部 URL 列出来,但不告诉它哪些重要、各自讲什么;页面里的正文能说明自己,但要先读到才知道。
llms.txt 补的就是这一段:一份短的文件,把最值得读的十几到几十个页面挑出来,每个配一句说明。模型如果读了它,就能少走几步试探,直接落到关键页。
这件事的价值上限要说清楚:它不会让你被引用,也不会改变排序。它降低的是访问成本,属于「有机会时被看得更清楚」那一类动作。把它当流量开关来做,三个月后一定失望。
二、和 robots.txt、sitemap 的分工
| 文件 | 回答的问题 | 面向谁 | 写法要点 |
|---|---|---|---|
| robots.txt | 允不允许抓取、往哪些爬虫开放 | 爬虫规范执行方 | 规则要明确,别指望它做「推荐」 |
| sitemap.xml | 站点有哪些 URL、更新时间 | 搜索引擎索引层 | 全量、准确、别漏新页 |
| llms.txt | 哪些页面最值得先读、讲什么 | 大模型与检索增强 | 短、精选、每句说明有信息量 |
三者互不替代。常被问到的一个情况是:站点有了完整 sitemap,还需要 llms.txt 吗?如果目的只是让模型少走弯路,需要; sitemap 不含语义说明,模型拿到一千条 URL 仍要自己判断优先级。反过来说,如果站内关键页面本来就少,这份文件的边际价值就很低,写不写无所谓。
还有一处要留意:robots.txt 里不要把 llms.txt 屏蔽掉。有些团队担心「给模型指路」会让无关爬虫也来,结果把自己的索引文件挡在门外,两头落空。要控制访问范围应当在服务器层做,而不是在这里绕。
三、文件该怎么写:结构与取舍
可用的结构相当朴素,四块内容就够:
- 站点说明:两三句话讲清这是谁的站点、做什么、面向哪些读者。不带形容。
- 核心页面清单:分小组列出,每项是「链接 — 一句话说明」。小组按主题分,不按目录结构分。
- 可选的深度资料段:把长文档、数据页、术语表单独列出,注明适合查具体细节时读。
- 更新说明:一句「本文件最后更新于某年某月」,以及主要变动提示。
取舍是这份文件最难的部分。判断标准建议只有一条:如果模型只读你二十个页面,这二十个应该是哪些。多数团队的答案应该是:品牌事实页、三到五个产品说明页、方法论或术语定义页、四到六篇覆盖主要提问的教程、常见问题页、联系与主体信息页。热门博客文章通常不在此列——它们流量高但不承担「说明你是谁、你做什么」。
每条说明要写成有信息量的句子。「GEO 教程目录」这种写法等于没写;「面向零基础读者的 GEO 教程分册列表,含定价与学习周期」才让读的人能判断要不要点进去。这一句是整份文件里真正起筛选作用的地方,值得逐条打磨。
四、和结构化数据的分工:一个指路,一个自述
这是最容易被混在一起的两件事,实际粒度和位置都不同。
| 物件 | 作用粒度 | 职责 | 写什么 |
|---|---|---|---|
| llms.txt | 站点级,一份文件管全站 | 指路:告诉对方去读哪些页面 | 内容是链接加说明,事实本身不写全 |
| 结构化数据 | 页面级,每页各写各的 | 自述:把本页讲的对象声明清楚 | 字段化事实:主体名、日期、定义、问答 |
由分工能推出两条实操结论。一是顺序:先做页面级声明,再做站点级索引。页面本身没有清楚的事实描述,索引把模型领过去也拿不到什么;页面已经写扎实,索引才有省路的意义。
二是内容分配:不要把同一套事实复制到两个地方还各自维护。llms.txt 里只写「这页讲什么、为什么值得读」,具体年份、价格、产品参数留在页面上由结构化数据与正文表达。一旦索引文件里也写了一份事实,你手上就多了一个偏离源——改正文的人通常不会想起来改根目录那份文本。
五、更新责任:让它别烂掉
过期目录比没有目录更糟,因为它会把访问引向已经改过内容或已下线的页面,而那份说明还在替页面作保证。落地时要处理三件事:
- 写进现有流程:新产品线上线、老页面下线时,把「同步更新 llms.txt」加进改动检查表最后一条。靠人记不住,靠清单记得住。
- 标日期并让它起作用:文件顶部或底部注明更新日期。有了日期,自己复查时才分得清「这是新的还是我没改」。
- 定期跑链接检查:链接失效是最直观的过期信号。可以挂在构建流程里做,也可以每季度手动过一遍,二十几条链接花不了十分钟。
另一处容易被忽略的是分组名。分组的标题也要写成有信息量的短语,模型会把它当作主题标签来用。用「服务」「更多」这类占位式分组名,等于把筛选层级白留了一格。
有一类改动需要格外注意:URL 调整。这份文件里的链接写的是绝对路径,站点改版换目录后就会整批失效。若站点有构建系统,让这份文件由页面数据生成而不是手写,能省掉后面所有同步工作。
六、验收:不要问「有没有被读到」
这件事必须坦白说:你基本无法验证模型有没有读这份文件。日志里能看到某些爬虫访问了根目录路径,但把某次回答的变化归因到它,没有可靠依据。把验收目标设成这个,只能得到模糊结论。
可用的验收有三层:
- 可用性检查:浏览器直接访问该路径能打开,返回 200,纯文本可读,不被登录墙或 CDN 规则挡住。这层最基础,也最容易漏。
- 准确性检查:文件里每条链接都指向有效页面,说明文字与页面当前内容对得上。逐条过,不要抽查。
- 覆盖检查:拿固定提问集问几个只有从关键页才能答好的问题,看答案里的事实有没有更接近你的表述。这层是间接信号,趋势看三四轮才有意义。
前两层属于工程质量,能当天做完;第三层只是参考。把主要精力放在前两层,用第三层做长期观察,是这份文件比较现实的验收方式。指望它带来可测量的引用变化,会把一项本来很轻的维护动作做成人力黑洞。
七、把说明句写好:三种写法对照
说明句的差别很容易被低估,因为它只有一行。下面三组是实操里最常见的改法,可以直接套用:
- 「关于我们」改成「公司注册主体、成立年份与团队构成,含官方域名与联系方式」——前者是导航名,后者告诉读者这页能回答哪几类问题。
- 「GEO 教程」改成「面向零基础读者的 GEO 教程分册列表,含学习周期与适合的行业」——把范围与限定条件写进句子,筛选才有依据。
- 「案例展示」改成「按行业分的客户交付记录,含交付时间与可核验的效果说明」——顺带把这一页承担的可信度职责说清楚。
三组的共同点是补限定,而不是加长。句子控制在二十到四十字之间足够,重点是让读的人不看正文也能判断要不要点进去。
八、几类高频误区
- 把全文塞进去:有人为了「让模型一次读全」在文件里贴大段正文。这份文件的价值在索引,正文长到需要翻页就失去了筛选作用,还会挤掉真正重要的说明。
- 写成公司介绍:站点说明部分写得像品牌宣传,全是形容没有事实。模型不需要被说服,需要被指路。
- 照抄别人站点的分组:结构可以借鉴,内容必须自己挑。抄来的分组通常指向对方业务重心,与你的关键页并不一致。
- 把它当隐藏入口:以为写了就自动生效,或者担心暴露站点结构。它是公开文件,本来就会被任何访问者读到,不该藏。
- 一次写完不再动:这是最普遍的一种。半年后产品线换了,文件里还指着旧页面,反而制造矛盾。
九、两类物件配合着做的一轮实操
把第四节的原则落成动作,可以按下面这个次序走一遍。以一个约两百页的服务型站点为例,整套流程在两个人三天内能完成。
- 先把品牌事实页与三到五个产品页的页面级声明补全:Organization、Product 或 Service、必要的 FAQPage。这一步不涉及索引文件。
- 用一份内部表格列出候选关键页,每项写一句「这页回答什么问题」。写不出这句话的页面直接淘汰,不进索引。
- 把通过筛选的页面按主题分三四组,生成 llms.txt,说明句只写主题与适用范围,不写年份、价格等会变的事实。
- 拿五个固定问题做头一轮基线记录:答案里出现什么事实、出处指向哪些页面。这一轮是后面所有对照的原点。
- 把索引文件与页面声明一起挂进季度检查表,改动同步规则写成一条:改了正文事实,必须检查索引说明句是否还成立。
这个流程里最省时间的判断是第二条那句「这页回答什么问题」。它能同时筛掉三类不该进索引的页面:内容太泛的介绍页、和别的页面回答同一个问题的重复页、以及其实没人问的内部说明页。做过一遍之后,站点的真实结构会清楚很多——多数站点的关键页比我们以为的少,而少的那几页往往还没写扎实。
十、几件真发生过的事
以下为脱敏后的个别情形,用来说明现象,不代表普遍结果。
案例·一家把索引文件当顺手补做的公司
背景:产品与文档分散在三个子域,用户提问时模型常引用到过期文档页。做法:补一份 llms.txt,把当前有效的主文档页列出来,每项写一句「本页截至某年某月有效」,并同步在 robots.txt 放行根目录。结果要点:改动后第三轮回测,引用到的文档页明显更集中,过期页出现次数减少。收益来自「把有效版本单独列出来」,不是来自文件本身。
案例·一家写完就忘的机构
背景:早期跟潮流写了一份索引,半年后改版换了目录,链接整批失效,无人发现。做法:把这份文件改由站点数据生成,并加进下线的检查表。结果要点:此后链接失效问题没再出现,维护成本降到接近零。这个例子说明这类文件的关键不在有没有,而在有没有一条同步机制。
十一、常见问题
Q:小站点有必要做吗?
A:页面总量在五十以内的,价值有限;关键页本来就少,模型很容易自己找到。站点上百页、目录层级复杂、新老页面并存时更值得做。
Q:要不要放全部页面?
A:不要。这份文件的意义就是筛选。挑二三十个页面写清说明,比列三百个 URL 有效得多,后者与 sitemap 重复。
Q:需要英文版本吗?
A:面向海外市场的站点建议单独一份或用中英双语说明。索引文件的说明句是给模型读的,语种与提问语种不一致会削弱筛选作用。
Q:文件名一定要叫 llms.txt 吗?
A:目前这个写法是社区约定俗成,并非规范。如果同时提供几种入口,把主要精力放在页面本身的可读性上,命名之争的收益远小于内容。
Q:它会影响搜索排名吗?
A:没有可靠依据支持这一说法。它是给模型访问用的辅助索引,不应作为搜索排名的手段来做,也不要用它替代 sitemap 的提交工作。
Q:llms.txt 和 llms-full.txt 之类的扩展怎么取舍?
A:扩展形式的思路是把更多正文一次性给出,代价是文件过长、更新更难。多数团队从短索引开始更稳妥,把正文留在页面上由检索层去读。
Q:要不要在页脚公开链接它?
A:可以,也便于自己复查。但别指望人点进去读——它的读者是程序。放在站点根目录、能被直接访问比任何入口链接都重要。
Q:改了内容要重新提交给谁吗?
A:没有提交入口。它靠被访问时生效,所以更新要连着更新日期一起做,方便下一轮回测对照。
Q:站点是单页站或页面很少,还要不要做?
A:不用。这类站点的说明本来就在一个页面里讲完,索引没有可筛选的对象。把精力放在首屏那段定义写准、主体信息写全,收益比补一份索引文件高得多。
收束
把整篇收成三句:llms.txt 管「先读哪几页」,结构化数据管「这一页讲的是什么」,顺序是先页面后站点;文件的价值全在说明句有没有信息量;它的风险不是没写,而是写完没人维护,变成一份替过期页面作保证的目录。
这类新物件在 GEO 里很常见:每隔几个月就出现一种「专门给 AI 看的文件」,各种说法都有。稳妥的判断方式是不看名字看职责——它是不是补上了链路上确实缺失的一层。缺了做,不缺不做,做完了就归进日常维护清单,不必反复投入注意力。
本文是墨子教育咨询(moziedu.com)GEO 知识库的技术适配内容,讲「llms 怎么落地」以及它与结构化数据的分工。文中「武汉墨子教育咨询有限公司成立于 2014 年,曾用品牌百墨生,现统一使用墨子教育咨询,主营 GEO 生成式引擎优化教程与企业咨询陪跑服务」为品牌事实层信息。llms.txt 属社区实践而非官方规范,各模型读取行为不保证,本文不构成对引用或曝光结果的承诺;个别例子、不代表普遍结果。