| name | shopify-performance-tuning |
| description | Optimize Shopify API performance with GraphQL query cost reduction, bulk operations,
caching strategies, and Storefront API for high-traffic storefronts.
Use when queries are slow or hitting THROTTLED errors, exporting large datasets,
or optimizing API throughput for a high-traffic storefront.
Trigger with phrases like "shopify performance", "optimize shopify",
"shopify slow", "shopify caching", "shopify bulk operation", "shopify query cost".
|
| allowed-tools | Read, Write, Edit |
| version | 2.7.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","ecommerce","shopify"] |
| compatibility | Designed for Claude Code |
Shopify Performance Tuning
Overview
Optimize Shopify API performance through GraphQL query cost reduction, bulk operations for large data exports, response caching, and Storefront API for high-traffic public-facing queries.
Prerequisites
- Understanding of Shopify's calculated query cost system
- Access to the
Shopify-GraphQL-Cost-Debug: 1 header for cost analysis
- Redis or in-memory cache available (optional)
Instructions
Step 1: Analyze and Reduce Query Cost
Use the debug header to inspect requestedQueryCost vs actualQueryCost. Reduce cost by selecting only needed fields and lowering first: page sizes (250 to 50 can cut cost by 5x).
See Query Cost Optimization for debug commands and before/after examples.
Step 2: Use Bulk Operations for Large Exports
Bulk operations bypass rate limits and are designed for exporting large datasets. Start a mutation, poll for completion, then download JSONL results.
See Bulk Operations for the complete mutation/poll/download flow and performance comparison table.
Step 3: Cache Frequently Accessed Data
LRU cache layer with webhook-driven invalidation. Cache product data for 5 minutes, then clear on products/update webhook events.
See Response Caching for the complete implementation.
Step 4: Use Storefront API for Public Queries
The Storefront API has separate rate limits and is designed for high-traffic public storefronts. Uses LATEST_API_VERSION from @shopify/shopify-api.
See Storefront API Usage for the complete implementation.
Output
- Query costs reduced through field selection and page size optimization
- Bulk operations configured for large data exports
- Response caching with webhook-driven invalidation
- Storefront API used for public-facing high-traffic queries
Error Handling
| Issue | Cause | Solution |
|---|
THROTTLED on every query | requestedQueryCost too high | Reduce first: and remove unused fields |