mcpField
A
audit-website

audit-website

github.com/makerjackie营销与增长145 次安装36 周前更新
代码仓库

关于 audit-website

audit-website 是供 AI Agent 使用的网站审计技能,通过 squirrelscan 的 squirrel 命令行工具爬取页面并检查多类问题。它生成含问题 URL、分类结果和修复建议的报告,也支持比较审计结果以发现回归。

主要功能

  1. 01按多类规则审计网站
  2. 02检测失效链接与重定向
  3. 03检查 SEO、性能和安全问题
  4. 04生成多种格式的审计报告
  5. 05比较报告以识别回归

适用场景

  1. 01排查网站技术 SEO 问题
  2. 02检查链接、元数据和结构化数据
  3. 03在网站改动前后比较健康状况
  4. 04生成网站审计结果供修复使用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/makerjackie/jackie-skills-starter --skill audit-website

安装后在 Claude Code 中输入/audit-website确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
icon-small.svg
references/
OUTPUT-FORMAT.md

详细介绍

(中文)网站审计技能

使用 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 Agent 按照 21 个类别中的 230 多条规则审计网站,包括:

  • SEO 问题:Meta 标签、标题、描述、规范 URL、Open Graph 标签
  • 技术问题:失效链接、重定向链、页面速度、移动设备友好性
  • 性能:页面加载时间、资源使用、缓存
  • 内容质量:标题结构、图片替代文本、内容分析
  • 安全性:泄露的机密信息、HTTPS 使用情况、安全标头、混合内容
  • 无障碍性:替代文本、颜色对比度、键盘导航
  • 易用性:表单验证、错误处理、用户流程
  • 链接:检查失效的内部和外部链接
  • E-E-A-T:专业性、经验、权威性、可信度
  • 用户体验:用户流程、错误处理、表单验证
  • 移动设备:检查移动设备友好性、响应式设计、适合触控的元素
  • 可抓取性:检查可抓取性、robots.txt、sitemap.xml 等
  • Schema:Schema.org 标记、结构化数据、丰富摘要
  • 法律合规:是否符合法律要求、隐私政策、服务条款
  • 社交:Open Graph、Twitter 卡片,以及对 Schema、摘要等内容的验证
  • URL 结构:长度、连字符、关键词
  • 关键词:关键词堆砌
  • 内容:内容结构、标题
  • 图片:替代文本、颜色对比度、图片尺寸、图片格式
  • 本地 SEO:NAP 一致性、地理元数据
  • 视频:VideoObject Schema、无障碍性

以及更多内容

审计会抓取网站,按照审计规则分析每个页面,并返回一份全面的报告,其中包括:

  • 总体健康评分(0-100)
  • 类别细分(核心 SEO、技术 SEO、内容、安全性)
  • 具体问题及受影响的 URL
  • 失效链接检测
  • 可执行的建议
  • 规则分为错误、警告和提示级别,排名为 1 到 10

适用场景

在以下情况下使用此技能:

  • 分析网站的健康状况
  • 调试技术 SEO 问题
  • 修复上述所有问题
  • 检查失效链接
  • 验证 Meta 标签和结构化数据
  • 生成网站审计报告
  • 比较更改前后的网站健康状况
  • 改进网站性能、无障碍性、SEO、安全性等。

你应尽可能频繁地重新审计,以确保网站保持健康并运行良好。

前置条件

此技能需要安装 squirrel CLI,并确保其位于 PATH 中。

安装: squirrelscan.com/download

验证:

squirrel --version

设置

运行 squirrel init,在当前目录中创建 squirrel.toml 配置文件。如果该文件不存在,请创建一个并指定项目名称:

squirrel init -n my-project
# overwrite existing config
squirrel init -n my-project --force

用法

简介

有三个可以运行的流程,它们都会缓存在本地项目数据库中:

  • crawl - 用于运行爬取或刷新、继续爬取的子命令
  • analyze - 用于分析爬取结果的子命令
  • report - 用于按所需格式(llm、text、console、html 等)生成报告的子命令

'audit' 命令是这三个流程的封装,会按顺序运行它们:

squirrel audit https://example.com --format llm

你应该始终优先选择 llm 格式选项——它是专为你打造的,能提供详尽且精简的输出格式。

首次扫描应为表层扫描,即对网站进行快速、浅层的扫描,以收集网站的基本信息,例如结构、内容和技术栈。此扫描可以快速完成,不会影响网站的性能。

第二次扫描应为深度扫描,即对网站进行全面、详细的扫描,以收集更多信息,例如网站的安全性、性能和无障碍性。此扫描可能需要更长时间,并可能影响网站的性能。

如果用户未提供要审计的网站,请询问他们想审计哪个 URL。

你应该优先审计线上网站——只有这样,我们才能真实了解网站的实际情况以及性能或渲染问题。

如果既有本地网站又有线上网站可供审计,请提示用户选择要审计的网站,并建议他们选择线上网站。

你可以根据线上网站的审计结果,对本地代码应用修复。

规划任务范围时,应确保任务可以由多个子 Agent 并发执行,以加快修复速度。

实施修复时,利用子 Agent 加快修复进度。

应用修复后,验证代码仍可构建,并通过项目中已有的检查。

基本工作流

审计流程分为两步:

  1. 运行审计(保存到数据库,并显示控制台输出)
  2. 导出报告为所需格式
# Step 1: Run audit (default: console output)
squirrel audit https://example.com

# Step 2: Export as LLM format
squirrel report <audit-id> --format llm
回归差异

需要检测不同审计之间的回归时,请使用 diff 模式:

# Compare current report against a baseline audit ID
squirrel report --diff <audit-id> --format llm

