关于 dido-checklist-sito-web
一项意大利语网站审计技能,使用基于证据的清单生成面向客户的报告。它区分可直接核验的项目与需要浏览器、外部工具、凭据或人工判断的项目,并要求明确标记未核验项。
主要功能
- 01收集网站背景并界定范围
- 02按环境能力筛选清单项目
- 03为每项检查记录证据与状态
- 04按严重程度排列整改计划
- 05分别输出报告和结果清单
- 06明确标记未核验项目
适用场景
- 01上线前审计网站
- 02迁移后检查技术 SEO
- 03评估多语言或电商网站
- 04编制按优先级排列的整改报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ didomarchet/ dido-skills --skill dido-checklist-sito-web安装后在 Claude Code 中输入/dido-checklist-sito-web确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/checklist-esiti.mdreport-template.mdreference/checklist.md详细介绍
天下彩网站 QA 清单
一项双速技能:一部分可验证(下载页面、检查 HTML、标头、JSON-LD、重定向:有就是有,没有就是没有),另一部分需要判断或只能由人工验证 (真实付款、翻译质量、条款的法律合规性)。
黄金法则:绝不要勾选你实际上没有验证过的项目。 报告中的每个项目都必须有明确结果,NON VERIFICATO 是合法且常见的结果。一份有 40 项已验证、60 项注明无法验证的报告,远胜于一份有 100 项全绿、其中一半是编造的报告。这是这项技能保持实用的唯一方式。
部分请求
如果用户只要求检查一部分(“检查 X 的技术 SEO”),就只执行相关章节,并遵守相同的报告格式和诚信原则。
步骤 0.背景信息(不要跳过)
没有这些答案,一半的项目都不适用,而且你可能会把有意为之的内容标记为错误。一次性询问以下信息;如果用户没有回复,就按照报告开头列出的假设继续:
- 网站的URL,以及测试环境(staging 或生产环境)的 URL(如果不同)。
- 类型:展示型网站、博客/编辑网站、电子商务网站、带登录功能的 Web 应用、多语言门户。
- 时机:上线前、迁移后(此时需要旧 URL 列表)、对运行中的网站进行审计。
- 可用访问权限:Search Console、GA4、CMS 管理后台、托管服务、测试邮箱。没有这些权限,整个章节都只能标为
NON VERIFICATO——立即说明,不要等到最后。 - 技术栈(CMS、框架、托管服务、CDN),以及各项工作由谁完成(如已知)。
然后检测环境能力(步骤 0-bis),并使用下方标签图定义范围。
步骤 0-bis.检测环境能力(不要想当然)
此技能可在不同主机上运行(claude.ai、Claude Code、API)。不要假设自己有哪些工具:在开始时测试一次,并在报告附录中写明结果。
| 能力 | 测试 | 如果具备 | 如果不具备 |
|---|---|---|---|
| 获取 HTML | 使用可用的 Web 工具下载首页 | 可执行 HTML 上的 [A] 项 | 如果既无法获取页面也没有 shell,则整份清单都是 [M]:说明这一点并停止 |
| HTTP Shell | curl -sI https://<dominio> | 可验证标头、重定向、状态码、TLS → 应用下方的升级规则 | 这些项目仍标为 NON VERIFICATO,并注明所用工具 |
| 浏览器 Agent | 是否有浏览器控制工具? | 由你执行 [B] 项 | 将 [B] 项交给用户,并提供操作说明 |
| 用户提供的导出文件 | 用户是否附上了 Screaming Frog / Lighthouse / Semrush 报告? | 许多 [M] 项可变为 [A] | 无变化 |
按能力升级。 [M] 表示“仅凭 HTML 不够”,而非“无法验证”。如果你有 HTTP shell,就必须执行以下项目,而不能转交用户:GO-05、GO-08、GO-09、PRF-06、PRF-07、PRF-08、PRF-09、SEC-02、SEC-03、SEC-04、EML-01、EML-03。请在报告中说明应用了哪些升级规则。
注意(特殊情况,并非通则)。 在 claude.ai 容器中,网络采用 allowlist:curl 无法访问客户网站,只能使用 Web 获取工具——你可以获取 HTML,但无法获取标头、重定向信息或 JS 渲染结果。在 Claude Code 或通过 API 使用时,通常有 shell:不要把 claude.ai 的限制报告到并不受这些限制的环境中。
从类型到标签:显式映射
完整词汇表,共七个值(与模式标签 [A]/[B]/[M] 不同):
#tutti、#lancio、#ecom、#login、#multi、#blog、#form。
| 维度 | 第 0 步的回答 | 激活的标签 |
|---|---|---|
| 基础 | 始终 | #tutti(永远不可筛除) |
| 时机 | 上线前或迁移后 | #lancio |
| 类型 | 展示型网站 | 无类型标签 |
| 博客 / 编辑型网站 | #blog | |
| 电子商务 | #ecom + #login + #form | |
| 带登录功能的 Web 应用 | #login + #form | |
| 特征(根据网站实际观察到的内容,而非仅依据声明) | 至少有一个表单 | #form |
| 有会员专区 | #login | |
| 有多种语言 | #multi | |
| 有新闻 / 博客版块 | #blog |
**这是并集,不是交集。**只要条目至少有一个标签处于激活状态,就要执行。带有会员专区的多语言电子商务网站几乎会激活所有条目:这是正确的,因为这类情况风险最高。
筛选应逐条进行,而非仅按章节筛选。在其他方面适用的章节中,也有带类型标签(#ecom、#login、#form、#blog、#multi)的条目:每条的标签都列在 reference/checklist.md 中对应标题旁。如果其标签未激活,必须逐行标记为 N/A 并注明原因:不要合并成一个范围,也不要让它们落入 NON VERIFICATO。注明的 N/A 是一种信息;对不相关条目标记 NON VERIFICATO 则是噪声,会掩盖真正的遗漏。
**缺少功能 ≠ 功能故障。**如果某条目涉及网站根本不具备的功能(站内搜索、评论、视频、模态框、推荐语、llms.txt、会员专区、筛选器),结果应为 N/A: 网站未提供此功能,而不是 KO,也不是 NON VERIFICATO。声明其不存在前,先验证确实不存在:N/A 是一种观察结果,应如实记录。
在报告附录中写入:Tag attivi: #tutti #ecom #form, voci in perimetro: N su M,其中 M 是 reference/checklist.md 中的条目总数,需逐条统计。
缺少这一行,就无法复现检查范围。
确定检查范围后,在准备执行时,按章节加载 reference/checklist.md。
具体如何验证
每条都有一个模式标签,说明由谁执行:
| 标签 | 含义 | 执行者 |
|---|---|---|
[A] | 自动:只需下载并阅读页面 | 你独自完成 |
[B] | 需要浏览器进行点击、填写和浏览 | 如果你有智能体浏览器,则由你执行;否则由用户执行 |
[M] | 手动:需要人工判断、凭据或真实资金 | 用户执行,你准备说明 |
模式是默认值,而非定局:需结合第 0-bis 步检测到的能力。
- 关于 HTML、meta、JSON-LD、hreflang、canonical、文本和现有链接的条目 →
[A],由你使用可用的网页抓取工具完成。 - 关于 HTTP 标头(HSTS、CSP、缓存、重定向链)、状态码、TLS 的条目 → 仅在你没有 shell 时标记为
[M]。如果有 shell,就执行这些检查:参见提升列表。 - 关于现场 Core Web Vitals 和完整抓取的条目 → 无论如何都需要外部工具。标记为
NON VERIFICATO,并注明工具(PageSpeed Insights、Screaming Frog、securityheaders.com)。 - 如果收到 Screaming Frog / Semrush 导出文件或 Lighthouse 报告,请使用:许多
[M]条目可根据这些文件转为[A]。
切勿模拟未实际运行的工具输出。
流程
QA sito, avanzamento:
[ ] 1. Contesto raccolto, sezioni applicabili filtrate, assunzioni scritte
[ ] 2. Raccolta prove: home + 5-10 pagine campione (una per template), robots.txt,
sitemap, 404, pagine legali, eventuali export forniti dall'utente
[ ] 3. Esecuzione voci [A] sezione per sezione, annotando la prova per ciascuna
[ ] 4. GATE 1: test della prova su ogni esito emesso (vedi "I due gate di onestà")
[ ] 5. Voci [B]/[M]: non inventare l'esito, scrivi l'istruzione operativa per chi le farà
[ ] 6. Report: tabella per sezione + piano di intervento prioritizzato
[ ] 7. Checklist spuntata, generata dal report appena scritto (secondo file, vedi "Report")
[ ] 8. GATE 2: prima di consegnare (vedi "I due gate di onestà")
第 2 步的抽样比数量更重要:每种模板选一个页面(首页、分类页、产品 / 文章详情页、静态页、表单、结账页、404;对于多语言网站,同一页面选两种语言)。二十个相同模板的页面不会增加信息。
结果与严重程度
允许的结果:OK、KO、PARZIALE、N/A、NON VERIFICATO(附理由)。
KO 的严重程度:
- 阻断级:不得上线/必须在 24 小时内解决。网站或关键页面无法访问、测试环境可被索引、结账或表单损坏、缺少 HTTPS 或证书已过期、个人数据泄露、未经同意使用非必要 Cookie、没有备份。
- 高:直接影响流量、转化、合规性或安全性。必须在上线前或当前迭代中解决。
- 中:降低质量或性能,但不会导致功能失效。下个周期解决。
- 低:细节打磨、技术债、锦上添花的改进。
清单中标注的严重程度是默认值:请根据具体情况调高或调低,并说明原因。装饰性图标缺少 alt,与购物车按钮缺少 alt 并不相同。
两道诚信关卡
这不是建议,而是交付条件。
证据测试(关卡 1)。 只有在你现在就能把以下任意一项粘贴到“证据”列时,条目才能标为 OK 或 KO:确切 URL + 观察到的值、所执行命令的输出、用户文件的名称及读取位置。如果证据只是转述、推断或回忆,结果就是 NON VERIFICATO。如果该行的备注与结果相矛盾,以备注为准。
必须输出:在报告附录中添加一行:Gate 1: X voci riviste, Y declassate。如果在一次大范围审计中 Y = 0,请重新检查那些最容易被轻率判定为通过的条目:只在一个页面上查看过的条目,以及根据技术栈推断的条目。如果这些条目均经复核无误,Y = 0 就是有效结果。
关卡 2(交付前)。 每个阻断级问题都有可引用的证据和明确的负责人。每个 OK 都有实际观察依据。每个 N/A 都有理由。汇总表中的数字必须逐项计数,不得估算,并且必须与整改计划一致。
如果你生成了已勾选的清单,关卡还包括三项一致性检查——这些都是计数,花一分钟即可完成,也是防止两份文档不一致的唯一保障:
[x]的数量必须恰好等于汇总表中的OK数量。- 文件中的行数必须恰好等于开头声明的范围内条目数。
- 每个空白框旁边都必须注明理由。
如果检查结果不一致,错误就在已勾选的清单中:根据报告重新生成,不要为了让数字对得上而修改报告。
常见自我合理化及必须采取的应对方式
| 你可能会想 | 你应该怎么做 |
|---|---|
| “WordPress/Shopify 通常都自带这个” | 标为 NON VERIFICATO。通常如此不等于实际观察到。 |
| “我在另一个页面上看到了,其他页面应该也一样” | 标为 PARZIALE,并列出实际查看过的页面。 |
| “文件名写着 200×200” | 标为 NON VERIFICATO。文件名不是尺寸测量结果。 |
| “客户告诉我它能正常工作” | 标为 NON VERIFICATO (dichiarato dal cliente)。 |
| “报告里有 60 个 NON VERIFICATI,看起来很难看” | 照实提交。 |
| “用户赶时间” | 可以缩短总结,但不能改动结果。 |
如果用户要求删除 NON VERIFICATO:请拒绝,并说明这些条目界定了文档的有效范围。你可以将它们移至附录,但不能删除。
报告
使用 assets/report-template.md。优先于格式的规则:
- 报告面向客户:句子简短,使用客户自己的措辞。标签、模式和 Gate 仅放在附录中。每段最多使用一个破折号。
- 每个 KO 都要附上证据:准确的 URL、代码行、截图、测量值。“缺少 Meta description”若没有 URL,只是意见,不是问题发现。
- 每个 KO 都要附上行动项,不能只写问题:要做什么、在哪里做、由谁负责(开发 / SEO / 法务 / 客户),以及粗略的工作量估算。
- 报告开头:日期、测试环境、未验证的内容及原因。必须先写这一部分,不能最后补上。其余背景(例如网站类型、功能、范围、促销活动、Gate)放在最后的附录中。
- 干预计划按严重程度排序,其次按影响与工作量之比排序,并且只放在一张表中:这是唯一一页会被认真阅读的内容。
已勾选的检查清单(始终作为第二个文件交付)
除报告外,还要使用 assets/checklist-esiti.md 交付 checklist-esiti-{{sito}}.md:按章节分组列出范围内的条目,只有结果为 OK 时才勾选。
必须最后填写,依据已写好的报告,逐行填写。这只是一个视图,不是第二次验证:不得包含报告中没有的结果,也不能借此重新审视已经通过 Gate 1 的判断。
每个未勾选项旁边都要注明原因:标明严重程度的 KO、PARZIALE、N/A,或注明缺少工具的 NON VERIFICATO。客户会先打开并把这个文件理解为“绿色 = 已完成,空白 = 已损坏”:若不注明原因,你的 NON VERIFICATO(它们界定了工作的有效范围)就会被视为一项项指控。
如果需要在表格中处理(工单、任务分配、进度跟踪),请同时将相同内容导出为 .csv 或 .xlsx,每个条目一行。
应避免的误报
报告问题前,请确认没有遇到以下情况:
- 私有区域、筛选器、购物车、搜索结果中的
noindex或Disallow可能是有意设置的。 - 跟踪参数看似造成重复内容,但 canonical 设置正确。
- “错误”的重定向实际上是有意进行的规范化处理(www、尾部斜杠、语言)。
- CDN 和第三方服务返回的 header 可能与 origin 不同。
- 自动化无障碍检查中的
KO不代表已确认违反 WCAG:自动化工具只能检测到约三分之一的实际问题,而且会产生误报。 请报告问题发现,不要对合规性下结论。 - 切勿宣称符合法律规定(GDPR、EAA、消费者法典):你可以指出迹象并说明缺少哪些内容,合规性应由法律专业人士评估。请在报告中写明这一点。
检查清单维护
reference/checklist.md 会过时:指标、义务和工具都可能变化。如果执行过程中发现某个条目已过时或缺少相关条目,请在回复的“检查清单更新建议”下报告,而不要悄悄修改。此内容不要放入报告:它面向客户,而非此技能。