Why speed matters more than people admit
A 1-second delay in page load drops conversions by roughly 7%. A 3-second delay loses you 40% of mobile visitors before they even see your site. Google uses Core Web Vitals as a ranking factor, which means a slow site is also an invisible one.
The good news: most WordPress sites can be 2–3× faster in a weekend with no rebuild. You just need to do the right things, in the right order, without breaking the site.
This guide assumes you have admin access, can install plugins, and aren't afraid of the file manager in your hosting panel.
Before you start: take a baseline
You can't improve what you don't measure.
Run these three tests and screenshot the results:
- PageSpeed Insights — for Core Web Vitals
- GTmetrix — for waterfall analysis
- WebPageTest — for repeat-visit and connection scenarios
Test your homepage and a typical inner page (a blog post or product page). Inner pages often perform worse than the homepage and are usually the real entry points from Google.
Write down your Largest Contentful Paint (LCP), Total Blocking Time (TBT), and Cumulative Layout Shift (CLS) scores. We'll come back to them.
Step 1: Take a backup. Then take another one.
Before touching anything performance-related, run a full backup of files and database.
Use UpdraftPlus, BlogVault, or your host's built-in backup. Download the backup to your own machine — don't just trust it lives on the server.
If something breaks during optimisation, a one-click restore turns a potential disaster into a 5-minute reset.
Step 2: Audit your plugins ruthlessly
Plugins are the number one cause of WordPress slowdowns.
Open Plugins → Installed Plugins and ask three questions of every one:
- Do I actively use this in the last 90 days?
- Could a smaller, faster alternative do the same job?
- Is the developer still updating it?
If the answer to any is no, deactivate, test the site, and delete.
Common offenders:
- Old slider plugins (Revolution Slider, Slider Revolution legacy versions)
- Bloated "all-in-one" SEO plugins when you only use 10% of features
- Social sharing plugins loading 6 external scripts for 2 share buttons
- Heatmap and analytics plugins running constantly
- Visual page builders left active on sites that no longer use them
Target: under 20 active plugins. Most clean sites I work on run on 10–15.
Step 3: Optimise your images
Images are usually the biggest performance drag on a WordPress site.
Install ShortPixel, Imagify, or EWWW Image Optimizer. Run a bulk optimisation across your existing media library. Most sites see a 40–70% reduction in image weight.
Then configure:
- WebP delivery — modern format, 25–35% smaller than JPEG at the same quality
- Lazy loading — already built into WordPress core, but make sure your theme doesn't disable it
- Properly sized images — don't serve a 4000px-wide image into a 600px-wide column
For new images going forward, resize and compress before uploading. The compressor plugin is your safety net, not your strategy.
Step 4: Install a real caching plugin
Caching is the single highest-impact thing you can do.
Pick one — only one — caching plugin:
- WP Rocket ($59/year, easiest, most automatic)
- LiteSpeed Cache (free, requires LiteSpeed hosting)
- W3 Total Cache (free, more setup)
- FlyingPress (excellent for Core Web Vitals)
Configure these features:
- Page caching
- Browser caching
- GZIP / Brotli compression
- CSS minification
- JS minification and deferral
- Lazy loading (if not already on)
- Database cleanup (transients, post revisions, spam)
After enabling each setting, test the site. If something breaks visually, disable that specific feature. Caching plugins occasionally conflict with themes or page builders.
Step 5: Set up a CDN
A Content Delivery Network serves your assets from the nearest geographic location to each visitor. For a small business site, this is usually free.
The simplest setup:
- Sign up for Cloudflare (free plan is enough)
- Change your domain's nameservers to Cloudflare's
- Enable Auto Minify, Brotli, and Browser Cache TTL = 1 month
- Turn on Always Use HTTPS and Automatic HTTPS Rewrites
Cloudflare alone often shaves 20–40% off load times globally.
Step 6: Clean your database
Old post revisions, expired transients, spam comments, and orphaned metadata silently bloat your database.
Use WP-Optimize (free) or your caching plugin's built-in cleanup:
- Delete post revisions (keep the last 5 per post)
- Delete auto-drafts and trashed posts older than 30 days
- Delete spam and unapproved comments
- Clean expired transients
- Optimise database tables
A leaner database means faster queries on every page load.
Step 7: Audit external scripts
Open the site in Chrome, right-click → Inspect → Network → reload.
Look at the Third-party column or filter by domain. You'll often find:
- Google Fonts loaded from 3 different places
- Two analytics scripts (an old one and a current one)
- Chat widgets you don't actually use
- Marketing pixels from campaigns that ended last year
- Social embeds (Instagram, Twitter, TikTok) on pages that don't need them
Remove or defer everything you can live without. Each external script blocks rendering until it loads — and you don't control how fast their server responds.
Step 8: Choose better hosting (if needed)
If you've done everything above and the site is still slow, the hosting is the ceiling.
Cheap shared hosting (under $10/month) is fine for low-traffic personal sites. For any business site, look at:
- Kinsta or WP Engine — premium managed WordPress
- Cloudways — managed hosting on DigitalOcean, Vultr, or AWS
- SiteGround GoGeek — solid mid-tier option
- Rocket.net — Cloudflare Enterprise built in
Moving from $5 shared hosting to $30 managed WordPress hosting often does more for performance than every plugin combined.
Step 9: Retest and document
Run the same three speed tests from the start. Screenshot the new scores.
You should see:
- LCP under 2.5 seconds
- TBT under 200 ms
- CLS under 0.1
- Overall PageSpeed score above 80 on mobile
Document what you changed and why. Future-you (or the next developer) will need to know.
A few things people get wrong
- Stacking caching plugins. One only. Multiple plugins conflict and corrupt cache files.
- Aggressive minification breaking layouts. Disable JS deferral first when troubleshooting visual bugs.
- Optimising the homepage and ignoring product/post pages. Test the pages people actually land on from search.
- Trusting "98/100 PageSpeed" as the goal. A 90 score that loads in 1.2s beats a 99 score that loads in 3s. Real-world performance > synthetic scores.
What to do next weekend
If you knock out the weekend playbook, the longer-term wins are:
- Refactor your theme (or move to a faster one — GeneratePress, Kadence, Blocksy)
- Switch to a static or hybrid build (headless WordPress)
- Set up monthly speed monitoring (so you catch regressions before users do)
But for most sites, the weekend version above moves the needle more than every "advanced" trick combined.
Speed isn't a one-time project — it's a habit. Build the habit and the rankings, conversions, and goodwill follow.
