SuperAPI AI 工具集

special-chars

前端与建站

查看项目

更新于 10-16 06:56

技能介绍

用途

该技能针对 URL 路径中的特殊字符问题。URL 路径中的特殊字符会导致爬取不一致、分享时链接失效,以及不同系统采用不同编码方式时出现规范化失败。它适用于任何包含用户生成 slug、CMS 生成 URL 或非英文语言内容的站点,也适用于审计 URL 是否存在爬取错误。

主要能力

  • 扫描所有已爬取的 URL 路径,查找 [A-Za-z0-9-_./~] 之外的字符。
  • 标记包含空格(%20 或字面空格)、特殊符号(路径中的 #、?、&、=、+)或未编码非 ASCII 字符的 URL。
  • 检查同一 URL 的不同编码是否返回各自独立的 200 响应。
  • 审查与 URL 特殊字符相关的元数据生成、渲染后的 HTML、结构化数据和响应头。
  • 标记面向搜索的输出违反该规则的精确路由或模板,并说明如何验证最终页面输出。

使用方式

该技能以规则形式提供检查、修复、解释和代码审查四类操作:

  • 检查:扫描 URL 路径中的非法字符,并检测同一 URL 不同编码是否产生重复的 200 响应。
  • 修复:更新 CMS 或框架中的 URL 生成逻辑,剥离或替换特殊字符;将空格替换为连字符;对必须出现在路径中的保留字符进行百分号编码;为有问题的旧 URL 设置到干净新 slug 的重定向。
  • 解释:说明 RFC 3986 中保留字符与非保留字符的区别、浏览器和爬虫如何处理不一致的百分号编码,以及路径中的特殊字符为何会产生重复内容风险。
  • 代码审查:审查元数据生成、渲染 HTML、结构化数据和响应头,标记违规路由或模板,并描述验证方式。

完整实现细节、代码示例和框架特定指南见 references/rule.md。规则页面:https://frontendchecklist.io/rules/seo/special-chars

关键规则

  • URL 路径应只包含非保留字符:A-Z、a-z、0-9、-、_、.、~。
  • 空格必须编码为 %20,而不是 +(+ 是查询字符串语法)。
  • #、?、&、= 等字符在 URL 中有保留含义,在路径段中必须进行百分号编码。
  • 非 ASCII 字符(带重音字母、CJK)应在 URL 中进行百分号编码,尽管现代浏览器会解码显示。

适用场景

  • 站点包含用户生成 slug 或 CMS 生成 URL。
  • 站点内容使用非英文语言。
  • 需要审计 URL 是否存在爬取错误或规范化问题。
  • 需要检查同一 URL 的不同编码是否产生重复内容。

限制

资料未提供该技能的具体安装命令、支持的框架列表、收费方式或价格信息。