Claude Skills Guide

Claude Code for CDN Optimization Workflow Tutorial

Content Delivery Networks (CDNs) are critical infrastructure for modern web applications, but optimizing them effectively requires understanding caching behaviors, asset patterns, and performance metrics. This tutorial shows you how to use Claude Code to automate CDN optimization tasks, from configuring cache policies to analyzing hit rates and reducing latency.

Understanding CDN Optimization with Claude Code

Claude Code can assist with CDN optimization through several key capabilities:

  1. Configuration Analysis - Reviewing and improving CDN configurations
  2. Asset Audit - Identifying optimization opportunities in your static assets
  3. Cache Policy Design - Creating effective caching strategies
  4. Performance Monitoring - Analyzing CDN metrics and suggesting improvements

Setting Up Your CDN Optimization Project

Before diving into optimization tasks, create a dedicated project structure for your CDN workflow:

mkdir cdn-optimization-project
cd cdn-optimization-project
mkdir -p config/analysis/recommendations

Creating a Claude.md Context File

Create a CLAUDE.md file to help Claude understand your CDN infrastructure:

# CDN Infrastructure Context

## CDN Provider
- Primary: Cloudflare (production)
- Backup: AWS CloudFront (legacy)

## Domain Configuration
- Main domain: example.com
- Static assets: cdn.example.com
- Media assets: media.example.com

## Current Cache Settings
- Static assets: 7 days
- HTML: 1 hour
- API responses: no-cache (private)

## Known Issues
- High cache miss rate on /api/config endpoints
- Large JavaScript bundles not being versioned
- Missing compression on legacy images

Practical Optimization Workflows

Workflow 1: Analyzing Cache Hit Rates

Claude Code can help you analyze CDN cache performance. Provide Claude with access to your CDN logs or metrics:

Analyze the cache hit rates from our CDN logs. Identify patterns where:
- Cache hit rate is below 80%
- Specific file types have poor hit rates
- Geographic regions show degraded performance

Claude will examine patterns and suggest specific optimizations:

{
  "analysis": {
    "overall_hit_rate": "78%",
    "problematic_paths": [
      {
        "pattern": "/static/js/*.js",
        "hit_rate": "45%",
        "issue": "No version hash in filenames",
        "recommendation": "Implement content hashing for JS bundles"
      },
      {
        "pattern": "/api/user/*",
        "hit_rate": "52%",
        "issue": "Personalized content with aggressive caching",
        "recommendation": "Implement Vary: Cookie header"
      }
    ]
  }
}

Workflow 2: Implementing Cache Rules

Use Claude Code to generate appropriate cache rules for different asset types:

Prompt Example:

Create CDN cache rules (Cloudflare Workers or Page Rules format) for:
1. Static assets with fingerprint (max-age=31536000, immutable)
2. HTML pages (s-maxage=3600, stale-while-revalidate)
3. API responses with authentication (no-store, private)
4. Images with responsive variants (max-age=86400)

Claude will generate configuration:

// Cloudflare Worker Cache Rules
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)
  
  // Static assets with fingerprint - immutable
  if (url.pathname.match(/\/static\/[a-f0-9]{32}\./)) {
    return new Response(request.body, {
      headers: {
        'Cache-Control': 'public, max-age=31536000, immutable',
        'CDN-Cache-Control': 'max-age=31536000'
      }
    })
  }
  
  // HTML pages - revalidate after 1 hour
  if (url.pathname.endsWith('.html') || url.pathname === '/') {
    return new Response(request.body, {
      headers: {
        'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=86400',
        'CDN-Cache-Control': 'public, max-age=3600'
      }
    })
  }
  
  // Default: no caching for dynamic content
  return new Response(request.body, {
    headers: {
      'Cache-Control': 'no-store, private',
      'Pragma': 'no-cache'
    }
  })
}

Workflow 3: Asset Optimization Pipeline

Claude Code can help design an automated asset optimization workflow:

Step 1: Image Optimization Configuration

# cdn-optimization.yml
image_optimization:
  quality: 80
  formats:
    - webp
    - avif
    - original
  
  resize_rules:
    - path: /images/*
      sizes:
        - { width: 320, suffix: "-sm" }
        - { width: 768, suffix: "-md" }
        - { width: 1024, suffix: "-lg" }
        - { width: 1920, suffix: "-xl" }
      
  lazy_loading: true
  prefetch_threshold: 100

Step 2: Bundle Optimization

Claude can analyze your build output and suggest splitting strategies:

Our JavaScript bundle is 2.5MB. Analyze the bundle and recommend:
1. Code splitting opportunities
2. Dynamic imports for route-based loading
3. Vendor chunk separation
4. Tree shaking improvements

Automated CDN Health Checks

Set up automated monitoring with Claude Code integration:

# cdn-health-check.yml
checks:
  - name: cache_hit_rate
    threshold: 90%
    alert_on_failure: true
    
  - name: ttfb
    threshold: 200ms
    regions: [us-east, eu-west, ap-south]
    
  - name: origin_health
    endpoint: /health
    interval: 60s
    
  - name: ssl_expiry
    warning_days: 30
    critical_days: 7

Best Practices for CDN Optimization

1. Use Consistent Cache Keys

Ensure your cache keys properly account for:

2. Implement Stale-While-Revalidate

This pattern keeps content fresh while serving cached versions:

Cache-Control: s-maxage=3600, stale-while-revalidate=86400

3. Set Proper CORS Headers

For CDN-hosted resources:

cors:
  allowed_origins:
    - "https://example.com"
    - "https://app.example.com"
  exposed_headers:
    - CDN-Cache-Status
    - X-Cache-Hits
  max_age: 86400

4. Monitor and Iterate

Regularly review these metrics:

Integrating CDN Optimization into CI/CD

Add CDN validation to your deployment pipeline:

# .github/workflows/cdn-optimization.yml
name: CDN Optimization Check

on: [push, pull_request]

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Analyze Bundle Sizes
        run: |
          # Check for unversioned assets
          npx cdn-analyzer --config cdn-config.yml
          
      - name: Validate Cache Headers
        run: |
          # Test cache header configuration
          npx cache-validator --strict
          
      - name: Check Image Optimization
        run: |
          # Verify images are optimized
          npx image-checker --quality-threshold 85

Common Pitfalls to Avoid

  1. Over-caching dynamic content - Always set appropriate cache headers for personalized content
  2. Ignoring cache invalidation - Implement proper purge strategies for updates
  3. Missing geographic optimization - Configure origin shields and regional caches
  4. Neglecting HTTP/2 or HTTP/3 - Ensure your CDN properly supports modern protocols

Conclusion

Claude Code significantly accelerates CDN optimization by automating analysis, generating configuration rules, and identifying improvement opportunities. Start with the workflows in this tutorial, and customize them to your specific infrastructure needs.

Remember: CDN optimization is an ongoing process. Regular monitoring, analysis, and iteration will continuously improve your performance and reduce costs.

Built by theluckystrike — More at zovo.one