名称: audit-website
描述: 使用 squirrelscan CLI,通过 230 多条规则对网站进行 SEO、性能、安全、技术、内容等 15 个以上类别的审计。返回包含健康评分、失效链接、元标签分析和可操作建议的 LLM 优化报告。用于发现和评估网站或 Web 应用的问题与健康状况。
许可证: 请参阅仓库根目录中的 LICENSE 文件
compatibility: 需要已安装 squirrel CLI 并可在 PATH 中访问
元数据:
author: squirrelscan
version: "1.22"
允许工具: Bash(squirrel:*) Read Edit Grep Glob
使用 squirrelscan CLI 对网站进行 SEO、技术、内容、性能和安全性问题的审计。
squirrelscan 提供了一个名为 squirrel 的 CLI 工具,适用于 macOS、Windows 和 Linux。它通过模拟浏览器和搜索引擎爬虫,并依据 230 多条规则分析网站的结构和内容,进行全面的网站审计。
它将为您提供一份问题列表以及如何修复这些问题的建议。
您可以使用以下模板查找任何规则的文档:
https://docs.squirrelscan.com/rules/{rule_category}/{rule_id}
示例:
https://docs.squirrelscan.com/rules/links/external-links
此技能使 AI 代理能够根据 21 个类别中的 230 多条规则对网站进行审计,包括:
以及更多。
审计过程会爬取网站,根据审计规则分析每个页面,并返回一份包含以下内容的综合报告:
- 总体健康评分 (0-100)
- 类别细分(核心 SEO、技术 SEO、内容、安全)
- 具体问题及其影响的 URL
- 失效链接检测
- 可操作的建议
- 规则具有错误、警告和通知等级别,并且有 1 到 10 的排名
在以下情况下使用此技能:
您应尽可能频繁地重新审计,以确保您的网站保持健康并表现良好。
此技能要求已安装 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。
运行审计时:
只剩下需要人工判断的问题(例如,“这个链接应该被删除吗?”)
平等对待所有修复:代码更改和内容更改同等重要。
并行化内容修复:对于影响多个文件的问题:
示例: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/标题 | 编辑页面组件 + 内容文件 | 是(内容) |
| 图片替代文本 | 编辑内容文件 | 是 |
| 标题层级 | 编辑内容文件 | 是 |
| 描述过短 | 编辑内容 frontmatter | 是 |
| HTTP→HTTPS 链接 | 在内容中查找并替换 | 是 |
| 失效链接 | 手动审查(标记给用户) | 否 |
对于可并行化的修复:生成具有特定文件分配的子代理。
许多问题需要编辑内容文件。这些与代码修复同等重要:
当用户批准一批修复时,您可以使用子代理并行应用它们:
审计更多页面:
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 技能 |
self 下的自我管理命令:
| 命令 | 描述 |
|---|---|
self install |
引导本地安装 |
self update |
检查并应用更新 |
self completion |
生成 shell 自动补全 |
self doctor |
运行健康检查 |
self version |
显示版本信息 |
self settings |
管理 CLI 设置 |
self uninstall |
从系统中移除 squirrel |
audit 命令默认显示人类可读的控制台输出,带有彩色输出和进度指示器。
要获取 LLM 优化的输出,请使用带有 --format llm 的 report 命令:
squirrel report <audit-id> --format llm
LLM 格式是一种紧凑的 XML/文本混合格式,针对令牌效率进行了优化(比冗长的 XML 小 40%):
有关详细格式规范,请参阅 OUTPUT-FORMAT.md。
# 用户询问:"检查 squirrelscan.com 的 SEO 问题"
squirrel audit https://squirrelscan.com --format llm
# 用户询问:"对我的博客进行彻底审计,最多 500 页"
squirrel audit https://myblog.com --max-pages 500 --format llm
# 用户询问:"重新审计网站并忽略缓存结果"
squirrel audit https://example.com --refresh --format llm
# 首先运行审计
squirrel audit https://example.com
# 从输出中记下审计 ID(例如,"a1b2c3d4")
# 稍后,以不同格式导出
squirrel report a1b2c3d4 --format llm
完成后,向用户提供您所做的所有更改的摘要。
如果看到此错误,说明 squirrel 未安装或不在您的 PATH 中。
解决方案:
1. 安装 squirrel:squirrelscan.com/download
2. 确保 ~/.local/bin 在 PATH 中
3. 验证:squirrel --version
如果 squirrel 不可执行,请确保二进制文件具有执行权限。从 squirrelscan.com/download 重新安装