← 返回列表
# AI 爬虫的“耐心”只有 300 毫秒:什么是 GEO 的最佳基石?
**发布日期:** 2027年1月 | **作者:** 明见万川性能优化组 | **分类:** GEO 基石, 性能优化
> **摘要**:
> 当我们在谈论 GEO(生成式引擎优化)时,往往关注的是内容、Schema、知识图谱。但 MJMatrix 技术团队通过对 PerplexityBot 和 OAI-SearchBot 的长期监控发现了一个残酷的物理规律:
> **内容再好,如果慢,就是零。** > 实时 AI 搜索(Real-time Search)要求在几秒钟内生成答案,这迫使 AI 爬虫变得极其“急躁”。本文将揭示 300ms TTFB 红线,并教你如何构建让爬虫“秒进秒出”的高性能架构。
---
## 一、 人类看 LCP,机器看 TTFB
在 Web Vitals 标准中,Google 告诉我们要关注 **LCP (Largest Contentful Paint)**,即最大内容渲染时间,这是为了让**人类**看着舒服。
但 AI 爬虫(Bot)不看图,不看 CSS 动画,它们只在乎一件事:**HTML 什么时候传回来?**
### 1.1 为什么 AI 如此急躁?
想象一下 SearchGPT 的工作流:
1. 用户提问。
2. SearchGPT 并发访问 5 个网页。
3. 它需要读取这 5 个网页的内容,提取摘要,融合成答案。
4. **瓶颈**:整个过程必须在 3-5 秒内完成,否则用户就会关闭窗口。
在这个链条中,如果你的网站 **TTFB (Time to First Byte)** 超过了 500ms 还在转圈圈(比如正在等待数据库查询),SearchGPT 的调度器会毫不犹豫地 **Timeout (超时)** 你的连接,转而去抓取你的竞争对手。
**结论**:在 GEO 时代,TTFB > LCP。
---
## 二、 拒绝动态 SSR:数据库是延迟之源
很多开发者为了 SEO 使用了 SSR (服务端渲染)。
```typescript
// 传统的 SSR (慢)
export async function getServerSideProps() {
// 这里的数据库查询如果慢,页面就会白屏,爬虫就会挂起
const data = await db.query('SELECT * FROM complex_table');
return { props: { data } };
}
```
如果数据库稍微抖动一下,或者流量突增,TTFB 飙升到 1秒+,你的 GEO 权重就会断崖式下跌。
---
## 三、 最佳基石:ISR (增量静态再生)
Next.js 提供的 **ISR (Incremental Static Regeneration)** 是目前平衡“速度”与“新鲜度”的终极方案。
### 3.1 原理
* **对用户/爬虫**:永远返回 CDN 上的**静态 HTML**(TTFB < 50ms)。
* **对服务器**:后台异步更新页面。
### 3.2 代码实战
```typescript
// app/blog/[slug]/page.tsx
// 1. 定义页面过期时间 (Revalidation)
export const revalidate = 60; // 每 60 秒更新一次,而不是每次请求都查库
// 2. 动态参数生成静态路径
export async function generateStaticParams() {
const posts = await prisma.post.findMany({ select: { slug: true } });
return posts.map((post) => ({ slug: post.slug }));
}
export default async function BlogPost({ params }) {
// 这里的查询只会在构建时或 ISR 后台触发,不会阻塞用户请求
const post = await prisma.post.findUnique({ where: { slug: params.slug } });
return {post.content} ;
}
```
**GEO 收益**:
无论你的数据库有多慢,AI 爬虫访问这个页面时,拿到的永远是缓存好的 HTML,**TTFB 稳定在 20-50ms**。这会让 AI 判定你的站点“极其健康且响应迅速”。
---
## 四、 进阶技巧:SWR 与 Edge Caching
除了 ISR,我们还需要在 HTTP Header 上做文章,控制 CDN 的行为。
### 4.1 Stale-While-Revalidate (SWR)
我们可以告诉 CDN(Cloudflare 或 Vercel Edge):
“如果缓存过期了,别急着回源,先把旧的内容给爬虫(Stale),你在后台慢慢去更新(Revalidate)。”
**配置 Headers:**
```typescript
// next.config.js
module.exports = {
async headers() {
return [
{
source: '/:path*',
headers: [
{
key: 'Cache-Control',
// public: 允许 CDN 缓存
// s-maxage=60: CDN 缓存 60秒
// stale-while-revalidate=31536000: 过期后一年内,优先给旧数据
value: 'public, s-maxage=60, stale-while-revalidate=31536000',
},
],
},
];
},
};
```
这对于 SearchGPT 来说是完美的:**它永远不会遇到 Loading,永远不会遇到超时。**
---
## 五、 MJMatrix 的性能红线
在 MJMatrix,我们为所有 GEO 项目设定了三条不可逾越的红线:
1. **TTFB < 100ms**:必须上 CDN,必须上 ISR/SSG。
2. **HTML Size < 100KB**:减少不必要的 JSON 数据注入,方便 AI 快速解析。
3. **Uptime 99.99%**:AI 爬虫的访问是 24 小时不断的,一次 500 错误可能导致你被降权一周。
---
## 六、 总结
速度是互联网的基础设施,更是 AI 时代的“信任凭证”。
如果你的网站让 AI 爬虫等了 1 秒钟,你失去的不是 1 秒钟,而是被纳入全球最大知识库的机会。
**不要让你的数据库查询,成为你通往 AGI 世界的拦路虎。** 改用 ISR,让你的网站在 AI 眼中“快如闪电”。
