SuperAPI AI 工具集

url-redirect-audit

部署与运维

查看项目

更新于 10-15 09:39

技能介绍

用途

该技能用于查询 Shopify 店铺中的全部 URL 重定向,并识别以下问题:

  • 重定向链:某个重定向的目标本身又被另一个重定向指向(A→B→C)。重定向链会增加额外的 HTTP 往返延迟,并损害 SEO。
  • 重复目标:多个来源路径指向同一个目标地址。
  • 孤立重定向:指向不存在页面的重定向。

该技能为只读操作,不执行任何变更。

主要能力

  • 通过 GraphQL 操作 urlRedirects 分页查询所有重定向,每页 250 条,直到 hasNextPage 为 false。
  • 构建 fromPath → target 路径映射。
  • 检测重定向链:对每个重定向,检查其 target 是否出现在其他重定向的 fromPath 中。
  • 检测重复目标:统计指向同一目标的来源路径是否多于一个。
  • 输出人类可读摘要或 JSON 格式结果,并生成 CSV 审计文件。

使用方式

前置条件:

  • 已认证的 Shopify CLI 会话:shopify store auth --store <domain> --scopes read_content
  • API 权限范围:read_content

参数:

  • store(字符串,必填):店铺域名,例如 mystore.myshopify.com。
  • format(字符串,可选,默认 human):输出格式,human 或 json。

工作流程:

  1. 执行 OPERATION:urlRedirects 查询,输入 first: 250 与分页游标,输出包含 fromPath、target 的全部重定向,分页直到 hasNextPage: false。
  2. 构建路径映射:fromPath → target。
  3. 检测链:对每个重定向,检查其 target 是否作为其他重定向的 fromPath 出现。
  4. 检测重复:目标被多个来源路径指向的情况。

GraphQL 操作(已针对 api_version 2025-01 验证):

query URLRedirects($after: String) {
  urlRedirects(first: 250, after: $after) {
    edges {
      node {
        id
        path
        target
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

会话跟踪:技能要求在开始、每步之后和完成时输出指定格式的状态信息。开始输出包含技能名、店铺域名和开始时间的方框;每步输出 [N/TOTAL] 操作名、参数摘要和结果;完成时按 format 输出摘要。

human 格式完成输出示例:

══════════════════════════════════════════════
URL REDIRECT AUDIT
  Total redirects:    <n>
  Redirect chains:    <n>
  Duplicate targets:  <n>

  Chains:
    /old-page → /intermediate → /final
  Duplicates:
    /path-a → /product/x
    /path-b → /product/x  (same target)
  Output: redirect_audit_<date>.csv
══════════════════════════════════════════════

json 格式完成输出示例:

{
  "skill": "url-redirect-audit",
  "store": "<domain>",
  "total_redirects": 0,
  "chains": 0,
  "duplicate_targets": 0,
  "output_file": "redirect_audit_<date>.csv"
}

输出文件:CSV 文件 redirect_audit_<YYYY-MM-DD>.csv,列包括 redirect_id、from_path、target、issue_type、chain_path。

适用场景

  • 在每次重大店铺迁移或产品/集合结构调整导致 URL 批量变更后运行。
  • 需要检查重定向链、重复目标和孤立重定向以改善 SEO 与访问延迟时。

限制与安全

  • 只读技能,不执行任何变更,可随时安全运行。
  • 错误处理:THROTTLED(API 速率限制超出)时等待 2 秒并最多重试 3 次;无重定向(新店铺或干净设置)时以 ✅ 无重定向找到退出。
  • 修复链或删除重复项后,需使用 Shopify 后台 → 导航 → URL 重定向进行更正。Admin API 不支持批量删除,但可通过 urlRedirectDelete 变更删除单个重定向。
  • 该技能依赖已认证的 Shopify CLI 会话与 read_content 权限。