# 为什么你的官网内容 AI 抓不到？6 个必须做的技术优化

> 很多企业官网做了 SEO 却搜不到，原因是内容靠 JavaScript 渲染、缺少结构化数据与 llms.txt。本文给出 6 个让 AI 智能体稳定抓取官网内容的具体做法。

AI 搜索正在取代一部分传统搜索流量。用户不再点开十个链接，而是直接问 AI「哪家公司能做企业人脸识别考勤」，AI 给出一段答案和三个来源。问题在于：**如果你的官网内容 AI 读不到，你就不会出现在那三个来源里。**

我们帮客户做官网时，发现绝大多数站点不是内容不好，而是技术上「AI 读不到」。以下 6 条是最关键也最容易忽略的。

## 1. 内容必须出现在 HTML 源码里，不能靠 JS 渲染

这是第一大坑。很多官网用 Vue / React 做成 SPA，用户看到的内容是浏览器执行 JavaScript 后拼出来的，而 AI 爬虫多数**不执行 JavaScript**，抓到的只是一个空壳 `<div id="app"></div>`。

解决办法是静态生成（SSG）：构建时就把 Markdown 渲染成完整 HTML，访问者和爬虫拿到的是同一份带内容的源码。本站就是这么做的——你在页面上看到的每一个字，都在 `view-source` 里。

## 2. 提供 llms.txt，直接告诉 AI 你的站点结构

`llms.txt` 是社区提出的规范（llmstxt.org），放在站点根目录，用 Markdown 写清楚「我是谁、有哪些内容、每个链接讲什么」。相比让 AI 从零解析整站 HTML，它把理解成本降到最低。

格式很简单：一个 `#` 站点名、一段 `>` 简介，然后是分组的链接列表：

```markdown
# 趣天通讯

> 企业级软件开发与 AI 智能体定制服务商，成立于 2014 年。

## 核心业务
- [核心业务](https://www.oibuy.com.cn/services.html)：定制开发、云计算、大数据、智能体与小程序
- [软件下载](https://www.oibuy.com.cn/download.html)：登录后下载客户端
```

## 3. 每个页面加 JSON-LD 结构化数据

结构化数据是把「这段文字是什么」显式告诉机器。企业站最有价值的几种：

- `Organization`：公司名称、logo、联系方式、社媒账号
- `SoftwareApplication` + `Offer`：软件产品与价格
- `FAQPage`：常见问题，容易被 AI 直接引用
- `Article`：博客文章，带作者与发布时间
- `BreadcrumbList`：页面层级

加了之后，AI 能准确知道「13880670331 是这个公司的联系电话」，而不是靠猜。

## 4. 给页面留一份 Markdown 镜像

本站每个页面都有一份 `/raw/xxx.md` 的纯 Markdown 版本，并在 HTML 里用 `<link rel="alternate" type="text/markdown">` 声明。

这样做的好处是：AI 拿到的正文没有导航、页脚、广告这些噪音，理解准确率更高。对内容团队也更友好——Markdown 本来就是写作格式。

## 5. robots.txt 要主动放行 AI 爬虫

不少站点为了省带宽，在 robots.txt 里一刀切封了所有爬虫，结果把 AI 也封了。正确做法是**显式列出**你希望放行的爬虫：

```
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Bytespider
Allow: /
```

同时用 `Sitemap:` 指向站点地图，让抓取更完整。

## 6. 用语义化标签 + 稳定的内容结构

AI 解析页面时会找 `<h1>`、`<article>`、`<main>`、`<time datetime>` 这些语义标签来判断层级和时间。全站用 `<div>` 堆出来的页面，机器只能靠视觉猜。

建议每篇文章：一个页面只有一个 `<h1>`，小节用 `<h2>`／`<h3>`，发布时间用 `<time datetime="2026-09-08">`。

## 小结

把这六件事做齐，AI 抓取基本上不会有问题。优先级排序是：**静态渲染 > llms.txt > 结构化数据 > Markdown 镜像 > robots.txt > 语义化标签**。

如果你希望官网改造成对 AI 友好、并且内容更新只需要改 Markdown 文件，可以联系我们聊聊。
