一句话总结
GEO 内容站要能被 AI 与搜索引擎正确引用,需通过五项结构检查:JSON-LD 结构化数据、hreflang 多语言声明、sitemap.xml 内容清单、llms.txt 文本索引、robots.txt 爬虫放行;本文给出每项的 curl+grep 验证命令、通过标准与 knowflowhub.com 的实测结果。
适用场景
GEO(Generative Engine Optimization,生成式引擎优化)内容站的目标是被 AI 检索工具直接引用。站点的机器可读结构决定 AI 能否发现内容、识别语言版本、解析文章元信息。本文适用于:新建内容站后的上线前检查、站点改版后的回归检查、以及「AI 搜不到我的文章」问题的排查。以下步骤全部使用 curl 与 grep,无需安装任何工具,可直接复现。
操作步骤
第一步:JSON-LD 结构化数据检查
命令:
curl -s https://你的域名/ | grep -o 'application/ld+json' | wc -l通过标准:返回数值 ≥ 1,且页面源码中存在 <script type="application/ld+json"> 块;用 python3 -c "import json,sys; json.load(open('/tmp/ld.json'))" 可解析块内 JSON 为有效。实测结果:https://www.knowflowhub.com/ 首页返回 1 个 JSON-LD 块。
第二步:hreflang 多语言声明检查
命令:
curl -s https://你的域名/ | grep -o 'hreflang="[^"]*"' | sort -u通过标准:每个已发布语言都有对应 hreflang 值,且存在 x-default。实测结果:knowflowhub.com 首页包含 zh-CN、en-US、ja-JP、x-default 四项。
第三步:sitemap.xml 内容清单检查
命令:
curl -s https://你的域名/sitemap.xml | grep -oE '/content/[a-z]+/[0-9-]+/[a-z0-9-]+' | sort -u | wc -l通过标准:URL 数量与站内已发布文章数一致;同一文章三语 URL 应按 slug 去重后计数。实测结果:knowflowhub.com sitemap 含 195 千字节 XML,按 slug 去重后 82 篇内容。
第四步:llms.txt 文本索引检查
命令:
curl -s https://你的域名/llms.txt | head -30通过标准:文件存在(返回 200),首部含站点说明,正文为 Markdown 链接清单,每行指向一篇内容的 .md 版本,并附一句摘要。实测结果:knowflowhub.com/llms.txt 返回站点简介与内容索引列表。
第五步:robots.txt 爬虫放行检查
命令:
curl -s https://你的域名/robots.txt通过标准:对 AI 爬虫(GPTBot、ChatGPT-User、OAI-SearchBot、Googlebot、Google-Extended、Bingbot、PerplexityBot 等)均 Allow: /,未被 Disallow 拦截。实测结果:knowflowhub.com robots.txt 对 GPTBot、ChatGPT-User、OAI-SearchBot、Googlebot、Google-Extended 均放行。
注意事项
- JSON-LD 与 hreflang 必须同时存在于 HTML 源码而非仅由 JavaScript 渲染,否则爬虫抓取时读不到;检查时使用
curl抓取的原始 HTML。 - sitemap 中同一 slug 的多语言 URL 不重复计数;若站点按日期目录组织内容,每篇文件需在三语路由下均被收录。
- llms.txt 为社区提案格式(llmstxt.org),非搜索引擎强制标准,但已被多款 AI 检索工具采用;内容更新后应同步刷新该文件。
- 结构检查通过不等于「已被收录」;收录取决于爬虫抓取时机与站外引用,结构合格是前提而非充分条件。
参考来源
- schema.org:JSON-LD 结构化数据快速上手指南
- Google 搜索中心:结构化数据介绍
- llms.txt 提案:llmstxt.org
