随着 AI 搜索、AI Agent、RAG 检索以及 GEO 优化逐渐受到关注,网站除了传统的 sitemap.xml、robots.txt 之外,也可以增加一份面向 AI 系统的内容地图。

目前比较常见的一种方案就是在网站根目录提供:
/llms.txt
例如:
https://www.xianjuezhe.com/llms.txt
它可以使用 Markdown 格式整理网站的核心栏目、产品、文章以及重要页面,让支持这种格式的 AI Agent 或内容检索系统更容易了解网站结构。
对于使用 PbootCMS 建站的网站来说,直接上传一个固定的 llms.txt 文件当然可以,但如果网站内容经常更新,更实用的方法是让 PbootCMS 动态生成 AI 内容地图。
本文介绍一种比较简单的实现方式:PbootCMS + PHP AI 内容地图 + 伪静态规则,实现 /llms.txt 直接访问。
一、什么是 llms.txt?
简单来说,llms.txt 可以理解成一份专门给 AI 阅读的网站内容导航。
传统网站通常会配置:
robots.txt:告诉搜索引擎爬虫哪些内容允许或不允许访问
sitemap.xml:告诉搜索引擎网站有哪些 URL
llms.txt:以更加适合语言模型理解的方式整理网站的重要内容
需要注意的是,llms.txt 并不是用来控制 AI 爬虫权限的文件,也不能代替 robots.txt。它更接近一份网站内容索引或导航文件。
目前的 llms.txt 提案通常采用 Markdown 格式,并以网站名称作为 H1,下面可以按照产品、服务、文章等类型整理链接。
例如:
# 某某科技有限公司 > 某某科技是一家专注于工业设备研发与生产的企业。 ## 产品中心 - [振动筛](https://www.xianjuezhe.com/product/zhendongshai/): 振动筛产品介绍 - [超声波振动筛](https://www.xianjuezhe.com/product/chaoshengbo/): 超声波振动筛产品介绍 ## 技术文章 - [振动筛选型方法](https://www.xianjuezhe.com/article/123.html): 振动筛选型技术文章 - [设备维护方法](https://www.xianjuezhe.com/article/124.html): 设备维护相关内容
这样 AI 系统读取 /llms.txt 后,可以快速了解网站有哪些核心内容。
二、为什么PbootCMS需要配置伪静态?
PbootCMS 本身支持伪静态。
官方文档显示,PbootCMS 2.X、3.X 可以通过伪静态规则将 URL 请求交给 index.php 处理。Apache、IIS 和 Nginx 的配置方式有所不同,其中 Nginx 通常需要手动配置 rewrite 规则。
例如 PbootCMS 常见的 Nginx 规则:
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?p=$1 last;
}
}它的工作逻辑可以简单理解为:
访问网站URL ↓ 判断文件或目录是否真实存在 ↓ 如果不存在 ↓ 交给 index.php ↓ PbootCMS 根据 p 参数处理请求
问题也正是在这里。
如果我们希望访问:
https://www.xianjuezhe.com/llms.txt
而服务器根目录并不存在真正的 llms.txt 文件,那么这个请求很可能会被 PbootCMS 的通用伪静态规则接管。
因此,实现 AI 内容地图时,需要给 /llms.txt 增加一条独立规则。
三、PbootCMS实现AI内容地图的基本结构
建议把 AI 内容地图 PHP 文件单独放在网站根目录。
例如网站结构:
网站根目录/ │ ├── index.php ├── config/ ├── core/ ├── static/ ├── template/ │ ├── ai-map.php ├── robots.txt ├── sitemap.xml └── ...
这里的:
ai-map.php
就是我们生成 AI 内容地图的 PHP 程序。
最终希望实现:
https://www.xianjuezhe.com/llms.txt
实际上由:
ai-map.php
动态生成内容。
整个访问关系可以理解为:
用户/AI访问 ↓ /llms.txt ↓ Nginx伪静态规则 ↓ ai-map.php ↓ 读取PbootCMS网站内容 ↓ 生成Markdown ↓ 返回llms.txt
这样就不需要每次更新文章后手工修改 llms.txt。
四、Nginx环境配置/llms.txt伪静态
如果你的 PbootCMS 使用 Nginx,推荐在原来的 PbootCMS 伪静态规则前面增加:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}然后保留 PbootCMS 原来的规则:
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?p=$1 last;
}
}完整示例:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?p=$1 last;
}
}这里最关键的一点是:
location = /llms.txt
使用了精确匹配。
当访问:
/llms.txt
时,Nginx 优先把请求交给:
ai-map.php
而其他网站 URL 继续交给 PbootCMS。
PbootCMS 官方 Nginx 伪静态规则本身就是通过不存在的文件交给 index.php?p=... 处理,因此单独给 /llms.txt 增加规则,可以避免它进入普通 CMS 路由。
五、宝塔面板怎么配置?
如果使用宝塔管理 PbootCMS 网站,可以进入:
网站 ↓ 找到对应网站 ↓ 设置 ↓ 伪静态
如果原来已经存在 PbootCMS 伪静态代码,不要直接删除。
只需要在规则前面增加:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}例如:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?p=$1 last;
}
}保存之后,再访问:
https://你的域名/llms.txt
如果能够正常显示 Markdown 内容,说明伪静态已经生效。
六、Apache环境配置
如果网站使用 Apache,可以通过 .htaccess 实现。
PbootCMS 官方提供的 Apache 伪静态规则,本质上是将不存在的文件和目录交给 index.php?p=... 处理。
可以在 PbootCMS 原有规则前增加:
RewriteEngine On RewriteRule ^llms\.txt$ ai-map.php [L]
然后再保留 PbootCMS 的规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?p=$1 [QSA,PT,L]完整示例:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# AI内容地图
RewriteRule ^llms\.txt$ ai-map.php [L]
# PbootCMS伪静态
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?p=$1 [QSA,PT,L]
</IfModule>这里一定要注意规则顺序。
AI 内容地图规则应该放在 PbootCMS 通用规则之前。
否则 /llms.txt 可能会先被:
RewriteRule ^(.*)$ index.php?p=$1
捕获。
七、IIS环境怎么配置?
如果网站运行在 IIS,可以通过 web.config 配置 URL Rewrite。
基本思路也是一样:
/llms.txt ↓ ai-map.php
示例:
<rule name="llms_txt" stopProcessing="true"> <match url="^llms\.txt$" /> <action type="Rewrite" url="ai-map.php" /> </rule>
然后再配置 PbootCMS 原有的 URL Rewrite。
PbootCMS 官方文档也提供了 IIS7+ 的 Rewrite 配置方式。
八、为什么不直接使用真实的llms.txt文件?
如果网站内容比较少,可以直接建立:
llms.txt
然后手工维护。
这种方式最简单。
但对于 PbootCMS 企业站来说,网站通常会持续增加:
产品 案例 新闻 技术文章 解决方案 行业知识
如果每增加一篇文章都手工修改 llms.txt,维护成本会比较高。
因此更推荐:
/llms.txt ↓ 动态PHP程序 ↓ 自动读取网站内容 ↓ 自动生成Markdown
这样网站内容更新后,AI 内容地图也可以同步更新。
九、AI内容地图建议包含哪些内容?
并不是把网站所有 URL 全部塞进 llms.txt 就一定更好。
更建议按照网站内容重要程度进行整理。
例如企业网站可以设计成:
# 企业名称 > 企业简介 ## 核心产品 - 产品1 - 产品2 - 产品3 ## 解决方案 - 解决方案1 - 解决方案2 ## 技术文章 - 技术文章1 - 技术文章2 ## 关于我们 - 公司介绍 - 联系我们
对于工业企业网站,可以进一步按照产品体系划分:
# 某某机械 > 专业从事筛分、过滤、输送设备研发与生产。 ## 核心产品 - 振动筛 - 超声波振动筛 - 直线振动筛 - 旋振筛 - 脱水筛 - 叶片过滤机 ## 应用领域 - 锂电池材料 - 化工粉体 - 食品 - 医药 - 矿山 - 煤炭 ## 技术文章 - 振动筛选型方法 - 振动筛处理量计算 - 超声波振动筛使用方法
这种结构比单纯罗列大量 URL 更容易阅读和维护。
十、PbootCMS AI内容地图PHP程序应该做什么?
如果采用动态生成方式,PHP 程序主要完成以下工作:
1. 设置响应类型
因为 /llms.txt 输出的是 Markdown 文本,所以可以设置:
header('Content-Type: text/plain; charset=utf-8');也可以根据服务器环境使用适合 Markdown 文本的 MIME 类型。
2. 获取网站基础信息
例如:
网站名称 网站地址 网站简介
3. 获取PbootCMS栏目
例如:
产品中心 新闻中心 技术文章 解决方案 关于我们
4. 获取重要内容
例如:
文章标题 文章链接 文章简介 发布时间
5. 按Markdown格式输出
最终生成:
# 网站名称 > 网站简介 ## 产品中心 - [产品名称](https://www.xianjuezhe.com/product/1.html): 产品介绍 ## 技术文章 - [文章标题](https://www.xianjuezhe.com/article/1.html): 文章简介
这样浏览器访问:
/llms.txt
看到的就是一份完整的 AI 内容地图。
十一、配置完成后如何测试?
配置完成后,建议按照下面的方法逐项测试。
第一步:测试网站正常访问
打开:
https://你的域名/
确认首页正常。
第二步:测试普通PbootCMS页面
例如:
https://你的域名/about/
或者:
https://你的域名/news/
确认原来的伪静态没有受到影响。
第三步:测试AI内容地图
打开:
https://你的域名/llms.txt
如果能够看到:
# 网站名称 > 网站简介 ## 产品中心 - [产品A](...) - [产品B](...) ## 技术文章 - [文章A](...) - [文章B](...)
说明基本配置成功。
第四步:检查HTTP状态码
正常情况下:
HTTP/1.1 200 OK
不要出现:
404 Not Found
也不要出现:
500 Internal Server Error
第五步:检查是否被PbootCMS接管
如果打开:
/llms.txt
却出现:
首页
或者:
404页面
通常说明 /llms.txt 没有正确优先匹配到 ai-map.php。
这时重点检查伪静态规则顺序。
十二、常见问题
问题1:访问/llms.txt显示404
首先检查:
ai-map.php
是否真的位于网站根目录。
然后检查 Nginx:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}是否保存成功。
问题2:访问/llms.txt跳到了网站首页
这种情况通常是 PbootCMS 通用伪静态规则先处理了请求。
检查:
location = /llms.txt
是否位于正确的位置,并确认 Nginx 配置已经重新加载。
问题3:PHP程序可以访问,但是/llms.txt不能访问
可以先直接测试:
https://你的域名/ai-map.php
如果:
ai-map.php
可以正常输出,而:
/llms.txt
不能访问,那么问题通常在 Rewrite 配置,而不是 PHP 程序本身。
问题4:更新文章后llms.txt没有变化
如果采用的是动态 PHP 生成方式,需要检查程序是否真正读取了 PbootCMS 数据库。
如果使用缓存,也需要检查缓存时间。
如果希望内容实时更新,可以不设置缓存,或者设置较短的缓存时间。
十三、llms.txt不是robots.txt的替代品
这一点非常重要。
不要把:
robots.txt
和:
llms.txt
理解成同一种东西。
两者用途不同:
robots.txt ↓ 爬虫访问规则 sitemap.xml ↓ 网站URL地图 llms.txt ↓ AI内容导航
llms.txt 本身并不负责授权或禁止 AI 访问网站内容。相关访问策略仍然应该通过 robots.txt 等机制处理。
因此,一个完整的网站 AI 内容基础设施可以设计成:
robots.txt + sitemap.xml + llms.txt + 结构化数据 + 清晰的网站内容结构
而不是只依赖一个 llms.txt。
十四、PbootCMS配置AI内容地图的完整流程
整个实现过程可以归纳为:
第一步 PbootCMS后台开启伪静态 ↓ 第二步 根据服务器环境配置Nginx / Apache / IIS ↓ 第三步 创建ai-map.php ↓ 第四步 编写AI内容地图生成逻辑 ↓ 第五步 配置 /llms.txt → ai-map.php ↓ 第六步 访问 /llms.txt 测试 ↓ 第七步 检查HTTP 200状态 ↓ 第八步 检查Markdown内容 ↓ 第九步 持续更新网站核心内容
十五、总结
对于 PbootCMS 网站来说,实现:
https://www.xianjuezhe.com/llms.txt
并不复杂。
核心其实只有两个部分:
第一部分是 AI 内容地图生成程序。
负责从 PbootCMS 网站中读取栏目、产品、文章等内容,并按照 Markdown 格式生成 AI 内容地图。
第二部分是伪静态规则。
负责把:
/llms.txt
映射到:
/ai-map.php
以 Nginx 为例,核心代码就是:
location = /llms.txt {
rewrite ^/llms\.txt$ /ai-map.php last;
}然后再保留 PbootCMS 原有的伪静态规则。
最终实现:
AI访问 /llms.txt ↓ Nginx Rewrite ↓ ai-map.php ↓ 读取PbootCMS内容 ↓ 生成Markdown ↓ 返回AI内容地图
这种方式相比手工维护一个固定的 llms.txt 文件,更适合持续更新内容的企业网站。
需要注意的是,当前 llms.txt 仍属于新兴的 AI 内容发现约定,并不能保证某个具体 AI 平台一定读取或使用它。因此,企业网站进行 AI 优化时,仍然应该把重点放在真实、有价值、结构清晰、可访问的网站内容上,而不是只增加一个文件。