shopify-performance-tuning

'Optimize Shopify API performance with GraphQL query cost reduction,

3 Tools
shopify-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEdit

Provided by Plugin

shopify-pack

Claude Code skill pack for Shopify (30 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the shopify-pack plugin:

/plugin install shopify-pack@claude-code-plugins-plus

Click to copy

Instructions

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 LATESTAPIVERSION 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
Bulk operation FAILED Query syntax error Test query in GraphiQL first
Stale cache data Cache not invalidated Add webhook handlers to clear cache
Storefront API 403 Wrong token type Use Storefront API access token, not Admin

Examples

Reducing Query Cost on a Product Sync

A product sync job hits THROTTLED errors. Analyze the cost breakdown, reduce first: page sizes, and remove unused fields.

See Query Cost Optimization for debug commands and before/after examples.

Exporting Orders with Bulk Operations

Export 50,000 orders with line items using a bulk operation that bypasses rate limits and returns JSONL results.

See Bulk Operations for the complete mutation, polling, and download flow.

Caching Product Data with Webhook Invalidation

Add an LRU cache layer for product queries that auto-invalidates when products/update webhook events fire.

See Response Caching for the complete caching implementation.

Resources

Ready to use shopify-pack?