章节 01
导读 / 主楼:llm-seo-audit:为中小企业打造的开源GEO审计工具
一款开源的GEO(生成式引擎优化)审计工具,帮助中小企业测量其在ChatGPT、Claude、Gemini、Perplexity等AI助手平台中的品牌可见度,并提供可操作的改进建议。
正文
一款开源的GEO(生成式引擎优化)审计工具,帮助中小企业测量其在ChatGPT、Claude、Gemini、Perplexity等AI助手平台中的品牌可见度,并提供可操作的改进建议。
章节 01
一款开源的GEO(生成式引擎优化)审计工具,帮助中小企业测量其在ChatGPT、Claude、Gemini、Perplexity等AI助手平台中的品牌可见度,并提供可操作的改进建议。
章节 02
llm-seo-audit是一款由nikoamoretti开发的开源GEO审计工具,专为中小企业设计。它能够系统性地测量企业在主流AI助手平台中的可见度,识别竞争对手,发现优化机会,并生成详细的审计报告。该工具采用Python构建,支持本地命令行使用,也提供API服务部署选项。\n\n## 核心功能与工作机制\n\n### 多平台AI可见度审计\n\n该工具的核心功能是向多个AI助手发送针对性的查询提示(prompts),分析返回结果中是否提及目标企业。支持的AI平台包括:\n\n- Claude(通过Anthropic API)\n- GPT系列(通过OpenAI API)\n- Gemini和Perplexity(通过相应的API接口)\n\n工具采用配置驱动的提示生成系统,位于config/prompt_profiles/目录下。默认配置适用于一般性商业审计,同时还提供针对特定行业的垂直覆盖配置,如牙医、水管工、律师等专业服务领域。提示模板会根据企业名称、行业类别、城市、服务区域以及可选的竞争对手列表进行动态渲染。\n\n### 网站就绪度评估\n\n除了AI可见度审计,该工具还包含一套网站就绪度评估系统。不同于简单的首页检查,它采用小型爬虫层进行多页面分析:\n\n- 抓取首页、导航页面和基于站点地图的内部URL\n- 在设定的爬取预算内完成内容采集\n- 提取企业事实信息、常见问题、信任信号、Schema类型和CTA信号\n\n爬虫系统具备智能降级机制。当网站受到Cloudflare等WAF保护时,工具会先尝试直接HTTP抓取,检测到拦截页面后,如果配置了Browserbase,会通过远程浏览器会话重试;如果未配置或仍然失败,则将该网站的就绪度检查标记为"不可用",而非返回错误数据。\n\n### 竞争对手分析\n\n工具能够识别在AI回答中频繁出现的竞争对手,分析其出现位置、引用来源和覆盖范围。这帮助企业了解自己在AI搜索生态中的竞争格局,发现被忽视的市场参与者。\n\n### 评分与推荐系统\n\n审计结果通过一套版本化的评分系统(score_v2)进行量化:\n\n- 就绪度评分:基于网站内容质量和结构化数据\n- 可见度评分:基于AI回答中的提及频率和位置\n- 最终得分:综合上述指标并应用相应的权重和惩罚\n\n推荐系统基于观察到的证据生成,每条建议都与受影响的具体评分组件关联,并提供实施提示。这种证据关联的设计确保了建议的可操作性和针对性。\n\n## 技术架构亮点\n\n### 模块化设计\n\n项目采用清晰的模块化架构:\n\n- src/core/:核心模型和审计构建器\n- src/crawl/:网页爬取和远程浏览器支持\n- src/entity/:实体信息提取\n- src/engines/:LLM查询执行适配器\n- src/analysis/:提及检测、引用提取、竞争对手分析\n- src/scoring/:评分计算\n- src/recommendations/:建议生成\n- src/presentation/:视图模型和报告渲染\n\n### 规范化数据模型\n\n工具定义了统一的AuditRun规范模型,所有数据流最终都汇聚到这个标准格式。这种设计使得API和CLI流程能够共享相同的底层逻辑,同时支持遗留适配器确保向后兼容。\n\n### 离线基准测试框架\n\n项目包含完整的基准测试和回归测试框架:\n\n- benchmarks/businesses.json:包含25个跨行业的中小企业测试集\n- benchmarks/expected_patterns.json:存储预期的评分区间、竞争对手模式、推荐关键词等\n- src/ops/benchmark_runner.py:离线重放测试并标记评分漂移\n- config/canary_prompts.yaml:每周监控引擎输出漂移的稳定提示集\n\n这种测试驱动的方法确保了代码变更不会意外影响审计结果的稳定性。\n\n### Cloudflare友好处理\n\n对于受WAF保护的网站,工具实现了诚实的处理机制:\n\n- 检测拦截页面(Cloudflare标记、验证码、过渡页标题)\n- 通过Browserbase的托管Chromium实例进行远程浏览器抓取\n- 使用connect_over_cdp方法,无需在Docker镜像中包含本地浏览器二进制文件\n- 如果无法绕过保护,将相关检查标记为"不可用"而非失败\n\n## 部署与使用方式\n\n### 环境变量配置\n\n工具使用以下环境变量,在Fly.io等平台可作为密钥设置:\n\n| 变量 | 必需 | 用途 |\n|------|------|------|\n| ANTHROPIC_API_KEY | 是(或OpenAI) | Claude查询 |\n| OPENAI_API_KEY | 是(或Anthropic) | GPT查询 |\n| BROWSERBASE_API_KEY | 可选 | 远程浏览器(Cloudflare绕过) |\n| BROWSERBASE_PROJECT_ID | 可选 | 远程浏览器项目ID |\n| GOOGLE_PLACES_API_KEY | 可选 | Google商家目录检查 |\n| YELP_API_KEY | 可选 | Yelp目录检查 |\n\n如果缺少某个密钥,审计会优雅降级,相关检查显示为"未检查"而非报错。\n\n### 命令行使用\n\nbash\npython audit.py \"企业名称\" \"行业\" \"城市, 州\" --url https://example.com\n\n\n### API服务部署\n\nbash\nuvicorn app:app --reload\n\n\nAPI返回的响应包含多个层次:\n\n- audit:规范的审计对象\n- summary:执行摘要、概览、优势、劣势、部分数据说明\n- score_cards:UI就绪的顶级指标\n- prompt_cluster_performance:按提示集群的表现\n- citation_source_breakdown:引用来源分析\n- top_competitors:主要竞争对手\n- readiness_gaps:就绪度缺口\n- top_recommendations:首要建议\n- implementation_checklist:实施检查清单\n\n### HTML报告与浏览器界面\n\n生成的报告聚焦于:\n\n- 执行摘要\n- 按提示集群的优势和劣势\n- 官方网站与第三方引用的对比\n- 竞争差距分析\n- 首要修复项和实施检查清单\n\n浏览器UI渲染器采用分节辅助函数设计,E2E测试通过Playwright在真实Chromium浏览器中运行。\n\n## 实际意义与应用场景\n\n### 营销团队的GEO战略\n\n对于负责数字营销的中小企业团队,这款工具提供了:\n\n- 基线测量:了解当前在AI平台中的可见度水平\n- 竞争情报:发现谁在AI回答中占据优势\n- 优化方向:基于证据的具体改进建议\n- 进度追踪:定期审计以监测改进效果\n\n### SEO顾问的服务扩展\n\n传统SEO顾问可以利用此工具:\n\n- 为客户提供GEO审计服务\n- 将AI可见度指标纳入常规报告\n- 识别内容策略中的GEO优化机会\n- 证明GEO工作的投资回报率\n\n### 本地化服务的特殊价值\n\n对于依赖本地客户的中小企业(如牙医、水管工、律师等),该工具的垂直配置特别有价值。这些行业的客户越来越多地通过AI助手寻找服务提供者,"在我附近的XX"类查询正在从传统搜索引擎转向AI对话。\n\n## 局限性与注意事项\n\n### API成本考量\n\n由于需要向多个AI平台发送查询,审计过程会产生API调用成本。企业应根据自己的规模和预算,合理规划审计频率。\n\n### 结果的时间敏感性\n\nAI助手的回答具有时效性,今天的审计结果可能几周后就会发生变化。建议建立定期审计机制,而非一次性检查。\n\n### 提示工程的重要性\n\n审计质量很大程度上取决于提示模板的设计。虽然工具提供了默认配置,但针对特定行业和地区的优化可能需要自定义提示配置文件。\n\n## 总结与展望\n\nllm-seo-audit代表了SEO领域向GEO演进的务实工具。它不试图取代传统SEO,而是为企业在AI搜索时代提供了一个可测量、可优化的新维度。对于资源有限的中小企业而言,这款开源工具降低了进入GEO领域的门槛,使其能够与拥有专业团队的大型企业同台竞技。\n\n随着AI助手在信息获取中的角色越来越重要,GEO将成为数字营销的标配而非可选项。尽早建立基线、理解竞争格局、实施针对性优化,将是中小企业在这一新战场中保持竞争力的关键。章节 03
llm-seo-audit:为中小企业打造的开源GEO审计工具\n\n背景:AI搜索时代的品牌可见性挑战\n\n随着ChatGPT、Claude、Gemini、Perplexity等AI助手平台的普及,用户获取信息的方式正在发生根本性变化。传统SEO关注的是网页在搜索引擎结果页中的排名,而生成式引擎优化(Generative Engine Optimization,简称GEO)则关注品牌在AI生成回答中的出现频率和呈现质量。对于中小企业而言,这是一个全新的战场——如果你的业务在AI助手的回答中"隐形",你将错失大量潜在客户。\n\n项目概述:什么是llm-seo-audit?\n\nllm-seo-audit是一款由nikoamoretti开发的开源GEO审计工具,专为中小企业设计。它能够系统性地测量企业在主流AI助手平台中的可见度,识别竞争对手,发现优化机会,并生成详细的审计报告。该工具采用Python构建,支持本地命令行使用,也提供API服务部署选项。\n\n核心功能与工作机制\n\n多平台AI可见度审计\n\n该工具的核心功能是向多个AI助手发送针对性的查询提示(prompts),分析返回结果中是否提及目标企业。支持的AI平台包括:\n\n- Claude(通过Anthropic API)\n- GPT系列(通过OpenAI API)\n- Gemini和Perplexity(通过相应的API接口)\n\n工具采用配置驱动的提示生成系统,位于config/prompt_profiles/目录下。默认配置适用于一般性商业审计,同时还提供针对特定行业的垂直覆盖配置,如牙医、水管工、律师等专业服务领域。提示模板会根据企业名称、行业类别、城市、服务区域以及可选的竞争对手列表进行动态渲染。\n\n网站就绪度评估\n\n除了AI可见度审计,该工具还包含一套网站就绪度评估系统。不同于简单的首页检查,它采用小型爬虫层进行多页面分析:\n\n- 抓取首页、导航页面和基于站点地图的内部URL\n- 在设定的爬取预算内完成内容采集\n- 提取企业事实信息、常见问题、信任信号、Schema类型和CTA信号\n\n爬虫系统具备智能降级机制。当网站受到Cloudflare等WAF保护时,工具会先尝试直接HTTP抓取,检测到拦截页面后,如果配置了Browserbase,会通过远程浏览器会话重试;如果未配置或仍然失败,则将该网站的就绪度检查标记为"不可用",而非返回错误数据。\n\n竞争对手分析\n\n工具能够识别在AI回答中频繁出现的竞争对手,分析其出现位置、引用来源和覆盖范围。这帮助企业了解自己在AI搜索生态中的竞争格局,发现被忽视的市场参与者。\n\n评分与推荐系统\n\n审计结果通过一套版本化的评分系统(score_v2)进行量化:\n\n- 就绪度评分:基于网站内容质量和结构化数据\n- 可见度评分:基于AI回答中的提及频率和位置\n- 最终得分:综合上述指标并应用相应的权重和惩罚\n\n推荐系统基于观察到的证据生成,每条建议都与受影响的具体评分组件关联,并提供实施提示。这种证据关联的设计确保了建议的可操作性和针对性。\n\n技术架构亮点\n\n模块化设计\n\n项目采用清晰的模块化架构:\n\n- src/core/:核心模型和审计构建器\n- src/crawl/:网页爬取和远程浏览器支持\n- src/entity/:实体信息提取\n- src/engines/:LLM查询执行适配器\n- src/analysis/:提及检测、引用提取、竞争对手分析\n- src/scoring/:评分计算\n- src/recommendations/:建议生成\n- src/presentation/:视图模型和报告渲染\n\n规范化数据模型\n\n工具定义了统一的AuditRun规范模型,所有数据流最终都汇聚到这个标准格式。这种设计使得API和CLI流程能够共享相同的底层逻辑,同时支持遗留适配器确保向后兼容。\n\n离线基准测试框架\n\n项目包含完整的基准测试和回归测试框架:\n\n- benchmarks/businesses.json:包含25个跨行业的中小企业测试集\n- benchmarks/expected_patterns.json:存储预期的评分区间、竞争对手模式、推荐关键词等\n- src/ops/benchmark_runner.py:离线重放测试并标记评分漂移\n- config/canary_prompts.yaml:每周监控引擎输出漂移的稳定提示集\n\n这种测试驱动的方法确保了代码变更不会意外影响审计结果的稳定性。\n\nCloudflare友好处理\n\n对于受WAF保护的网站,工具实现了诚实的处理机制:\n\n- 检测拦截页面(Cloudflare标记、验证码、过渡页标题)\n- 通过Browserbase的托管Chromium实例进行远程浏览器抓取\n- 使用connect_over_cdp方法,无需在Docker镜像中包含本地浏览器二进制文件\n- 如果无法绕过保护,将相关检查标记为"不可用"而非失败\n\n部署与使用方式\n\n环境变量配置\n\n工具使用以下环境变量,在Fly.io等平台可作为密钥设置:\n\n| 变量 | 必需 | 用途 |\n|------|------|------|\n| ANTHROPIC_API_KEY | 是(或OpenAI) | Claude查询 |\n| OPENAI_API_KEY | 是(或Anthropic) | GPT查询 |\n| BROWSERBASE_API_KEY | 可选 | 远程浏览器(Cloudflare绕过) |\n| BROWSERBASE_PROJECT_ID | 可选 | 远程浏览器项目ID |\n| GOOGLE_PLACES_API_KEY | 可选 | Google商家目录检查 |\n| YELP_API_KEY | 可选 | Yelp目录检查 |\n\n如果缺少某个密钥,审计会优雅降级,相关检查显示为"未检查"而非报错。\n\n命令行使用\n\nbash\npython audit.py \"企业名称\" \"行业\" \"城市, 州\" --url https://example.com\n\n\nAPI服务部署\n\nbash\nuvicorn app:app --reload\n\n\nAPI返回的响应包含多个层次:\n\n- audit:规范的审计对象\n- summary:执行摘要、概览、优势、劣势、部分数据说明\n- score_cards:UI就绪的顶级指标\n- prompt_cluster_performance:按提示集群的表现\n- citation_source_breakdown:引用来源分析\n- top_competitors:主要竞争对手\n- readiness_gaps:就绪度缺口\n- top_recommendations:首要建议\n- implementation_checklist:实施检查清单\n\nHTML报告与浏览器界面\n\n生成的报告聚焦于:\n\n- 执行摘要\n- 按提示集群的优势和劣势\n- 官方网站与第三方引用的对比\n- 竞争差距分析\n- 首要修复项和实施检查清单\n\n浏览器UI渲染器采用分节辅助函数设计,E2E测试通过Playwright在真实Chromium浏览器中运行。\n\n实际意义与应用场景\n\n营销团队的GEO战略\n\n对于负责数字营销的中小企业团队,这款工具提供了:\n\n- 基线测量:了解当前在AI平台中的可见度水平\n- 竞争情报:发现谁在AI回答中占据优势\n- 优化方向:基于证据的具体改进建议\n- 进度追踪:定期审计以监测改进效果\n\nSEO顾问的服务扩展\n\n传统SEO顾问可以利用此工具:\n\n- 为客户提供GEO审计服务\n- 将AI可见度指标纳入常规报告\n- 识别内容策略中的GEO优化机会\n- 证明GEO工作的投资回报率\n\n本地化服务的特殊价值\n\n对于依赖本地客户的中小企业(如牙医、水管工、律师等),该工具的垂直配置特别有价值。这些行业的客户越来越多地通过AI助手寻找服务提供者,"在我附近的XX"类查询正在从传统搜索引擎转向AI对话。\n\n局限性与注意事项\n\nAPI成本考量\n\n由于需要向多个AI平台发送查询,审计过程会产生API调用成本。企业应根据自己的规模和预算,合理规划审计频率。\n\n结果的时间敏感性\n\nAI助手的回答具有时效性,今天的审计结果可能几周后就会发生变化。建议建立定期审计机制,而非一次性检查。\n\n提示工程的重要性\n\n审计质量很大程度上取决于提示模板的设计。虽然工具提供了默认配置,但针对特定行业和地区的优化可能需要自定义提示配置文件。\n\n总结与展望\n\nllm-seo-audit代表了SEO领域向GEO演进的务实工具。它不试图取代传统SEO,而是为企业在AI搜索时代提供了一个可测量、可优化的新维度。对于资源有限的中小企业而言,这款开源工具降低了进入GEO领域的门槛,使其能够与拥有专业团队的大型企业同台竞技。\n\n随着AI助手在信息获取中的角色越来越重要,GEO将成为数字营销的标配而非可选项。尽早建立基线、理解竞争格局、实施针对性优化,将是中小企业在这一新战场中保持竞争力的关键。