Node.js AI 就绪度体检:一个脚本查清页面有没有为 AI 爬虫准备好

GEO(生成式引擎优化)的本质,是让你的页面能被 AI 爬虫正确抓取、准确理解。这需要几个要素配齐:robots.txt 允许 AI 爬虫、有结构化数据、标题层级清晰、内容够充实、最好还有 llms.txt。这些要素零零散散,单独查很麻烦。这篇写一个 Node.js 脚本,一次体检把 AI 就绪度的关键项全查一遍。

llms.txt 的标准看这里:llmstxt.org,结构化数据看这里:Google 结构化数据简介。

工具能检查什么

  1. 标题层级(H1、H2 数量)
  2. 结构化数据(JSON-LD、FAQ)
  3. 正文字数
  4. llms.txt 是否存在
  5. robots.txt 是否提到 GPTBot、ClaudeBot

用 Node.js 原生 fetch,不装任何依赖。

完整代码

// geo-ready.js
// 用途:综合体检页面对 AI 的友好度
// 运行:node geo-ready.js https://example.com
// 依赖:无(Node 18+ 自带 fetch)

const URL = process.argv[2] || 'https://example.com';

async function main() {
  const html = await (await fetch(URL, { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0' } })).text();

  const h1 = (html.match(/<h1[^>]*>/gi) || []).length;
  const h2 = (html.match(/<h2[^>]*>/gi) || []).length;
  const jsonld = (html.match(/application\/ld\+json/gi) || []).length;
  const hasFaq = /FAQPage/i.test(html);
  const bodyText = html
    .replace(/<script[\s\S]*?<\/script>/gi, '')
    .replace(/<style[\s\S]*?<\/style>/gi, '')
    .replace(/<[^>]+>/g, ' ')
    .replace(/\s+/g, ' ')
    .trim();

  let robots = '';
  let llms = false;
  try {
    robots = await (await fetch(new URL('/robots.txt', URL).href, { headers: { 'User-Agent': 'Mozilla/5.0' } })).text();
  } catch (e) {}
  try {
    const r = await fetch(new URL('/llms.txt', URL).href, { headers: { 'User-Agent': 'Mozilla/5.0' } });
    llms = r.status === 200;
  } catch (e) {}

  console.log('===== AI 就绪度体检 =====');
  console.log('标题层级: H1', h1, '个, H2', h2, '个', h1 !== 1 ? '(H1 建议 1 个)' : '');
  console.log('结构化数据 JSON-LD:', jsonld, '段');
  console.log('FAQ 结构化数据:', hasFaq ? '有' : '无');
  console.log('正文字数:', bodyText.length);
  console.log('llms.txt:', llms ? '存在' : '不存在(建议补一份)');
  console.log('robots.txt 提到 GPTBot:', /GPTBot/i.test(robots) ? '是' : '否');
  console.log('robots.txt 提到 ClaudeBot:', /ClaudeBot/i.test(robots) ? '是' : '否');
  console.log('\n说明:这些要素越齐全,AI 爬虫越容易正确抓取并理解你的页面');
  console.log('===== 结束 =====');
}

main();

怎么用

node geo-ready.js https://你的域名

运行后逐项看,缺哪项补哪项。

三个 AI 就绪度的关键项

llms.txt 是给 AI 的"自我介绍"。 这份放在根目录的文件,一句话说清你是谁、列几个重点页面。AI 爬虫第一次来,读它就能快速抓住核心。没有它,AI 只能自己瞎猜。

结构化数据是"官方标签"。 JSON-LD 告诉 AI 这页是产品、是 FAQ 还是公司,价格多少、评分多少。没有它,AI 靠猜,猜错概率就高。

robots.txt 是"准入证"。 如果 robots.txt 里没提到 GPTBot、ClaudeBot,或者干脆把它们 Disallow 了,AI 爬虫要么不来、要么进不来。想被 AI 引用,先确认准入没问题。

写在最后

AI 就绪度不是玄学,就是这几个具体要素:准入(robots)、自我介绍(llms.txt)、标签(结构化数据)、清晰的内容结构。这个脚本把它们一次查全,缺什么补什么,页面对 AI 的友好度就有底了。

觉得有用欢迎点赞、收藏、转发,有疑问评论区留言或私信交流。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