AgentStack
SKILL verified MIT Self-run

Shopify Admin Seo Metadata Audit

skill-40rty-ai-shopify-admin-skills-shopify-admin-seo-metadata-audit · by 40RTY-ai

Read-only: scans products, collections, and pages for missing SEO titles or meta descriptions.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-40rty-ai-shopify-admin-skills-shopify-admin-seo-metadata-audit

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
Are you the author of Shopify Admin Seo Metadata Audit? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.

About

Purpose

Scans all active products, collections, and pages and flags records with missing or short SEO titles (seo.title) and meta descriptions (seo.description). Produces a prioritized list of SEO gaps sorted by traffic potential (products → collections → pages). Read-only — no mutations.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store --scopes read_products,read_content
  • API scopes: read_products, read_content

Parameters

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | store | string | yes | — | Store domain (e.g., mystore.myshopify.com) | | mintitlelength | integer | no | 10 | Flag SEO titles shorter than this (characters) | | mindescriptionlength | integer | no | 50 | Flag meta descriptions shorter than this (characters) | | scope | string | no | all | What to scan: products, collections, pages, or all | | format | string | no | human | Output format: human or json |

Safety

> ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.

Workflow Steps

  1. OPERATION: products — query (if scope includes products)

Inputs: query: "status:active", first: 250, select seo { title, description }, pagination cursor Expected output: All active products with SEO fields; paginate until hasNextPage: false

  1. OPERATION: collections — query (if scope includes collections)

Inputs: first: 250, select seo { title, description }, pagination cursor Expected output: All collections with SEO fields

  1. OPERATION: pages — query (if scope includes pages)

Inputs: first: 250, select seo { title, description }, pagination cursor Expected output: All pages with SEO fields

  1. Flag records: missing title, missing description, title ║

║ Started: ║ ╚══════════════════════════════════════════════╝


**After each step**, emit:

[N/TOTAL] → Params: → Result:


**On completion**, emit:

For `format: human` (default):

══════════════════════════════════════════════ SEO METADATA AUDIT Products scanned: | Missing SEO: Collections scanned: | Missing SEO: Pages scanned: | Missing SEO:

Top gaps (products): "" — missing: description "" — title too short ( chars) Output: seoaudit.csv ══════════════════════════════════════════════


For `format: json`, emit:
```json
{
  "skill": "seo-metadata-audit",
  "store": "",
  "summary": {
    "products": { "scanned": 0, "missing_title": 0, "missing_description": 0, "short_title": 0, "short_description": 0 },
    "collections": { "scanned": 0, "missing_title": 0, "missing_description": 0 },
    "pages": { "scanned": 0, "missing_title": 0, "missing_description": 0 }
  },
  "output_file": "seo_audit_.csv"
}

Output Format

CSV file seo_audit_.csv with columns: type, id, title, handle, seo_title, seo_description, issue

Error Handling

| Error | Cause | Recovery | |-------|-------|----------| | THROTTLED | API rate limit exceeded | Wait 2 seconds, retry up to 3 times | | Empty store | No products/collections/pages | Exit with summary: 0 records |

Best Practices

  • Prioritize fixing missing meta descriptions on top-selling products first — descriptions appear in search result snippets and directly impact click-through rate.
  • A good SEO title length is 50–60 characters; meta descriptions should be 120–160 characters. Adjust min_title_length and min_description_length to match these targets.
  • Run monthly as part of a catalog hygiene routine, especially after bulk product imports which often omit SEO fields.
  • After fixing gaps, pair with product-data-completeness-score for a comprehensive catalog quality view.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.