使用 squirrelscan CLI 对网站进行 SEO、性能、安全、技术、内容及其他 17 个类别的审计,涵盖 240 多条规则。返回针对 LLM 优化的报告,包含健康评分、损坏链接、元标签分析和可操作建议。用于发现和评估网站或 Web 应用的问题与健康状况。
网站审计技能
使用 squirrelscan CLI 对网站进行 SEO、技术、内容、性能和安全性审计。
squirrelscan 提供了一个 CLI 工具 squirrel——适用于 macOS、Windows 和 Linux。它通过模拟浏览器、搜索引擎爬虫,并依据 240 多条规则分析网站的结构和内容,进行全面的网站审计。
它会提供问题列表以及修复建议。
链接
- squirrelscan 网站位于 https://squirrelscan.com
- 文档(包括规则参考)位于 docs.squirrelscan.com
您可以使用以下模板查找任何规则的文档:
https://docs.squirrelscan.com/rules/{rule_category}/{rule_id}
示例:
https://docs.squirrelscan.com/rules/links/external-links
本技能的功能
本技能使 AI 代理能够对网站进行审计,涵盖 22 个类别的 240 多条规则,包括:
- SEO 问题:元标签、标题、描述、规范 URL、Open Graph 标签
- 技术问题:损坏链接、重定向链、页面速度、移动端友好性
- 性能:页面加载时间、资源使用、缓存
- 内容质量:标题结构、图片替代文本、内容分析
- 安全性:泄露的秘密、HTTPS 使用、安全标头、混合内容
- 可访问性:替代文本、颜色对比、键盘导航
- 可用性:表单验证、错误处理、用户流程
- 链接:检查损坏的内部和外部链接
- E-E-A-T:专业性、经验、权威性、可信度
- 用户体验:用户流程、错误处理、表单验证
- 移动端:检查移动端友好性、响应式设计、触摸友好元素
- 可爬取性:检查可爬取性、robots.txt、sitemap.xml 等
- Schema:Schema.org 标记、结构化数据、丰富摘要
- 法律:法律要求合规性、隐私政策、服务条款
- 社交:Open Graph、Twitter 卡片以及验证模式、摘要等
- URL 结构:长度、连字符、关键词
- 关键词:关键词堆砌
- 内容:内容结构、标题
- 图片:替代文本、颜色对比、图片大小、图片格式
- 本地 SEO:NAP 一致性、地理元数据
- 视频:VideoObject 模式、可访问性
以及更多
审计会爬取网站,根据审计规则分析每个页面,并返回一份综合报告,包含:
- 总体健康评分(0-100)
- 类别细分(核心 SEO、技术 SEO、内容、安全性)
- 具体问题及受影响的 URL
- 损坏链接检测
- 可操作建议
- 规则分为错误、警告和通知级别,并具有 1 到 10 的等级
何时使用
当您需要以下操作时使用本技能:
- 分析网站健康状况
- 调试技术 SEO 问题
- 修复上述所有问题
- 检查损坏链接
- 验证元标签和结构化数据
- 生成网站审计报告
- 比较更改前后的网站健康状况
- 改善网站性能、可访问性、SEO、安全性等
您应尽可能频繁地重新审计,以确保网站保持健康并表现良好。
前提条件
本技能需要安装 squirrel CLI 并位于 PATH 中。
验证:
squirrel --version
设置
运行 squirrel init 在当前目录创建 squirrel.toml 配置文件。如果不存在,请创建一个并指定项目名称:
squirrel init -n my-project
# 覆盖现有配置
squirrel init -n my-project --force
用法
简介
有三个可运行的过程,它们都缓存在本地项目数据库中:
- crawl - 子命令,用于运行爬取或刷新、继续爬取
- analyze - 子命令,用于分析爬取结果
- report - 子命令,用于生成所需格式的报告(llm、text、console、html 等)
'audit' 命令是这三个过程的包装器,按顺序运行:
squirrel audit https://example.com --format llm
您应始终优先选择格式选项 llm——它是为您量身定制的,提供详尽且紧凑的输出格式。
首次扫描应为表面扫描,即对网站进行快速浅层扫描,以收集基本信息,如结构、内容和技术栈。此扫描可快速完成,且不影响网站性能。
第二次扫描应为深度扫描,即对网站进行彻底详细的扫描,以收集更多信息,如安全性、性能和可访问性。此扫描可能需要更长时间,并可能影响网站性能。
如果用户未提供要审计的网站,请询问他们希望审计哪个 URL。
您应优先审计在线网站——只有这样才能真实反映网站及其性能或渲染问题。
如果您同时拥有本地和在线网站需要审计,请提示用户选择审计哪个,并建议他们选择在线网站。
您可以将审计中的修复方案应用于在线网站对应的本地代码。
在规划任务范围时,应使任务能够作为子代理并发运行,以加快修复速度。
在实施修复时,利用子代理加快修复实施速度。
应用修复后,验证代码仍能构建并通过项目中现有的检查。
基本工作流程
审计过程分为两步:
- 运行审计(保存到数据库,显示控制台输出)
- 以所需格式导出报告
# 步骤 1:运行审计(默认:控制台输出)
squirrel audit https://example.com
# 步骤 2:导出为 LLM 格式
squirrel report <audit-id> --format llm
回归差异
当需要检测审计之间的回归时,使用差异模式:
# 将当前报告与基线审计 ID 进行比较
squirrel report --diff <audit-id> --format llm
# 将最新域名报告与基线域名进行比较
squirrel report --regression-since example.com --format llm
差异模式支持 console、text、json、llm 和 markdown。不支持 html 和 xml。
运行审计
运行审计时:
- 呈现报告 - 向用户显示审计结果和评分
- 提出修复方案 - 列出您可以修复的问题,并在进行更改前请求用户确认
- 并行处理已批准的修复 - 使用子代理进行批量内容编辑(替代文本、标题、描述)
- 迭代 - 修复一批 → 重新审计 → 呈现结果 → 提出下一批
- 暂停判断 - 损坏链接、结构更改以及任何模棱两可的内容应标记为用户审查
- 显示前后对比 - 每批修复后呈现评分对比
-
迭代循环:修复一批问题后,重新审计并继续修复,直到:
- 评分达到目标(通常 85 分以上),或
- 仅剩需要人工判断的问题(例如“此链接是否应删除?”)
-
同等对待所有修复:代码更改和内容更改同等重要。
-
并行处理内容修复:对于影响多个文件的问题:
- 生成子代理并行修复
- 示例:7 个文件需要替代文本 → 生成 1-2 个代理修复所有
- 示例:30 个文件存在标题问题 → 生成代理批量编辑
-
完成标准:
- ✅ 所有错误已修复
- ✅ 所有警告已修复(或记录为需要人工审查)
- ✅ 重新审计确认改进
- ✅ 向用户显示前后对比
应用修复后,询问用户是否希望审查更改。
评分目标
| 起始评分 | 目标评分 | 预期工作量 |
|---|---|---|
| < 50(F 级) | 75+(C 级) | 重大修复 |
| 50-70(D 级) | 85+(B 级) | 中等修复 |
| 70-85(C 级) | 90+(A 级) | 打磨 |
| > 85(B+ 级) | 95+ | 微调 |
只有当评分超过 95(A 级)且覆盖范围设置为 FULL(--coverage full)时,网站才被视为完成且已修复。
问题类别
| 类别 | 修复方法 | 可并行化 |
|---|---|---|
| 元标签/标题 | 编辑页面组件或元数据 | 否 |
| 结构化数据 | 向页面模板添加 JSON-LD | 否 |
| 缺少 H1/标题 | 编辑页面组件 + 内容文件 | 是(内容) |
| 图片替代文本 | 编辑内容文件 | 是 |
| 标题层级 | 编辑内容文件 | 是 |
| 简短描述 | 编辑内容前置元数据 | 是 |
| HTTP→HTTPS 链接 | 在内容中查找并替换 | 是 |
| 损坏链接 | 手动审查(标记给用户) | 否 |
对于可并行化的修复:生成子代理并分配特定文件。
内容文件修复
许多问题需要编辑内容文件。这些与代码修复同等重要:
- 图片替代文本:为图片添加描述性替代文本
- 标题层级:修复跳过的标题级别
- 元描述:扩展前置元数据中的简短描述
- HTTP 链接:将不安全的链接更新为 HTTPS
使用子代理并行修复
当用户批准一批修复时,您可以使用子代理并行应用它们:
- 首先询问用户 — 在生成子代理之前,始终确认要应用哪些修复
- 每个子代理处理 3-5 个相同修复类型的文件
- 仅并行处理独立文件(无共享组件或配置)
- 在单条消息中生成多个子代理以并发执行
高级选项
审计更多页面:
squirrel audit https://example.com --max-pages 200
强制全新爬取(忽略缓存):
squirrel audit https://example.com --refresh
恢复中断的爬取:
squirrel audit https://example.com --resume
调试时输出详细信息:
squirrel audit https://example.com --verbose
常用选项
审计命令选项
| 选项 | 别名 | 描述 | 默认值 |
|---|---|---|---|
--format <fmt> |
-f <fmt> |
输出格式:console, text, json, html, markdown, llm | console |
--coverage <mode> |
-C <mode> |
覆盖模式:quick, surface, full | surface |
--max-pages <n> |
-m <n> |
最大爬取页面数(最大 5000) | 因覆盖模式而异 |
--output <path> |
-o <path> |
输出文件路径 | - |
--refresh |
-r |
忽略缓存,重新获取所有页面 | false |
--resume |
- | 恢复中断的爬取 | false |
--verbose |
-v |
详细输出 | false |
--debug |
- | 调试日志 | false |
--trace |
- | 启用性能跟踪 | false |
--project-name <name> |
-n <name> |
覆盖项目名称 | 来自配置 |
覆盖模式
根据审计需求选择覆盖模式:
| 模式 | 默认页面数 | 行为 | 使用场景 |
|---|---|---|---|
quick |
25 | 仅种子 + 站点地图,无链接发现 | CI 检查、快速健康检查 |
surface |
100 | 每个 URL 模式一个样本 | 常规审计(默认) |
full |
500 | 爬取所有内容直至限制 | 深度分析 |
表面模式很智能——它会检测 URL 模式,如 /blog/{slug} 或 /products/{id},并仅爬取每个模式的一个样本。这使得它对于具有许多相似页面的网站(博客、电子商务)非常高效。
# 快速健康检查(25 页,无链接发现)
squirrel audit https://example.com -C quick --format llm
# 默认表面审计(100 页,模式采样)
squirrel audit https://example.com --format llm
# 全面综合审计(500 页)
squirrel audit https://example.com -C full --format llm
# 覆盖任何模式的页面限制
squirrel audit https://example.com -C surface -m 200 --format llm
何时使用每种模式:
quick:CI 管道、每日健康检查、监控surface:大多数审计——高效覆盖独特模板full:发布前、全面分析、深度挖掘
报告命令选项
| 选项 | 别名 | 描述 |
|---|---|---|
--list |
-l |
列出最近的审计 |
--severity <level> |
- | 按严重性过滤:error, warning, all |
--category <cats> |
- | 按类别过滤(逗号分隔) |
--format <fmt> |
-f <fmt> |
输出格式:console, text, json, html, markdown, xml, llm |
--output <path> |
-o <path> |
输出文件路径 |
--input <path> |
-i <path> |
从 JSON 文件加载(回退模式) |
配置子命令
| 命令 | 描述 |
|---|---|
config show |
显示当前配置 |
config set <key> <value> |
设置配置值 |
config path |
显示配置文件路径 |
config validate |
验证配置文件 |
其他命令
| 命令 | 描述 |
|---|---|
squirrel feedback |
向 squirrelscan 团队发送反馈 |
squirrel skills install |
安装 Claude Code 技能 |
squirrel skills update |
更新 Claude Code 技能 |
自管理命令
squirrel self 下的自管理命令:
| 命令 | 描述 |
|---|---|
self install |
引导本地安装 |
self update |
检查并应用更新 |
self completion |
生成 shell 补全 |
self doctor |
运行健康检查 |
self version |
显示版本信息 |
self settings |
管理 CLI 设置 |
self uninstall |
从系统中移除 squirrel |
输出格式
控制台输出(默认)
audit 命令默认显示人类可读的控制台输出,带有彩色输出和进度指示器。
LLM 格式
要获取针对 LLM 优化的输出,请使用 report 命令并指定 --format llm:
squirrel report <audit-id> --format llm
LLM 格式是一种紧凑的 XML/文本混合格式,针对令牌效率进行了优化(比冗长的 XML 小 40%):
- 摘要:总体健康评分和关键指标
- 按类别分组的问题:按审计规则类别分组(核心 SEO、技术、内容、安全性)
- 损坏链接:损坏的外部链接和内部链接列表
- 建议:按优先级排序的操作项及修复建议
有关详细的格式规范,请参阅 OUTPUT-FORMAT.md。
示例
示例 1:快速网站审计并输出 LLM 格式
# 用户询问:“检查 squirrelscan.com 的 SEO 问题”
squirrel audit https://squirrelscan.com --format llm
示例 2:大型网站的深度审计
# 用户询问:“对我的博客进行彻底审计,最多 500 页”
squirrel audit https://myblog.com --max-pages 500 --format llm
示例 3:更改后重新审计
# 用户询问:“重新审计网站,忽略缓存结果”
squirrel audit https://example.com --refresh --format llm
示例 4:两步工作流程(重用之前的审计)
# 首先运行审计
squirrel audit https://example.com
# 记下输出中的审计 ID(例如“a1b2c3d4”)
# 稍后,以不同格式导出
squirrel report a1b2c3d4 --format llm
输出
完成后,向用户提供您所做所有更改的摘要。
故障排除
找不到 squirrel 命令
如果您看到此错误,说明 squirrel 未安装或不在 PATH 中。
解决方案:
- 安装 squirrel:squirrelscan.com/download
- 确保
~/.local/bin在 PATH 中 - 验证:
squirrel --version
权限被拒绝
如果 squirrel 不可执行,请确保二进制文件具有执行权限。从 squirrelscan.com/download 重新安装将解决此问题。
爬取超时或性能缓慢
对于非常大的网站,审计可能需要几分钟。使用 --verbose 查看进度:
squirrel audit https://example.com --format llm --verbose
无效 URL
确保 URL 包含协议(http:// 或 https://):
# ✗ 错误
squirrel audit example.com
# ✓ 正确
squirrel audit https://example.com
工作原理
- 爬取:从基础 URL 开始发现并获取页面
- 分析:对每个页面运行审计规则
- 外部链接:检查外部链接的可用性
- 报告:生成针对 LLM 优化的报告,包含发现的问题
审计结果存储在本地数据库中,以后可以使用 squirrel report 命令检索。
其他资源
- 输出格式参考:OUTPUT-FORMAT.md
- squirrelscan 文档:https://docs.squirrelscan.com
- CLI 帮助:
squirrel audit --help






