Netlify Performance Optimization Cookbook
Optimize web performance with A/B testing, automated monitoring, and data-driven improvements using Netlify MCP and Continue.
Ship Faster Code, Not Slower Sites
Use AI to automatically monitor performance metrics, run A/B tests between
branches, and get actionable optimization suggestions based on real user data
from Netlify Analytics
The new Netlify Mission Control Integration enables Continuous AI for deployment automation - where AI agents autonomously manage deployments, monitor site performance, and respond to deployment events. This cookbook focuses on CLI-based performance optimization workflows, but you can also deploy autonomous deployment agents through Mission Control.
Get Started: Use this cookbook to understand Netlify MCP fundamentals, then enable Mission Control to deploy autonomous deployment management agents across your organization.
Did You Know? Netlify is more than just static hosting! It offers:
- Split Testing for A/B testing branches
- Analytics with Core Web Vitals tracking
- Edge Functions for personalization at the edge
- Build Plugins ecosystem with 100+ integrations
- Forms with built-in spam protection
- Identity for user authentication
- Large Media for Git LFS support
This guide shows you how to leverage these features through natural language with Continue CLI!
What You'll Learn
This cookbook teaches you to:
- Run A/B tests between branches to measure performance impact
- Monitor Core Web Vitals and build performance metrics
- Automatically block deploys that degrade performance using Deploy Contexts
- Optimize build times with Build Plugins and bundle sizes with AI assistance
Prerequisites
- GitHub repository with a web project
- Netlify account (free tier works)
- Node.js 22+ installed (required for Netlify)
- Continue CLI
- Netlify MCP configured
- Netlify Development Rules (recommended)
Quick Setup
The Netlify Development Rules bundle includes guardrails for:
- Proper
.gitignoreconfiguration - Function structure and placement
- Edge function constraints
- Local development best practices
For all options, first:
1
Install Continue CLI
curl -fsSL https://raw.githubusercontent.com/continuedev/continue/main/extensions/cli/scripts/install.sh | bash
2
Install Netlify CLI
- Install Netlify CLI:
npm i -g netlify-cli - Authenticate with Netlify:
netlify login
Netlify Continuous AI Workflow Options
🚀 Fastest Path to Success
Skip the manual setup and use our pre-built Netlify Continuous AI agent that includes
optimized prompts, rules, and the Netlify MCP for more consistent results.
After completing Quick Setup above, you have two paths to get started:
1
Add the Pre-Built Agent
Visit the Netlify Continuous AI Agent on Continue Mission Control and click "Install Agent" or run:
cn --agent continuedev/netlify-continuous-ai-agent
This agent includes:
- Built-in rules for consistent formatting and error handling
- Netlify MCP for more reliable API interactions
2
Verify Your Setup
The agent uses the Netlify MCP automatically and includes best practice rules for deployment and performance optimization.
3
Run Performance Analysis
From your project directory, run:
cn "Analyze my Netlify site's performance and optimize it for better Core Web Vitals."
That's it! The agent handles everything automatically.
Why Use the Agent? Results are more consistent and debugging is easier thanks to the Netlify MCP integration and pre-tested prompts. You can remix the agent later to customize it to your needs.
Performance Optimization Steps
Step 1: Baseline Performance Metrics
Establish your current performance baseline using cn CLI:
# Start cn in TUI mode
cn
# Then ask:
"Show my site's Core Web Vitals and build times"
Test in Plan Mode First: Before making performance optimizations that
might affect your site, test your prompts in plan mode (see the Plan Mode
Guide; press Shift+Tab to switch modes). This
shows you what the agent will do without executing it. For example:
"Set up A/B testing between main and feature branch with performance monitoring"Netlify automatically tracks:
- Build Performance: Compile times, cache hits
- Runtime Performance: Core Web Vitals, Time to Interactive
- Resource Usage: Bandwidth, function execution times
Step 2: A/B Test Branch Performance
Compare performance between branches:
# In cn TUI mode:
"Set up A/B test between main and feature branch on Netlify:
- Split traffic 50/50 between branches
- Track Core Web Vitals for each variant
- Monitor conversion metrics and bounce rate
- Enable analytics to measure performance impact
- Configure cookie-based visitor persistence
- Set test duration for 1000 unique visitors
- Auto-conclude test when statistical significance reached
Report winner based on performance + conversion metrics"
Enhanced Analytics: Combine Netlify's A/B testing with PostHog session
recordings to understand not just which variant performs better, but why users
behave differently. See our PostHog session analysis
guide to set up session tracking and
create a complete continuous AI analytics workflow.
Step 3: Advanced Build Optimization with Netlify
Leverage Netlify's powerful build features to dramatically reduce build times:
# In cn TUI mode:
"Optimize my Netlify build performance using these features:
1. Enable Netlify Cache Plugin for dependency caching
- Configure @netlify/plugin-cache for node_modules
- Set up custom cache directories for .next/cache or .nuxt
- Enable Gatsby's incremental builds if applicable
2. Set up Build Plugins from Netlify's ecosystem:
- Install @netlify/plugin-lighthouse for performance monitoring
- Add netlify-plugin-checklinks to prevent broken links
- Configure netlify-plugin-submit-sitemap for SEO
3. Implement Conditional Builds:
- Skip builds when only docs change (ignore: /docs/**)
- Use build.ignore script for custom logic
- Set up monorepo-specific build triggers
4. Configure concurrent builds for monorepos
- Set base directory per package
- Use pnpm workspaces or yarn workspaces
Show me the netlify.toml configuration and explain each optimization"
Netlify Build Features You're Getting:
- Build Caching - Persist dependencies between builds
- Build Plugins - Extend build process with 100+ plugins
- Conditional Builds - Skip unnecessary builds
- Monorepo Support - Optimize multi-package repos
These features can reduce build times by 50-70% for most projects!
Discover more optimization prompts! The Netlify community has documented dozens of build optimization strategies in their Support Guide: How can I optimize my Netlify build time.
Use this guide as inspiration for cn CLI prompts not covered in this cookbook, such as:
"Configure my builds to skip Dependabot PRs automatically""Set up custom ignore patterns for documentation-only changes""Optimize my Contentful webhooks to prevent duplicate builds""Show me how to use build hooks instead of automatic git triggers""Help me choose between Astro and Hugo based on build performance"
The community guide contains real-world scenarios that you can turn into AI-assisted solutions - just describe what you want to achieve and let cn CLI handle the implementation!
Step 4: Bundle Analysis with Netlify's Built-in Tools
Use Netlify's bundle analyzer and optimization features:
# In cn TUI mode:
"Analyze and optimize my bundle using Netlify's tools:
1. Enable Netlify Bundle Analyzer:
- Add @netlify/plugin-bundle-analyzer to plugins
- Configure size thresholds in netlify.toml
- Generate visual bundle reports
2. Set up Asset Optimization:
- Enable automatic JS minification
- Configure CSS optimization
- Turn on HTML minification
- Set up image processing pipeline
3. Implement Smart Code Splitting:
- Analyze current chunks with the bundle analyzer
- Identify components over 50KB for splitting
- Configure webpack/vite for optimal chunking
- Set up route-based code splitting
4. Configure Netlify's CDN for optimal delivery:
- Set cache headers for static assets
- Enable Brotli compression
- Configure edge caching rules
Generate a full report with before/after bundle sizes"
Netlify's Performance Arsenal
Features Available Through Netlify MCP:
- Bundle Analyzer: Visualize your JavaScript bundles
- Asset Optimization: Automatic minification and compression
- Edge Network: Global CDN with smart caching
- Deploy Previews: Test optimizations before production
Step 5: Image Optimization
Optimize images for better performance:
# In cn TUI mode:
"Set up Cloudinary image optimization for my Netlify site:
- Install @cloudinary/netlify-plugin via MCP
- Auto-convert images to WebP with fallbacks
- Generate responsive sizes (320w, 640w, 1024w, 1920w)
- Add lazy loading for all images
- Configure blur-up placeholders
- Update netlify.toml with Cloudinary settings
Target: Reduce image payload by 60-80% and improve LCP"
Continuous Performance Monitoring
Step 6: Performance Budget Enforcement with Lighthouse CI
Set and enforce performance budgets with automated testing:
# In cn TUI mode:
"Set up Lighthouse CI with performance budgets for my Netlify site:
Requirements:
- LCP must be < 2.5 seconds
- JavaScript bundle must be < 200KB
- Total size < 500KB
- Performance score >= 90
Setup needed:
1. Install @lhci/cli and @netlify/plugin-lighthouse
2. Create lighthouserc.js with these budget assertions
3. Configure netlify.toml to run checks on all deploys
4. Add GitHub status checks to block PRs that exceed budgets
5. Create performance dashboard at /lighthouse-reports
Please configure the complete Lighthouse CI setup with these budgets."
This comprehensive setup will automatically test every deploy preview and
production deployment, blocking any changes that violate your performance
budgets.
Step 7: Real User Monitoring with Netlify Analytics
Leverage Netlify's built-in analytics and integrate advanced RUM solutions:
# In cn TUI mode:
"Set up comprehensive Real User Monitoring for my Netlify site:
1. Configure Netlify Analytics Pro (requires Pro account):
- Set up server-side analytics (no JS required)
- Track Core Web Vitals (LCP, FID, CLS, INP)
- Monitor top pages by performance score
- Create custom performance alerts
- Configure weekly performance reports
2. Integrate Web Vitals tracking:
- Install web-vitals library for detailed metrics
- Send metrics to Netlify Functions endpoint
- Store performance data in Netlify Blobs
- Create performance dashboard at /metrics
3. Set up Performance Alerts:
- Alert when P75 LCP > 3 seconds
- Notify if CLS increases by 20%
- Monitor JavaScript error rates
- Track 404s and broken resources
- Send alerts to Slack via Netlify Functions
4. Configure Geographic Performance Monitoring:
- Use Netlify Edge Functions to track region-specific metrics
- Identify slow regions with Edge geo data
- Compare performance across CDN nodes
- Optimize edge caching for slow regions
5. Create Custom Performance Dashboard:
- Build dashboard page using Netlify Functions
- Display real-time Core Web Vitals
- Show performance trends over time
- Include browser and device breakdowns
Show me the complete implementation with all code and configurations"
Note: Netlify Analytics Pro requires a paid Netlify Pro account ($19/month
per site). The prompt above assumes you have this plan. For free tier users,
focus on steps 2-5 which use Netlify Functions and Edge Functions to build
custom analytics.
Netlify Analytics Advantages:
- Server-side Analytics - No client-side JavaScript needed
- Core Web Vitals - Automatic tracking of Google's metrics
- Custom Metrics - Track any metric via Functions
- Edge Insights - Geographic performance data
- No Cookie Banner Required - GDPR compliant by default
Unlike Google Analytics, Netlify Analytics:
- Doesn't slow down your site (server-side)
- Captures 100% of traffic (no ad blockers)
- Respects user privacy (no cookies)
- Shows bot traffic separately
Pro Tip
Combine Netlify Analytics with Edge Functions to create a
powerful RUM solution that:
- Tracks performance by user segment
- A/B tests performance optimizations
- Personalizes content based on connection speed
- Automatically serves lighter assets to slow connections
Automated Performance Checks
Add GitHub Secrets
Navigate to Repository Settings → Secrets and variables → Actions and add:
CONTINUE_API_KEY: Your Continue API key from continue.dev/settings/api-keysNETLIFY_AUTH_TOKEN: Your Netlify personal access tokenNETLIFY_SITE_ID: Your Netlify site ID
GitHub Actions Performance Guard
Block PRs that degrade performance:
name: Performance Check
on:
pull_request:
jobs:
performance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install Continue CLI
run: |
npm install -g @continuedev/cli
echo "✅ Continue CLI installed"
- name: Authenticate Continue CLI
env:
CONTINUE_API_KEY: ${{ secrets.CONTINUE_API_KEY }}
run: |
cn auth login --api-key "$CONTINUE_API_KEY"
echo "✅ Continue CLI authenticated"
- name: Deploy and Test Performance
id: perf
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
run: |
echo "🚀 Deploying PR preview and analyzing performance..."
cn -p "Deploy PR preview and run Lighthouse.
Compare scores with main branch.
Output JSON with score deltas." > performance.json
- name: Comment Performance Results
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const perf = JSON.parse(fs.readFileSync('performance.json'));
const emoji = perf.score_delta < -10 ? '🔴' :
perf.score_delta < 0 ? '🟡' : '🟢';
const comment = `## ${emoji} Performance Impact
| Metric | Main | PR | Delta |
|--------|------|----|---------|
| Performance Score | ${perf.main_score} | ${perf.pr_score} | ${perf.score_delta > 0 ? '+' : ''}${perf.score_delta} |
| LCP | ${perf.main_lcp}s | ${perf.pr_lcp}s | ${perf.lcp_delta > 0 ? '+' : ''}${perf.lcp_delta}s |
| Bundle Size | ${perf.main_bundle}KB | ${perf.pr_bundle}KB | ${perf.bundle_delta > 0 ? '+' : ''}${perf.bundle_delta}KB |
${perf.score_delta < -10 ? '⚠️ **This PR significantly degrades performance. Please optimize before merging.**' : ''}
[View Full Report](${perf.report_url})`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
// Fail check if performance degrades significantly
if (perf.score_delta < -10) {
core.setFailed('Performance degraded by more than 10 points');
}
This workflow will:
- Block merge if performance score drops >10 points
- Warn on any performance regression
- Celebrate improvements with green indicators
Performance Testing Locally
Step 8: Local Performance Testing
Test performance before deploying:
# In cn TUI mode:
"Run production build and measure bundle sizes"
Step 9: Pre-commit Performance Checks
Prevent performance regressions before they happen:
# In cn TUI mode:
"Add pre-commit hooks for bundle size limits"
Performance Troubleshooting
Debug Performance Issues
Identify and fix performance bottlenecks:
# In cn TUI mode:
"Why did my performance score drop?"
Performance Issue Quick Fixes
| Issue | Quick Fix Command (in cn TUI) |
|---|---|
| Slow LCP | "Preload critical resources" |
| High CLS | "Add size attributes to images" |
| Large bundles | "Implement code splitting" |
| Slow builds | "Enable build caching" |
| Poor caching | "Configure cache headers" |
What You've Accomplished
Performance-First Development
You've built an AI-powered performance optimization system that:
- Automatically monitors Core Web Vitals
- Runs A/B tests between branches
- Blocks deployments that degrade performance
- Provides actionable optimization suggestions
Discover Netlify's Hidden Performance Gems
Features many developers don't know Netlify offers:
Edge Functions
- Run code at the edge, closer to users
- Transform responses on-the-fly
- A/B test at the edge level
- Personalize content without client-side JS
Netlify Graph
- Unified GraphQL gateway for all your APIs
- Automatic TypeScript generation
- Built-in authentication handling
- Zero client-side API keys needed
On-Demand Builders
- Generate pages only when requested
- Cache dynamically generated content
- Perfect for large sites (10k+ pages)
- Reduce build times dramatically
Netlify Functions
- Run tasks up to 15 minutes
- Process webhooks asynchronously
- Handle heavy computations
- No timeout worries
# Try these advanced features in cn TUI mode:
"Show me how to use Netlify Edge Functions for geo-based personalization"
"Set up On-Demand Builders for my blog with 5000 posts"
"Configure Background Functions for image processing"
Performance Best Practices
The Netlify Performance Rules enforce:
Build Optimization
- Dependency caching enabled
- Parallel builds when possible
- Incremental compilation
- Smart cache invalidation
Runtime Performance
- Automatic image optimization
- Efficient resource hints (preload, prefetch)
- Optimal cache headers
- CDN configuration
Monitoring Standards
- Performance budgets enforced
- Core Web Vitals tracking
- Real user monitoring
- Automated alerts
Advanced Performance Strategies
Progressive Enhancement
# In cn TUI mode:
"Implement progressive enhancement with basic HTML first"
Multi-variant Testing
# In cn TUI mode:
"Test 3 bundle strategies and auto-select winner"
Predictive Prefetching
# In cn TUI mode:
"Analyze navigation patterns and prefetch next pages"
Next Steps
- Install Netlify MCP from Continue Mission Control
- Set up Performance Monitoring
- Configure A/B Testing
- Join the GitHub Discussions for support