用途
page-content-audit 用于扫描 Shopify 店铺的所有页面和博客文章,检查是否存在内容缺失或内容过短(thin content)的问题,包括正文过短、正文为空、缺少 SEO 标题、缺少 SEO 描述。资料指出,薄内容页面会被搜索引擎惩罚,并且会造成较差的客户体验。该技能为只读操作,不执行任何变更,可随时安全运行。它与 seo-metadata-audit 互补,后者覆盖商品和集合。
主要能力
- 查询店铺所有页面(pages),选取 title、body、bodySummary、seo、publishedAt 及分页游标,每批最多 250 条。
- 查询所有博客文章(articles),选取 title、body、seo、publishedAt、所属 blog 标题及分页游标。
- 标记四类问题:正文为空、正文字符数小于 min_body_length、缺少 SEO 标题、缺少 SEO 描述。
- 支持输出 human(默认)或 json 格式,并生成 CSV 审计文件。
前置条件
- 已认证的 Shopify CLI 会话:shopify store auth --store <domain> --scopes read_content
- API 权限范围:read_content
参数
- store(string,必填,无默认值):店铺域名,例如 mystore.myshopify.com
- min_body_length(integer,可选,默认 100):标记正文内容短于该字符数的页面
- include_unpublished(bool,可选,默认 false):是否同时审计未发布的页面和文章
- format(string,可选,默认 human):输出格式,可选 human 或 json
工作流程
- OPERATION:pages — query。输入 first: 250,选取 title、body、bodySummary、seo、publishedAt 及分页游标。预期输出:所有页面及其内容与 SEO 数据。
- OPERATION:articles — query。输入 first: 250,选取 title、body、seo、publishedAt、blog { title } 及分页游标。预期输出:所有博客文章及其内容数据。
- 标记:正文为空、正文长度小于 min_body_length、缺少 SEO 标题、缺少 SEO 描述。
GraphQL 操作
pages:query — 已针对 api_version 2025-04 验证:
query PageContentAudit($after: String) {
pages(first: 250, after: $after) {
edges {
node {
id
title
handle
publishedAt
bodySummary
body
seoTitle: metafield(namespace: "global", key: "title_tag") { value }
seoDescription: metafield(namespace: "global", key: "description_tag") { value }
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
articles:query — 已针对 api_version 2025-04 验证:
query ArticleContentAudit($after: String) {
articles(first: 250, after: $after) {
edges {
node {
id
title
handle
publishedAt
body
summary
seoTitle: metafield(namespace: "global", key: "title_tag") { value }
seoDescription: metafield(namespace: "global", key: "description_tag") { value }
blog {
id
title
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
会话跟踪
技能要求在每一阶段输出状态信息。开始时输出包含 SKILL、Store、Started 的横幅;每步完成后输出 [N/TOTAL] <QUERY|MUTATION> <OperationName>、Params 摘要与 Result 结果;完成时,human 格式输出扫描的页面数、文章数、问题列表与输出文件名,json 格式输出 skill、store、pages_scanned、articles_scanned、issues_found、output_file 字段。
输出格式
生成 CSV 文件 content_audit_<YYYY-MM-DD>.csv,列包括:type、id、title、handle、published_at、body_length、has_seo_title、has_seo_description、issue。
错误处理
- THROTTLED(API 速率限制):等待 2 秒后重试,最多重试 3 次。
- 无页面或文章(极简店铺):以 0 结果退出。
最佳实践
- 搜索引擎通常将少于 300 词的页面视为“薄内容”,建议使用 min_body_length: 1500(约 250 词)作为起始阈值。
- About、FAQ、Contact 属于高信任页面,绝不应为空,应优先处理。
- 在任何可能清空页面内容的 CMS 迁移或主题更换后运行本技能。
- 与 seo-metadata-audit 配合,可在同一工作流程中完成覆盖商品、集合、页面和博客文章的完整 SEO 审计。
限制
资料未提供除 read_content 之外的额外权限要求、价格或收费信息、支持的其他平台,以及除上述参数和错误类型之外的其他配置项,这些内容暂未提供。