Skip to content
Back to skills

Shopify Performance Tuning

ASecurity

'Optimize Shopify API performance with GraphQL query cost reduction,

  • 2,688 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 29, 2026
ai-agentsapiperformance

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill shopify-performance-tuning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Shopify Performance Tuning?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Shopify Performance Tuning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-shopify-performance-tuning/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-shopify-performance-tuning)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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: 1.0.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](references/query-cost-optimization.md) 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](references/bulk-operations.md) 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](references/response-caching.md) 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](references/storefront-api-usage.md) 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](references/query-cost-optimization.md) 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](references/bulk-operations.md) 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](references/response-caching.md) for the complete caching implementation.

## Resources

- [GraphQL Rate Limits](https://shopify.dev/docs/api/usage/rate-limits#graphql-admin-api-rate-limits)
- [Bulk Operations](https://shopify.dev/docs/api/usage/bulk-operations/queries)
- [Storefront API](https://shopify.dev/docs/api/storefront)
- [Query Cost Debug Header](https://shopify.dev/docs/api/usage/rate-limits#query-cost)

Files in this skill

  • SKILL.md4.2 KB
  • references/bulk-operations.md1.5 KB
  • references/query-cost-optimization.md2.1 KB
  • references/response-caching.md1.1 KB
  • references/storefront-api-usage.md830 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…