Skip to main content
Homepage
Insights

How to Speed Up a WordPress Website: A Practical Guide

A slow website can frustrate visitors and cost your business enquiries and sales. Work through practical ways to speed up WordPress, from the basics of hosting and images to the technical improvements that make pages feel snappier.

How to Speed Up a WordPress Website: A Practical Guide

By Benjamin Hall 3 min read

Website speed directly impacts business performance. For UK SMEs, a slow website means lower Google search rankings, higher PPC bounce rates, and lost revenue.

If your website takes longer than 2 seconds to load, visitors leave—and Google penalizes your Core Web Vitals performance scores.

This step-by-step guide walks through practical optimizations to speed up your WordPress site and deliver sub-second load times.

The Performance Optimization Pipeline

Follow this 5-stage optimization process to eliminate performance bottlenecks systematically:

  • Audit Current Site Speed & Core Web Vitals

    Run your URL through and WebPageTest. Benchmark your baseline metrics for Largest Contentful Paint (LCP) (<2.5s target), Interaction to Next Paint (INP) (<200ms target), and Cumulative Layout Shift (CLS) (<0.1 target).

    Label: Establish performance baselines.

  • Move to Managed Cloud Hosting & PHP 8.3

    Ditch budget entry-level shared hosting. Move your site to a managed WordPress cloud host (Kinsta, WP Engine, or dedicated cloud VPS) running PHP 8.3+ for faster code execution and better memory handling.

    Label: Upgrade infrastructure.

  • Optimize Images, Fonts & Static Assets

    Compress all images using WebP formats and responsive sizing. Host Google Fonts locally, eliminate unnecessary web font weights, and minify CSS and JavaScript assets.

    Label: Reduce page weight.

  • Configure Page Caching & Object Caching

    Deploy server-level caching (Nginx FastCGI or LiteSpeed) alongside persistent object caching via Redis to eliminate dynamic database lookups on static page views.

    Label: Eliminate database latency.

  • Deploy Cloudflare CDN & Script Deferral

    Route traffic through Cloudflare CDN to serve assets from edge servers. Defer non-critical JavaScript (analytics, chat widgets) until after initial page render.

    Label: Global delivery.

5 Critical Technical Tweaks Under the Hood

1. Convert Images to Next-Gen Formats (WebP/AVIF)

Raw JPEGs and PNGs account for most page weight. Convert image assets to WebP or AVIF formats to cut file sizes by 60–80% without losing visual quality.

html
<!-- Example of responsive, optimized picture element -->
<picture>
  <source srcset="hero-image.avif" type="image/avif">
  <source srcset="hero-image.webp" type="image/webp">
  <img src="hero-image.jpg" alt="Optimized Business Dashboard" loading="lazy" width="800" height="450">
</picture>

2. Offload Database Queries with Redis Object Caching

WordPress executes dozens of database queries per page load. Redis caches database query results in RAM, serving repeated queries instantly without touching MySQL.

3. Defer Non-Critical JavaScript

Prevent external tracking scripts (Meta Pixel, Google Tag Manager, Hotjar) from blocking the main thread during initial page load:

html
<!-- Delay script execution until after main DOM render -->
<script src="https://example.com/analytics.js" defer></script>

4. Clean Up the Database Bloat

Over time, the wp_options table and post revisions bloat your database. Run database cleanup scripts to remove:

  • Expired transient options (transient).
  • Auto-saved post revisions (limit revisions in wp_config.php: define('WP_POST_REVISIONS', 3);).
  • Orphaned meta fields left behind by uninstalled plugins.

5. Disable Unused Core Features

Turn off native background operations that consume server CPU:

  • Disable Heartbeat API on non-admin pages using plugins like Perfmatters.
  • Disable XML-RPC (xmlrpc.php) if you don't publish via external mobile apps.
  • Disable native emojis scripts (wp-emoji-release.min.js).

The "Plugin Ceiling": When Optimization Isn't Enough

You can optimize images, upgrade hosting, and defer scripts—but if your WordPress site relies on 30+ plugins to power complex client portals, custom booking engines, or B2B directories, you will hit a structural performance ceiling.

WordPress executes code sequentially through layers of hooks and filters. Adding plugins to handle complex business logic introduces un-indexed database queries and DOM bloat that no caching plugin can completely fix.

The Sub-300ms Alternative: Bespoke Web Software

When page speed directly drives business revenue and user retention, transitioning core web applications to a custom Laravel architecture delivers unmatched performance:

Metric / Feature Optimized WordPress Site Bespoke Laravel Application
Average Load Time 1.2s - 2.5s 150ms - 350ms
Database Execution 40–80+ un-indexed queries per load. 2–5 indexed, optimized queries.
Asset Overhead Heavy unused theme/plugin CSS & JS. 100% purpose-built, minified assets.
Core Web Vitals Requires ongoing tuning & plugin maintenance. Consistently scores 95–100 out of the box.
Need a developer for your next project?
I work with businesses across the UK on custom websites, web applications and mobile apps.
Benjamin Hall

Hi. I'm Ben.

I'm a web developer specialising in Laravel, WordPress and mobile app development. I build fast, reliable websites and web apps, and I work directly with you from first email to launch, with no agencies or middlemen. Rated 5.0 everywhere my clients have left a review.