GEO 审计——生成式引擎优化审计
目的
对 asdlc.io 代码库执行全面的生成式引擎优化(GEO)审计。GEO 是一种优化 Web 内容的实践,使 AI 系统(ChatGPT、Claude、Perplexity、Gemini 等)能够发现、理解、引用和推荐该内容。
ASDLC.io 是一个发布者/知识库站点——一个静态 Astro 站点,用于记录 Agentic SDLC 模式。审计重点关注内容、模式和技术基础设施如何支持 AI 引用和推荐。
站点类型: 部署在 Netlify 上的静态 Astro 5.x 站点
域名: https://asdlc.io
内容模型: 三个集合(概念、模式、实践),并暴露 MCP 服务器
边界
- 审计范围: 审计 AI 可引用性、技术 GEO 基础设施、E-E-A-T、模式/结构化数据以及 MCP 优化;生成
docs/reports/GEO-AUDIT-REPORT.md。 - 非审计范围: 实施代码或内容更改(
dev)、修改规格(spec)、发布或推送(ship)。
审计工作流
阶段 0:在线网站现实性检查
在深入源码之前,先抓取在线网站以验证 AI 爬虫实际看到的内容。这有助于捕获构建时的错误,即源代码看起来正确但渲染输出有误。
第 1 步:抓取关键页面
使用 WebFetch / HTTP 检索从 https://asdlc.io 抓取以下页面的渲染 HTML:
- 首页(
/) - 每个集合中的一篇文章(例如,
/concepts/agentic-sdlc、/patterns/第一个列出的、/practices/第一个列出的) /robots.txt/sitemap-index.xml(或/sitemap.xml)/llms.txt
每次抓取强制执行 30 秒超时。如果在线网站无法访问,记录失败并继续仅进行代码库分析。
第 2 步:渲染输出验证
对于每个抓取的页面,提取并记录:
- 实际的
<title>和<meta name="description">——它们是否与源代码意图一致? - JSON-LD 块 ——解析每个
<script type="application/ld+json">,并验证渲染 HTML 中实际存在的模式类型和字段。 - Open Graph 标签 ——提取
og:title、og:description、og:image、og:url、og:type。 - 规范 URL ——
<link rel="canonical">是否正确解析? - 标题结构 ——是否恰好有一个
<h1>?标题层次结构是否合理? - 内容可访问性 ——主要内容是位于语义 HTML(
<article>、<main>、<section>)中,还是深埋在 JS 渲染的 div 中? - 响应头 ——注意
X-Robots-Tag、Cache-Control以及任何与 AI 相关的标头。
第 3 步:源码与渲染差异
标记源代码定义与渲染输出之间的任何差异:
- 组件中定义的模式标记但未在页面上渲染
- 前端头中定义的元描述但未出现在渲染的
<head>中 - 站点地图中列出但返回 404 的页面,或应列出但缺失的页面
robots.txt指令与标头配置不匹配
将所有差异记录在最终报告中,并放在专门的“源码与渲染差异”部分下。
阶段 1:代码库深度分析
分析源代码中无法从渲染输出中观察到的一切——内容质量、关系密度、MCP 内部机制、所有页面上的模式完整性。
第 1 步:内容清单
- 使用
list_articles获取完整的文章清单。 - 读取
src/content/config.ts以了解模式和前头字段。 - 使用 glob 查找
src/content/**/*.{md,mdx}以统计总内容文件数。 - 对于每个集合(概念、模式、实践),记录:
- 总文章数和状态分布(有效、实验性、草稿)
- 字数采样(每个集合读取 3-5 篇文章)
- 前头完整性(描述、标签、relatedConcepts 等)
第 2 步:技术基础设施扫描
- 读取
public/robots.txt——检查 AI 爬虫指令(GPTBot、ClaudeBot、PerplexityBot 等) - 检查是否存在
public/llms.txt或public/.well-known/llms.txt。 - 读取
astro.config.mjs——检查站点地图集成、站点 URL、输出配置。 - 读取
src/layouts/BaseLayout.astro——检查元标签、结构化数据注入点。 - 读取
src/components/SEOMetadata.astro——审计 Open Graph、Twitter Cards、规范 URL。 - 检查 astro 配置中的站点地图集成。
- 验证 MCP 服务器设置:读取
netlify/edge-functions/mcp.ts或类似文件。
第 3 步:模式与结构化数据扫描
- 在所有
.astro文件中搜索application/ld+json——编目所有 JSON-LD 块。 - 搜索 schema.org 类型:Article、TechArticle、WebSite、Organization、BreadcrumbList、FAQPage、HowTo。
- 读取任何模式生成组件或工具。
- 检查文章页面、索引页面和首页上是否存在模式。
阶段 2:并行分析
跨 5 个核心类别分析收集的数据,并计算得分(0-100)以及发现:
- AI 可引用性分析(权重:30%) ——段落自包含性、答案块密度、定义清晰度、结构可导航性。
- 内容 E-E-A-T 质量(权重:25%) ——归因质量、引用密度、内容深度、新鲜度、权威信号。
- 技术 GEO 基础设施(权重:15%) ——爬虫访问、可发现性信号、渲染方法、MCP 暴露。
- 模式与结构化数据(权重:15%) ——模式覆盖范围、类型多样性、字段完整性、验证正确性。
- 知识库与 MCP 优化(权重:15%) ——MCP 完整性、清单质量、关系密度、代理可导航性。
阶段 3:得分聚合与报告
计算综合 GEO 得分:
GEO_Score = (可引用性 * 0.30) + (E-E-A-T * 0.25) + (技术 * 0.15) + (模式 * 0.15) + (MCP * 0.15)
按照既定的标准报告模板生成 docs/reports/GEO-AUDIT-REPORT.md。
$ARGUMENTS