# Compare latest domain report against a baseline domain
squirrel report --regression-since example.com --format llm

diff 模式支持 console、text、json、llm 和 markdown。不支持 html 和 xml。

运行审计

运行审计时:

  1. 呈现报告——向用户展示审计结果和评分
  2. 提出修复方案——列出可以修复的问题,并在进行更改前征求用户确认
  3. 并行处理已批准的修复——对于批量内容编辑(替代文本、标题、描述),使用子 Agent
  4. 迭代处理——修复一批问题 → 重新审计 → 呈现结果 → 提出下一批修复方案
  5. 暂停并交由用户判断——标记损坏的链接、结构性变更以及任何模糊不清的问题,供用户审核
  6. 展示前后对比——每批修复后,呈现评分对比
  • 迭代循环:修复一批问题后,重新审计并继续修复,直到:

    • 评分达到目标(通常为 85+),或者
    • 只剩下需要人工判断的问题(例如,“是否应该删除这个链接?”)
  • 平等对待所有修复:代码更改和内容更改同样重要。

  • 并行处理内容修复:对于影响多个文件的问题:

    • 启动多个子 Agent 并行修复
    • 示例:7 个文件需要添加替代文本 → 启动 1-2 个 Agent 完成全部修复
    • 示例:30 个文件存在标题问题 → 启动多个 Agent 分批编辑
  • 完成标准:

    • ✅ 修复所有错误
    • ✅ 修复所有警告(或记录需要人工审核的警告)
    • ✅ 重新审计确认已有改善
    • ✅ 向用户展示前后对比

应用修复后,询问用户是否要查看更改。

评分目标
起始评分目标评分预期工作
< 50(F 级)75+(C 级)重大修复
50-70(D 级)85+(B 级)中度修复
70-85(C 级)90+(A 级)润色
> 85(B+ 级)95+微调

只有当评分高于 95(A 级)且覆盖范围设为 FULL(--coverage full)时,网站才会被视为已完成并修复。

问题类别
类别修复方法可并行处理
Meta 标签/标题编辑页面组件或元数据否
结构化数据向页面模板添加 JSON-LD否
缺少 H1/标题编辑页面组件和内容文件是(内容)
图片 alt 文本编辑内容文件是
标题层级编辑内容文件是
描述过短编辑内容 frontmatter是
HTTP→HTTPS 链接在内容中查找并替换是
链接失效手动审查(标记给用户)否

对于可并行处理的修复:为子代理分配具体文件。

内容文件修复

许多问题需要编辑内容文件。这些修复与代码修复同样重要:

  • 图片 alt 文本:为图片添加描述性 alt 文本
  • 标题层级:修复跳级的标题
  • Meta 描述:在 frontmatter 中扩展过短的描述
  • 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、llmconsole
--coverage <mode>-C <mode>覆盖模式:quick、surface、fullsurface
--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>覆盖项目名称来自配置
覆盖模式

根据审计需求选择覆盖模式:

模式默认页面数行为使用场景
quick25仅种子页面和站点地图,不发现链接CI 检查、快速健康检查
surface100每种 URL 模式抽取一个样本常规审计(默认)
full500在限制范围内爬取所有内容深度分析

Surface 模式很智能——它会检测 /blog/{slug} 或 /products/{id} 等 URL 模式,并且每种模式只爬取一个样本。这对于拥有许多相似页面(博客、电商)的站点来说效率很高。

# Quick health check (25 pages, no link discovery)
squirrel audit https://example.com -C quick --format llm

# Default surface audit (100 pages, pattern sampling)
squirrel audit https://example.com --format llm

# Full comprehensive audit (500 pages)
squirrel audit https://example.com -C full --format llm

# Override page limit for any mode
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 命令

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 输出快速审计网站
# User asks: "Check squirrelscan.com for SEO issues"
squirrel audit https://squirrelscan.com --format llm
示例 2:对大型网站进行深度审计
# User asks: "Do a thorough audit of my blog with up to 500 pages"
squirrel audit https://myblog.com --max-pages 500 --format llm
示例 3:更改后重新审计
# User asks: "Re-audit the site and ignore cached results"
squirrel audit https://example.com --refresh --format llm
示例 4:两步工作流(重复使用之前的审计结果)
# First run an audit
squirrel audit https://example.com
# Note the audit ID from output (e.g., "a1b2c3d4")

# Later, export in different format
squirrel report a1b2c3d4 --format llm

输出

完成后,向用户总结你所做的所有更改。

故障排除

找不到 squirrel 命令

如果看到此错误,说明 squirrel 尚未安装,或不在 PATH 中。

解决方案:

  1. 安装 squirrel:squirrelscan.com/download
  2. 确保 ~/.local/bin 位于 PATH 中
  3. 验证:squirrel --version
权限被拒绝

如果 squirrel 无法执行,请确保二进制文件具有执行权限。从 squirrelscan.com/download 重新安装即可解决此问题。

爬取超时或性能缓慢

对于非常大型的网站,审计可能需要几分钟。使用 --verbose 查看进度:

squirrel audit https://example.com --format llm --verbose
URL 无效

确保 URL 中包含协议(http:// 或 https://):

# ✗ Wrong
squirrel audit example.com

# ✓ Correct
squirrel audit https://example.com

工作原理

  1. 爬取:从基础 URL 开始发现并获取页面
  2. 分析:对每个页面运行审计规则
  3. 外部链接:检查外部链接是否可用
  4. 报告:生成包含审计结果的 LLM 优化报告

审计结果会存储在本地数据库中,之后可通过 squirrel report 命令检索。

其他资源

评论

支持 Markdown