llms.txt是什么?手把手教你为网站生成llms.txt和llms-full.txt

llms.txt是什么?手把手教你为网站生成llms.txt和llms-full.txt

2024年9月,Answer.AI创始人Jeremy Howard提出了一个看似简单却意义深远的提案:在网站根目录放一个叫llms.txt的Markdown文件,专门给AI大语言模型看。

这个提案的背景很现实——ChatGPT、Gemini、Perplexity、Claude这些AI工具正在成为越来越多人获取信息的主要渠道,但它们面临一个共同难题:大多数网站是为人类设计的,充满了导航栏、广告、JavaScript渲染的动态内容,AI要从这些"噪音"中提取有价值的信息,既费劲又容易出错。

保哥一直关注GEO(生成式搜索优化)领域的最新动态,llms.txt这个标准从提出到现在,虽然还没有被各大AI厂商正式采纳,但它的发展势头和底层逻辑都值得每一个做网站的人认真对待。今天这篇文章,保哥会把llms.txt从概念到实操,从手动编写到自动化生成,一次性讲透。

llms.txt到底解决了什么问题

先搞清楚一个核心矛盾:AI模型的上下文窗口是有限的。即便最新的模型能处理十几万个token,但面对一个动辄几百上千个页面的网站,全量灌进去既不现实也没必要。

传统的sitemap.xml告诉搜索引擎"我有哪些页面",robots.txt告诉爬虫"哪些能抓哪些不能抓"。但这两个文件都没有回答一个关键问题:如果AI只能看你网站的一小部分,应该看哪些?

llms.txt就是来回答这个问题的。它本质上是一个由网站作者精心策划的内容导航,用Markdown格式告诉AI:"这些是我网站最重要、最值得你了解的页面和信息。"

打个比方:如果把你的网站比作一个图书馆,sitemap.xml是完整的馆藏目录,robots.txt是"禁止入内"的门牌,而llms.txt则是图书管理员给你列的一份"推荐书单"。

llms.txt和llms-full.txt的区别

在实际应用中,llms.txt通常搭配llms-full.txt一起使用,两者各有分工。

llms.txt是轻量级的导航文件,只包含网站的结构概览和关键页面的链接列表,类似于一份带注释的目录。AI可以快速浏览这个文件,了解你的网站是做什么的、有哪些重要内容,然后按需去抓取具体页面。

llms-full.txt是重量级的全量内容文件,它把llms.txt中列出的所有关键页面的完整内容直接整合到一个文件里。AI不需要再去逐个抓取各个链接,一次请求就能获得全部核心信息。

两者的关系可以这样理解:llms.txt是菜单,llms-full.txt是把所有菜端上来了。

在实际部署中,保哥建议两个文件都做。llms.txt满足快速扫描的需求,llms-full.txt满足深度理解的需求。具体怎么做,后面会详细展开。

llms.txt的标准格式规范

llms.txt文件遵循一套明确的Markdown结构,文件放置在网站根目录下,通过https://你的域名/llms.txt即可访问。以下是规范要求的格式,按顺序排列:

第一部分:H1标题(必填)——网站或项目的名称,这是整个文件中唯一的必填项。

第二部分:引用块摘要(建议填写)——用Markdown的>语法写一段简短的项目概述,包含理解后续内容所需的关键信息。

第三部分:详细说明(可选)——可以是段落、列表等任何Markdown格式,但不能使用标题标签(H2/H3等),用来补充项目的重要背景信息。

第四部分:分类链接列表(核心内容)——使用H2标题对链接进行分组,每个链接用标准的Markdown超链接格式[标题](URL)表示,后面可以加冒号和说明文字。

特殊部分:Optional段落——如果有一个以## Optional为标题的段落,表示这些链接在上下文长度受限时可以被跳过。

一个标准的llms.txt文件长这样:

# 你的品牌名

> 一句话概括你的网站/项目是做什么的,核心价值是什么。

附加说明:比如技术栈、适用人群、使用注意事项等。

