This post may contain affiliate links, meaning if you decide to make a purchase via my links, I may earn a commission at no additional cost to you. See my disclosure for more info.
A slow blog loses readers before they see a single word. Most of your visitors arrive on a phone, on mobile data, and they give you two or three seconds before they tap back to the search results. The good news: most WordPress speed problems have boring, fixable causes, and you can fix them yourself in an afternoon.
This tutorial follows the order I use on my own sites: hosting first, then caching, then images, then cleanup. Most steps cost nothing. The one paid piece that matters is hosting that doesn’t fight you, which is why I host my blogs on SiteGround: the caching, CDN and image tools in the steps below are built into their dashboard instead of bolted on with plugins.
You can stop after any step and still be faster than you were this morning.
What you need before you start
- Admin access to your WordPress dashboard
- A fresh backup, even if your host runs daily ones
- Ten minutes for a baseline speed test
- Two to three hours total, breaks included
Brand new to all of this? Set up your site first with my guide to starting a WordPress blog with zero technical knowledge, then come back once you have something to speed up.
Step-by-step: speed up WordPress in an afternoon
Step 1: Measure your baseline
Run your homepage and your most visited post through Google’s free PageSpeed Insights tool. Write down two numbers: the mobile performance score and the Largest Contentful Paint (LCP) time. Those are your before photos.
Re-test the same two URLs after every step below. If a change moves nothing, undo it. Speed work without measurement turns into superstition fast.
Step 2: Fix your hosting first
Hosting sets the ceiling for everything else. A caching plugin on an overloaded budget server is a bandage on a broken leg, so start here even though it feels like the biggest step.
I recommend SiteGround because the speed features you would otherwise piece together from plugins come standard: multilevel server caching, a free CDN spanning 170+ locations, and free SSL. At the time of writing, promo pricing starts at $2.99 per month for StartUp (one website), $4.99 for GrowBig and $7.99 for GoGeek, and GrowBig adds staging sites plus roughly 30% faster PHP.
Two honest caveats. Renewal prices jump after the promo period ends (StartUp renews at $17.99 per month), so lock in the longest initial term you can afford. And if your blog is brand new and money is tight, do the free steps below first and upgrade hosting once traffic justifies it.
Compare SiteGround’s current plans and promo pricing here before you decide, because promos change.
If you migrate and your test copy misbehaves, my walkthrough on fixing a SiteGround staging site that fails to load covers the usual culprits.
Step 3: Turn on caching, once
Caching hands visitors a ready-made copy of your page instead of rebuilding it for every visit. It is the single biggest free win on this list.
On SiteGround, install their free Speed Optimizer plugin, switch on file-based caching, and enable the dynamic cache in Site Tools. On any other host, pick one reputable caching plugin and configure it properly once.
One caching plugin. Not two. Stacked caching plugins fight each other and cause odd bugs on comment forms and logged-in pages that take hours to trace.
Step 4: Shrink your images
Oversized images cause more slow blogs than anything else I see. Work through three fixes:
- Resize before uploading. A 4,000 pixel photo squeezed into an 800 pixel column wastes bandwidth on every single view.
- Serve modern formats. SiteGround’s Speed Optimizer converts your media library to WebP in a couple of clicks.
- Lazy load everything below the first screen. Recent WordPress versions do this by default; confirm no plugin turned it off.
Not on a host that handles images for you? Jetpack’s free image CDN resizes and serves your images from its own servers, which takes real load off yours at no cost.
Step 5: Cut plugins without mercy
Every active plugin adds code, and some add database queries or external scripts to every page load. Deactivate anything you haven’t used in three months, re-test your speed, then delete what you don’t miss.
The usual offenders: social share bars that call external servers, related-post plugins, heavy page builders, and tracking snippets from tools you stopped using long ago. Fewer moving parts also means fewer security holes and fewer update conflicts.
Step 6: Put a CDN in front of your site
A CDN stores copies of your files in data centers around the world, so a reader in Sydney gets your images from a server near Sydney instead of one across the ocean. If your audience lives far from your server, this step alone is noticeable.
SiteGround includes its CDN free on all plans; you switch it on in Site Tools in about a minute. Elsewhere, Jetpack’s free CDN covers images and static files, which is plenty for a typical blog.
Step 7: Tidy the database and third-party scripts
WordPress hoards post revisions, expired transients and spam comments. Your optimization plugin can clean these on a schedule; the gain is small but free.
Then audit what loads from other people’s servers: embedded videos, web fonts, ad scripts, chat widgets. Each one is a request you don’t control. Host fonts locally, swap YouTube embeds for click-to-play thumbnails, and drop the widgets nobody clicks.
Common mistakes and pro tips
- Chasing a perfect 100. Going from 55 to 85 changes how your blog feels; going from 85 to 100 mostly changes a number. Stop when real pages feel instant.
- Testing only on desktop. Most readers arrive on phones, and Google scores mobile first. Judge yourself on the mobile numbers.
- Installing three optimization plugins. Pick one and configure it well. Overlap causes breakage, not extra speed.
- Skipping the backup. Caching changes and database cleanups occasionally go sideways. Restoring beats rebuilding.
- Forgetting renewal prices. Budget for the renewal rate of any host you choose, not the promo teaser.
One last nudge: speed compounds. Faster pages rank better, get cited more often by AI search tools, and turn more of your affiliate clicks into commissions. If that last part is your goal, Making Sense of Affiliate Marketing ($197) is the course I took myself; it’s taught by Michelle Schroeder-Gardner, who built an affiliate income of over $50,000 a month with these exact methods.
FAQ
Why is my WordPress site so slow?
The usual causes, in order: underpowered shared hosting, no caching, oversized images, and too many plugins loading scripts on every page. Run PageSpeed Insights on your homepage and it will point at the worst offender first.
Can I speed up WordPress without any plugins?
Partly. Better hosting, smaller images, fewer embeds and a lean theme all work without plugins. Caching is the exception: unless your host caches at server level the way SiteGround does, you will want one caching plugin.
Does hosting really matter for WordPress speed?
Yes, more than any single plugin. Hosting determines how fast your server responds before any optimization begins. Moving from an overloaded budget host to a performance-focused one improves every page, including your admin area.
What is a good load time for a blog?
Aim for a Largest Contentful Paint under 2.5 seconds on mobile, which is Google’s own threshold. Under 2 seconds feels instant to most readers. Past 4 seconds, you lose a meaningful slice of every hundred visitors.
Do I need a paid CDN for a small blog?
No. SiteGround bundles a free CDN with hosting, and Jetpack offers a free image CDN. Paid CDNs earn their keep on high-traffic or media-heavy sites, not on a young blog.
Ready to stop losing readers to load times? Work through steps 1 to 4 today, because that’s where most of the speed lives. And if your current host is the bottleneck, move your blog to SiteGround and let the built-in caching and CDN handle half of this checklist for you.