Page Speed Optimization: A Technical Checklist for 2025
Why Speed Matters
Every 100ms of added page load time costs Amazon 1% in sales. Your site is no different. Slow pages have higher bounce rates, lower conversion rates, and worse rankings.
Here is the complete technical checklist, organized by impact.
High Impact Optimizations
Optimize Images
Images account for 50-70% of page weight on most sites.
- Convert all images to WebP or AVIF format
- Implement responsive images with srcset and sizes attributes
- Lazy load images below the fold
- Set explicit width and height to prevent CLS
- Use a CDN for image delivery
- Consider an image CDN like Cloudinary that handles format conversion and resizing automatically
Minimize JavaScript
- Audit third-party scripts and remove any that are not essential
- Defer non-critical JavaScript with async or defer attributes
- Code-split your bundles so pages only load the JavaScript they need
- Use tree-shaking to eliminate unused code
- Move heavy computation to web workers
Enable Compression
- Enable Brotli compression on your server (20-30% better than gzip)
- Ensure all text-based assets are compressed: HTML, CSS, JavaScript, JSON, SVG
Use a Content Delivery Network
- Serve static assets from edge locations near your users
- Most CDNs also provide automatic image optimization and HTTP/2 support
- Configure proper cache headers for static assets
Medium Impact Optimizations
Optimize CSS
- Remove unused CSS (tools like PurgeCSS can automate this)
- Inline critical CSS for above-the-fold content
- Defer non-critical stylesheets
- Minimize CSS file size through minification
Optimize Web Fonts
- Use font-display: swap to prevent invisible text during font loading
- Preload critical fonts with link rel="preload"
- Subset fonts to include only the characters you need
- Consider using system fonts for body text and custom fonts only for headings
Implement Caching
- Set long cache expiration for static assets (1 year for versioned files)
- Use short cache times for HTML documents
- Implement stale-while-revalidate for API responses
- Use service workers for repeat visitor performance
Server-Level Optimizations
HTTP/2 or HTTP/3
Ensure your server supports HTTP/2 at minimum. HTTP/3 with QUIC provides even better performance, especially on mobile connections.
Server Response Time
Your server should respond in under 200ms. If it is slower:
- Optimize database queries
- Implement server-side caching (Redis, Memcached)
- Use edge computing for dynamic content
- Upgrade hosting if the server is underpowered
Preconnect to Third-Party Origins
Add preconnect hints for any third-party domains your page loads resources from: analytics, fonts, CDNs, APIs.
Measuring Progress
Test before and after every optimization:
- Run PageSpeed Insights for both lab and field data
- Test on real mobile devices, not just simulators
- Monitor real user metrics through CrUX data
- Track speed index and time to interactive, not just LCP
Set a performance budget: no page should exceed 500KB total transfer size and 2.5 seconds LCP on 4G connections. Monitor this in CI/CD to prevent regressions.