Free Page Speed Checklist for Better Core Web Vitals
Page speed is no longer just a "nice to have" — it is a confirmed Google ranking factor and a direct driver of revenue. Amazon found that every 100ms increase in load time cost 1% of sales. Google's Core Web Vitals (LCP, FID, CLS) are now incorporated into the Page Experience ranking signal. This checklist covers every significant page speed optimization, organized from highest impact to lower priority.
Core Web Vitals: The Three Metrics That Matter Most
Google measures page experience through three Core Web Vitals. Largest Contentful Paint (LCP) measures how long until the largest content element loads — target under 2.5 seconds. First Input Delay (FID) measures responsiveness to user interaction — target under 100ms. Cumulative Layout Shift (CLS) measures visual stability (elements jumping around as the page loads) — target under 0.1. Check your scores at PageSpeed Insights or in Google Search Console's Core Web Vitals report.
Image Optimization (Highest Impact)
Images are typically the largest contributor to page weight. Optimization steps: convert images to WebP or AVIF format (30-50% smaller than JPEG/PNG with equivalent quality), use responsive images with srcset so mobile users download appropriately sized images, add explicit width and height attributes to prevent layout shift (improves CLS), implement lazy loading for images below the fold (loading="lazy"), and compress images without perceptible quality loss using tools like Squoosh or TinyPNG.
JavaScript Optimization
JavaScript is the primary cause of slow interactivity (high FID). Key fixes: defer or async non-critical scripts to prevent render blocking, code-split large JavaScript bundles so only the code needed for the current page loads initially, remove unused JavaScript (tree shaking in your build process), and minify all JavaScript files. Use Chrome DevTools Coverage tool to identify unused JavaScript on each page.
CSS Optimization
Render-blocking CSS delays the First Contentful Paint. Extract critical CSS (above-the-fold styles) and inline it directly in the HTML head; load the full stylesheet asynchronously. Minify all CSS files. Remove unused CSS using PurgeCSS or UnCSS as part of your build process. A typical web page loads 50-75% of its CSS on pages where those styles are never applied.
Server Response Time
Everything depends on the server responding quickly. Time to First Byte (TTFB) should be under 800ms; under 200ms is excellent. Improve TTFB by upgrading to a faster hosting tier, implementing server-side caching, using a Content Delivery Network (CDN) to serve files from servers geographically close to users, enabling HTTP/2 or HTTP/3, and optimizing database queries for dynamic pages.
Browser Caching
Set appropriate cache headers so returning visitors load your site from their browser cache rather than downloading everything again. Static assets (images, CSS, JS) should have long cache lifetimes (1 year) with cache-busting through file name hashing. HTML pages should have shorter cache times or no-cache to ensure content freshness. Proper caching can make repeat visits effectively instant.
Third-Party Scripts
Analytics, chat widgets, ad scripts, social share buttons, and A/B testing tools all add third-party JavaScript that can significantly impact load time and FID. Audit every third-party script on your site and remove any that are not actively used. Load remaining third-party scripts asynchronously and consider using a tag manager to control when they load. Some third-party scripts (particularly video embeds) should be replaced with facade patterns that load the full script only on interaction.
Font Optimization
Web fonts are a common source of render-blocking and layout shift. Use font-display: swap to show fallback fonts immediately while custom fonts load. Preconnect to font CDNs: <link rel="preconnect" href="https://fonts.googleapis.com">. Limit font variants — every weight and style is a separate HTTP request. Consider system fonts for body text and reserving custom fonts for headings only.
Frequently Asked Questions
What is a good PageSpeed Insights score?
PageSpeed Insights scores pages 0-100. Above 90 is "Good," 50-89 is "Needs Improvement," below 50 is "Poor." However, the raw score matters less than the Core Web Vitals thresholds. A page can score 75 and still pass all Core Web Vitals thresholds, which is the actual criterion Google uses for ranking. Focus on passing LCP < 2.5s, FID < 100ms, and CLS < 0.1 before chasing a perfect 100 score.
Does page speed affect mobile and desktop rankings differently?
Google uses mobile-first indexing, meaning your mobile page speed is the primary signal used for ranking in both mobile and desktop results. Your mobile performance in Core Web Vitals determines your Page Experience ranking signals. Most sites perform significantly worse on mobile than desktop, making mobile optimization the higher priority. Test your site on real mobile devices in addition to PageSpeed Insights simulations.