Website Speed Optimization Checklist: 21 Quick Wins
Speed is a sequence of small wins, not one magic plugin. Work down this list in order and most sites cut their load time in half without touching a line of application code.
Every second of delay costs conversions, rankings and trust. The frustrating part is that most slow sites are not slow because of the server - they are slow because of unoptimised images, render-blocking scripts and a database doing the same query a thousand times. Work through this checklist in order; the early items deliver the biggest gains.
Measure before you change anything
Establish a baseline with real numbers: Lighthouse in Chrome DevTools (mobile throttling), WebPageTest for a waterfall view, and PageSpeed Insights for Core Web Vitals field data from actual users. Record LCP, CLS, INP, TTFB and total transfer size. Without a baseline you cannot tell which fix worked.
Server and caching (biggest wins)
- Enable full-page caching. Serve pre-rendered HTML instead of executing PHP per request.
- Enable object caching (Redis or Memcached) for databases with repeated queries.
- Use a CDN so images and static assets come from a node close to the visitor.
- Enable GZIP or Brotli compression for text assets.
- Set far-future expiry headers on versioned static files.
- Upgrade to HTTP/2 or HTTP/3 so assets download in parallel.
- Use NVMe storage - it removes database and file I/O wait.
Images (usually the biggest bytes)
Serve modern formats (WebP or AVIF) with a JPEG fallback, size images to their display dimensions rather than uploading a 4000px photo into a 600px slot, lazy-load everything below the fold, and compress with a quality setting that looks fine (typically 75-85). A hero image over 300 KB is a problem; a properly compressed one is 60-100 KB.
Front-end code
- Defer or async non-critical JavaScript; remove scripts you do not use.
- Inline critical CSS and load the rest asynchronously.
- Remove unused CSS from bloated themes and page builders.
- Minify CSS and JS, and combine only where it genuinely reduces requests.
- Self-host fonts with
font-display: swapto avoid invisible text. - Delay third-party embeds (chat widgets, tag managers) until interaction.
Database and application
Clean post revisions and transients, add missing database indexes for your heaviest queries, and use slow-query logging to find the offenders. On WordPress, audit plugins: one poorly written plugin can triple your response time. Cache the results of expensive queries and avoid N+1 query patterns in custom code.
Core Web Vitals specifics
LCP: preload the hero image, ensure server response is fast, avoid lazy-loading the LCP element. CLS: set explicit width and height on images and embeds, reserve space for ads and banners, avoid injecting content above existing content. INP: break up long JavaScript tasks, defer heavy scripts, and avoid large event handlers that block the main thread.
Maintain the gains
Re-test monthly, after plugin or theme updates, and after large content uploads. Set up a synthetic monitoring check so you find out about a 3-second page before your customers do. Speed is not a one-time project - it is a habit, and it is the cheapest conversion optimisation available.
Ready to launch on NextyHost?
Fast NVMe storage, LiteSpeed and free CDN support on every hosting plan.