## 核心文档
- [产品介绍](https://example.com/about): 公司和产品的完整介绍
- [使用指南](https://example.com/docs/guide): 从零开始的入门教程
- [API文档](https://example.com/api): 完整的API参考手册

## 常见问题
- [FAQ](https://example.com/faq): 用户最常问的问题和解答
- [定价方案](https://example.com/pricing): 各套餐对比和价格说明

## Optional
- [团队介绍](https://example.com/team): 核心团队成员背景
- [博客](https://example.com/blog): 产品更新和行业分析

llms-full.txt的格式与编写要点

llms-full.txt的结构保留了llms.txt的组织框架,但在每个链接下面直接展开了完整的页面内容。格式如下:

# 你的品牌名

> 一句话概括你的网站/项目。

## 核心文档

### 产品介绍
这里放入产品介绍页面的完整文本内容,
包括所有标题、段落、列表等格式化信息,
以Markdown形式呈现……

### 使用指南
这里放入使用指南的完整内容……

## 常见问题

### FAQ
完整的FAQ内容……

编写llms-full.txt时需要注意几个关键点:

保持与llms.txt相同的章节组织结构,H2对应大分类,H3对应每个文档的标题。每个文档的内容应当是"干净"的——去掉导航栏、页脚、侧边栏等页面框架元素,只保留正文。如果某些页面内容特别长,可以适当精简,保留核心信息即可,毕竟整个文件的体积也要控制在合理范围内。

手动编写llms.txt的实操步骤

对于页面数量不多的网站,手动编写是最直接的方式,保哥建议按以下步骤操作。

第一步:梳理内容优先级。 打开你的网站,列出所有你认为AI必须了解的页面。通常包括:关于我们/公司介绍、核心产品或服务页面、文档/帮助中心、定价页面、常见问题页面、联系方式。这些页面基本上就是你希望AI在回答用户问题时引用的那些内容。

第二步:按逻辑分组。 把这些页面按主题归类,比如"产品""资源""支持""关于"等。每个分组就是llms.txt中的一个H2段落。

第三步:编写描述。 为每个链接写一段简短的描述(通常一句话),说明这个页面是关于什么的。描述要言简意赅,帮助AI判断是否需要进一步访问。

第四步:创建文件并上传。 用任何文本编辑器(VS Code、Notepad++、甚至记事本)创建文件,命名为llms.txt,上传到网站根目录。确认通过浏览器访问https://你的域名/llms.txt可以正常打开。

第五步:验证文件状态。 上传后检查:HTTP状态码是否返回200、文件编码是否为UTF-8、内容是否正确渲染了Markdown格式。

用工具自动生成llms.txt

手动编写虽然灵活,但对页面较多的网站来说效率太低。目前市面上有几种主流的自动化方案。

方案一:Firecrawl生成器。 访问llmstxt.firecrawl.dev,输入网站URL,点击生成即可。这个工具会自动爬取你的网站并用GPT-4o-mini提取关键信息,生成llms.txt和llms-full.txt两个文件。免费版有使用限制,注册Firecrawl API Key后可以解锁。

方案二:Mintlify自动托管。 如果你使用Mintlify作为文档平台,它会自动生成并托管/llms.txt/llms-full.txt,甚至还会为每个页面生成.md版本,零配置零维护。

方案三:llms-txt.io提供的在线工具。 可以生成基础模板,然后手动调整。

上面几个工具要么是英文界面、要么需要注册API Key,对国内用户不太友好。保哥专门开发了一款中文环境下的llms.txt在线生成器,输入你的网站URL就能快速生成符合规范的llms.txt文件,操作门槛极低,特别适合不熟悉Markdown语法或英文工具的站长直接上手。

需要提醒的是,自动生成的文件往往需要人工审核和优化。工具不了解你的业务优先级,可能会遗漏重要页面或包含不必要的内容。保哥的建议是:先用工具生成骨架,再手动精雕细琢。

WordPress网站的llms.txt部署方案

WordPress用户有更便捷的方式,目前主要有两种方案。

方案一:Yoast SEO插件(27.1+版本)。 如果你已经在用Yoast SEO,它从27.1版本开始内置了llms.txt自动生成功能。启用后,插件会自动检测你的最新博客文章、关键文档和重要页面,生成符合规范的llms.txt文件,并通过WordPress的cron任务每周自动更新。它还会自动过滤掉被设置为noindex或被robots.txt屏蔽的页面。如果你对AI抓取你网站的方式感兴趣,保哥之前深入分析过Yoast的Schema聚合功能如何帮助AI理解网站结构,两者配合效果更好。

方案二:Website LLMs.txt专用插件。 这是一个专门为llms.txt设计的WordPress插件,功能更加聚焦。它支持自定义文件标题和描述、选择要包含的内容类型、与Yoast SEO/Rank Math等SEO插件联动、自动排除noindex和nofollow页面、控制每篇文章的内容字数(默认250字)、手动触发文件重新生成等。还支持WooCommerce产品的SKU信息输出。

两种方案的选择很简单:如果你已经在用Yoast SEO,直接启用它的llms.txt功能最省事;如果你需要更精细的控制或者使用其他SEO插件,选专用插件。

Shopify网站的llms.txt部署方案

Shopify是跨境电商独立站的主流平台,但它的托管式架构给llms.txt的部署带来了一个独特的难题:Shopify不允许你直接在网站根目录放置任意文件。你没有FTP权限,也不能像WordPress那样随便往根目录扔一个文件。

这意味着你不能像传统网站一样直接上传一个llms.txt到根目录就完事。但办法总是有的,保哥整理了从简单到高级的四种方案,覆盖不同技术能力和预算的Shopify卖家。

方案一:Shopify App应用(最省事)

Shopify App Store里已经出现了多款llms.txt生成应用,它们的核心功能大同小异:自动读取你店铺的产品、集合(Collection)、博客文章和页面信息,生成符合规范的llms.txt文件,并通过应用代理路径托管。

目前比较有代表性的应用包括:LLMS.txt Generator(由Gokyo.ai开发)、LLMS.txt Agent(由Go Plus NZ开发,支持多语言市场和自动提交AI索引)、以及LLMS.txt Architect(支持Metafield自定义数据输出和Liquid模板定制)。

不过这些应用有一个共同的局限:生成的文件URL通常不在根目录,而是类似https://你的域名/apps/llmstxt/llms.txt这样的路径。llms.txt规范要求文件位于根路径/llms.txt,所以安装完应用后,你还需要额外做一步——在Shopify后台的"在线商店 → 导航 → URL重定向"中,创建一条从/llms.txt到应用实际路径的重定向。这一步很多应用没有自动帮你完成,需要手动设置。

方案二:Liquid模板方案(零成本但需要动手)

如果你不想装付费应用,可以利用Shopify的Liquid模板系统来实现。这个方案的思路是:创建一个自定义页面模板,让它输出纯Markdown格式的llms.txt内容,然后用URL重定向将/llms.txt指向这个页面。

具体操作步骤:

第一步,进入Shopify后台,点击"在线商店 → 主题 → 编辑代码"。在Templates文件夹中创建一个新模板,比如命名为page.llms.liquid

第二步,在这个模板中编写Liquid代码,动态拉取店铺信息。一个基础模板的核心逻辑如下:用{{ shop.name }}输出店铺名称作为H1标题,用{{ shop.description }}生成摘要,然后通过{% for product in collections.all.products %}遍历产品,{% for article in blogs.news.articles %}遍历博客文章,按照llms.txt规范格式输出链接和描述。注意模板中要设置content_type: "text/plain",确保输出的是纯文本而不是HTML页面。

第三步,在Shopify后台创建一个新页面,Handle设置为llms,模板选择刚才创建的page.llms

第四步,在"在线商店 → 导航 → URL重定向"中,创建从/llms.txt/pages/llms的重定向。

这个方案最大的优点是完全免费,而且内容会随着你店铺的产品和文章更新而自动变化。缺点是需要一定的Liquid语法基础,模板的调试也需要耐心。

方案三:Cloudflare Workers边缘代理(最规范)

如果你的Shopify店铺已经通过Cloudflare做了DNS代理(大量Shopify卖家已经在用Cloudflare来加速和保护网站),那这是保哥最推荐的方案——它可以让/llms.txt真正出现在根路径,不需要任何重定向,是最符合规范的做法。

原理很简单:Cloudflare Workers可以在请求到达Shopify服务器之前进行拦截。当有人或AI爬虫访问/llms.txt时,Worker直接返回你预设的llms.txt内容;其他所有请求正常转发给Shopify。

核心代码逻辑:

export default {
  async fetch(request) {
    const { pathname } = new URL(request.url);
    if (pathname === "/llms.txt" || pathname === "/llms.txt/") {
      const body = `# 你的店铺名称
> 你的店铺一句话描述

## 产品
- [产品分类1](https://你的域名/collections/xxx): 分类描述
- [产品分类2](https://你的域名/collections/yyy): 分类描述

## 资源
- [博客](https://你的域名/blogs/news): 产品指南和行业资讯
- [FAQ](https://你的域名/pages/faq): 常见问题解答

## Optional
- [关于我们](https://你的域名/pages/about): 品牌故事
- [联系方式](https://你的域名/pages/contact): 客服和售后`;
      return new Response(body, {
        status: 200,
        headers: {
          "Content-Type": "text/plain; charset=utf-8",
          "Cache-Control": "public, max-age=86400"
        }
      });
    }
    // 其他请求正常转发给Shopify
    return fetch(request);
  }
};

部署后,访问https://你的域名/llms.txt会直接返回纯文本内容,HTTP状态码200,Shopify端完全无感。这是技术上最干净的方案。

方案四:手动上传到Files再重定向(应急方案)

最简单的应急做法:在本地写好llms.txt文件,通过Shopify后台的"设置 → 文件"上传,获得一个Shopify CDN链接(类似https://cdn.shopify.com/s/files/xxx/llms.txt),然后在URL重定向中把/llms.txt指向这个CDN链接。

这个方案能用,但有两个明显缺陷:CDN链接域名不是你自己的域名,重定向后URL会跳转而不是保持原路径;而且每次更新内容都要重新上传文件并确认CDN链接没变。只建议作为临时过渡方案。

Shopify卖家的llms.txt内容策略

不管用哪种方案部署,Shopify网站的llms.txt在内容上应该重点突出以下几类页面:

核心产品集合(Collection)页面是第一优先级,它们代表了你店铺的商品分类结构。其次是购物指南和产品对比类的博客文章,这类内容最容易被AI在回答用户购物问题时引用。退换货政策、物流说明、FAQ等信任建设页面也很重要——当AI向用户推荐你的产品时,这些信息会直接影响用户决策。品牌故事和"关于我们"页面可以放在Optional段落中。

避免在llms.txt中列出所有单品页面(尤其是SKU数量很大的店铺),这会让文件变得臃肿且缺乏重点。用集合页面来代替单品页面,让AI通过集合入口去了解你的产品线,效率更高。

其他CMS和框架的集成方案

不同的技术栈有不同的集成方式。

VitePress: 使用vitepress-plugin-llms插件,可以从文档自动生成符合规范的llms.txt。

Docusaurus: 使用docusaurus-plugin-llms插件,原理类似。

Drupal 10.3+: 有一个叫"LLM Support"的Recipe方案,提供开箱即用的llms.txt支持。

GitBook: 自动生成llms.txt和llms-full.txt,还会为每个页面提供Markdown版本,无需任何额外配置。

自建站(Next.js/React等): 需要手动编写生成脚本。基本思路是在构建流程中读取所有文档/页面的元数据,按照规范格式输出为public/llms.txt,部署时会自动放到根目录。

llms.txt与robots.txt、sitemap.xml的协同策略

这三个文件各司其职,但需要协同配合才能达到最好的效果。

robots.txt负责访问控制——哪些爬虫可以来,哪些页面不许抓。它是搜索引擎爬虫和AI爬虫都要遵守的基本规则。

sitemap.xml负责完整索引——告诉搜索引擎你网站上所有公开页面的URL和更新频率,是传统SEO的基础设施。

llms.txt负责内容策划——从你的全部页面中精选出最值得AI理解的核心内容,是针对AI搜索场景的增量优化。

三者之间有一个重要的逻辑关系:llms.txt中列出的页面,必须在robots.txt中对AI爬虫开放访问。如果你在robots.txt里屏蔽了某个目录,又在llms.txt里引用了该目录下的页面,就会产生矛盾。保哥建议在配置时做一次交叉检查,确保没有冲突。

另外,可以考虑在robots.txt中添加llms.txt的引用,让AI爬虫更容易发现它:

# robots.txt
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

同时确保llms.txt的URL路径返回200状态码,且没有被CDN缓存策略意外屏蔽。

保哥的llms.txt进阶优化策略

以下是保哥在实操中总结的几个进阶策略,市面上大部分文章都没有提到。

策略一:提供页面的.md版本。 llms.txt的官方提案中建议,网站的每个页面都应该提供一个Markdown版本,URL格式为原始URL后面加上.md后缀。比如https://example.com/docs/guide的Markdown版本就是https://example.com/docs/guide.md。AI读取Markdown比解析HTML效率高得多,而且不会受到JavaScript渲染、广告代码等因素的干扰。

策略二:定期审计和更新。 llms.txt不是一个设置完就能忘掉的文件。每当你的网站有重大更新——新产品上线、定价调整、重要文档改版——都应该同步更新llms.txt。保哥建议至少每月审查一次,确保所有链接有效(HTTP 200),没有过时的内容。

策略三:利用Optional段落做精细化管理。 把次要内容放在## Optional段落下,让AI在上下文窗口不够用时可以跳过。这就像给AI提供了一个"精简阅读"和"完整阅读"两种模式。

策略四:控制llms-full.txt的体积。 虽然理论上内容越全越好,但实际中要考虑到AI模型的token限制。保哥建议llms-full.txt控制在50万字以内,超出的部分放到llms.txt的链接列表中,由AI按需抓取。

策略五:在llms.txt中加入品牌关键信息。 如果你希望AI在回答品牌相关问题时给出准确信息,可以在llms.txt的描述部分加入品牌定位、核心差异点、关键数据等信息。这些信息会优先被AI读取和记忆。

配合GEO策略提升AI引用率

llms.txt本身是GEO体系中的一环,要想真正提升你网站内容被AI引用的概率,需要和其他GEO策略配合使用。

首先是内容结构的优化。AI模型偏好结构清晰、语义明确、数据充实的内容。在llms.txt引用的页面上,确保使用规范的H标签层级、在关键信息段落使用加粗或列表格式、在适当位置嵌入结构化数据标记。保哥之前写过一篇关于如何优化内容结构与可读性来匹配AI解析偏好的深度指南,建议配合阅读。

其次是结构化数据的部署。FAQPage、HowTo、Article等Schema标记能显著提升AI对页面内容的理解效率。如果你还没有在网站上实施结构化数据,可以用保哥开发的Schema结构化数据生成器快速生成JSON-LD代码。

最后是内容的"可引用性"设计。AI引用你的内容时,通常是摘取其中的一个段落或一组数据。因此,你的每个重要段落都应该是"自包含"的——即使脱离上下文也能独立表达完整的观点或提供有价值的信息。保哥推荐用GEO内容分析优化工具来检测你的页面在AI可引用性上的得分,并获取具体的改进建议。

llms.txt的现状和局限性

保哥讲干货,也讲真话。截至2026年3月,llms.txt面临几个客观现实:

采用率仍然很低。 2025年7月的数据显示,全网只有约951个域名部署了llms.txt文件,在整个互联网中几乎可以忽略不计。

主流AI厂商尚未官方支持。 OpenAI、Google、Anthropic都没有正式宣布会读取或使用llms.txt文件。有测试数据显示,主流AI爬虫(如GPTBot、Google-Extended、ClaudeBot)在几个月内对llms.txt文件的访问次数为零。

它不是安全机制。 llms.txt不能阻止AI抓取你不想被抓取的内容。它只是一个"建议",而不是"规则"。如果你需要真正的访问控制,还得靠认证、付费墙和技术手段。

但保哥认为,这些不构成不去做的理由。原因有三:部署成本极低(一个Markdown文件而已)、它解决的是真实存在的问题(AI确实需要更好的方式理解你的网站)、提前布局的潜在收益远大于风险。用保哥的话说:最坏的情况是什么都没变化,最好的情况是你在AI平台正式支持的那一天就已经准备好了。

不同类型网站的llms.txt策略

不同类型的网站,llms.txt的写法和侧重点应该有所不同。

电商网站: 重点展示产品分类结构、核心品类页面、退换货政策、物流说明、品牌故事。可以把热门产品和促销页面放在主列表中,长尾产品放在Optional段落。

SaaS产品网站: 重点展示产品功能文档、API参考、集成指南、定价页面、客户案例。开发者文档尤其重要——AI编程助手(如Cursor、Copilot)会频繁查询这类内容。

内容型网站/博客: 重点展示核心主题的支柱内容、最受欢迎的文章、作者信息、内容分类索引。可以按主题而不是按时间来组织链接。

企业官网: 重点展示公司介绍、业务范围、核心优势、联系方式、新闻资讯。确保品牌相关的核心事实(成立时间、团队规模、服务区域等)在描述中出现。

常见问题

llms.txt必须放在网站根目录吗?
是的,按照规范要求,llms.txt应该放在网站根目录下,通过/llms.txt路径访问。部分平台也支持.well-known/llms.txt路径作为备选。如果你的网站有子域名或子路径的独立项目,可以在各自的根路径下放置单独的llms.txt。

llms.txt和robots.txt的区别是什么?
robots.txt是告诉爬虫"哪些能抓、哪些不能抓",侧重访问控制;llms.txt是告诉AI"哪些内容最重要、最值得你了解",侧重内容策划。两者的目标对象和功能完全不同,应该同时部署、协同配合。

网站内容更新后,llms.txt需要同步更新吗?
需要。尤其是当你新增了重要页面、删除了旧页面、或者修改了页面URL的时候,都应该及时更新llms.txt中的对应内容。如果使用Yoast SEO等插件,它会通过定时任务自动更新。手动维护的话,建议每月检查一次。

llms-full.txt有大小限制吗?
规范本身没有规定大小限制,但实际使用中需要考虑AI模型的token限制。目前主流模型的上下文窗口大多在12.8万到200万token之间,每个token大约对应0.75个英文单词。建议将llms-full.txt控制在合理范围内,过于庞大的文件可能会被截断或降低处理效率。

部署llms.txt后,AI搜索流量会立刻增加吗?
不会。目前各大AI平台尚未官方宣布支持llms.txt标准,部署后短期内可能看不到直接的流量变化。但它是GEO体系中的一个重要基础设施,属于提前布局的策略性投入。

不懂技术的人能自己做llms.txt吗?
完全可以。llms.txt本质就是一个Markdown文本文件,不需要任何编程知识。用记事本就能写,用FTP就能上传。如果你完全不熟悉Markdown语法,最简单的办法就是用llms.txt在线生成器输入网址一键生成,拿到结果后根据自己的业务需求做微调即可。

(本文最新更新时间:
TAG
相关文章
本文标题:《llms.txt是什么?手把手教你为网站生成llms.txt和llms-full.txt》
本文链接:https://zhangwenbao.com/llms-txt-guide.html
版权声明:本文原创,转载请注明出处和链接。许可协议:CC BY-NC-SA 4.0
发表新评论