Google uses Core Web Vitals as a ranking factor. AI models favor fast, well-structured sites. Here are the 12 things I check on every site audit.
Run PageSpeed Insights on 5 key pages
Don't just test the homepage. Test your highest-traffic service page, a blog post, your contact page, and a landing page. Performance varies by page and the worst-performing pages drag down your overall site quality signal.
Compress and resize all images
Images are the number one cause of slow pages. Convert to WebP format, resize to the maximum display size (not 4000px wide for a 600px container), and use lazy loading for below-the-fold images.
Eliminate render-blocking resources
Move non-critical CSS and JavaScript below the fold or defer loading. Google Tag Manager, analytics scripts, chat widgets, and social embeds should all load after the main content.
Enable browser caching
Set cache headers so returning visitors don't re-download assets. Static assets (images, CSS, JS) should cache for at least 30 days. HTML should have shorter cache times or no-cache with revalidation.
Minimize CSS and JavaScript
Remove unused CSS (most WordPress themes ship with 80% unused styles). Bundle and minify JavaScript. Every kilobyte matters on mobile connections.
Check Largest Contentful Paint (LCP)
LCP measures when the largest visible element loads. Target under 2.5 seconds. If your hero image or main headline takes 4+ seconds to appear, visitors are already bouncing.
Fix Cumulative Layout Shift (CLS)
CLS measures unexpected page movement — buttons shifting, images popping in, ads pushing content down. Set explicit width/height on images and reserve space for dynamic content. Target under 0.1.
Optimize First Input Delay / Interaction to Next Paint (INP)
These metrics measure responsiveness. Heavy JavaScript that blocks the main thread makes buttons feel unresponsive. Break up long tasks, defer non-essential scripts, and test on real mobile devices.
Use a CDN for static assets
A Content Delivery Network serves your images, CSS, and JS from servers close to the visitor. For sites serving multiple regions, a CDN can cut load times by 40-60%.
Audit third-party scripts
Chat widgets, heatmaps, A/B testing tools, and ad pixels add up fast. Each third-party script is a potential performance hit and a privacy liability. Remove anything you aren't actively using.
Implement server-side rendering or static generation
Client-side rendered pages send an empty HTML shell and make the browser do all the work. Server-side rendering sends complete HTML that displays immediately. This is why I build with Next.js.
Test on real devices over real networks
Lab tools like Lighthouse simulate conditions. Real-world performance is what matters. Test on a mid-range Android phone over a 4G connection — that's the experience most of your visitors actually have.
