More fixes

WordPress site slow to load

Your WordPress site takes four, six, ten seconds to show anything, on a phone it is worse, and visitors leave before the page appears. "Slow" has two very different causes, and the fix for one does nothing for the other: either the server is slow to build the page, or the page it sends is too heavy. Below is a rebuilt example (not a real client), the two-minute test that tells the two apart, and the fixes for each, cheapest first.

Speed test of the home page, phone

What the checks found


  

First: slow server, or heavy page? (two minutes)

Put your home page address into Google's free PageSpeed Insights (pagespeed.web.dev) and look at two numbers in the report, on the Mobile tab.

Many slow sites have both. Fix the server side first: it affects every page, and it is often one setting.

If the server is slow

  1. Turn on page caching. Without it, WordPress runs PHP and dozens of database queries for every visitor. With it, most visitors get a ready-made copy. Many hosts have caching built in (look in the host's control panel, often called "cache", "LiteSpeed Cache" or "performance"); otherwise one caching plugin such as WP Super Cache, W3 Total Cache or WP Rocket. Use one, not two: two caching plugins fight each other.
  2. Update PHP. In the host's control panel, check the PHP version. Sites still on PHP 7.x are slower and no longer get security fixes; WordPress recommends PHP 8.3 or newer. Take a backup and update plugins first, then switch, and check the site straight after; if a page breaks, switch back and see the critical error guide.
  3. Find the heavy plugin. A plugin that runs on every page (some sliders, page builders, "related posts", statistics, security scanners that scan live) can add seconds. The free Query Monitor plugin shows which plugin is slow on a page; or deactivate plugins one at a time on a staging copy and re-test. Delete plugins you no longer use rather than leaving them active.
  4. Clean the database. Years of post revisions, spam comments, expired "transients" and leftover settings from deleted plugins slow down every query. A plugin such as WP-Optimize clears them; take a backup first.
  5. Then look at the host. If TTFB is still over two seconds with caching on and PHP current, the hosting plan itself is the limit (a crowded cheap shared server). Moving to a better plan or host is the fix; the site does not need rebuilding to move.

If the page is heavy

  1. Photos first. Camera and stock photos are 2-8 MB each; a page needs them at 100-300 KB. Resize to the size they are shown and save as WebP. The big photos guide has the steps. Turn on lazy loading for images further down the page (WordPress does this by default since version 5.5; a builder may switch it off).
  2. Outside scripts. Chat widgets, booking embeds, review carousels, extra trackers, social feeds and video players each pull in their own scripts, often hundreds of KB. The PageSpeed report lists them under "Reduce the impact of third-party code". Keep the ones that bring customers in; remove the rest. A YouTube video can show a thumbnail and load the player only when tapped.
  3. Fonts. Five font families in four weights each is a lot of downloads before text shows. Two families, two or three weights, is plenty.
  4. Sliders and animations on the home page. A five-photo slider at the top loads five big photos before the visitor sees the first. One strong photo is faster and usually converts better.
  5. Then minify and combine. The caching plugin's options to minify CSS and JavaScript help a little. Do this last and test the site afterwards: it is the step most likely to break a menu or form.

What you see, what it means, what it needs

What you seeUsual causeUsual fix
Blank white screen for 2-4 seconds, then the page appears all at onceSlow server response, no page cacheTurn on caching; update PHP
Text shows fast, photos fill in slowly, page jumps aroundHuge photos, no sizes setResize and WebP, lazy loading
Fast on Wi-Fi at the office, slow on phonesHeavy page: photos, scripts, fontsCut page weight below 3 MB
Admin dashboard very slow tooHeavy plugin, bloated database, or an overloaded hostQuery Monitor, database clean-up, then the host
Got slow after installing a plugin or theme updateThat plugin runs heavy code on every pageDeactivate it and re-test; replace if confirmed
Slow only at some times of dayShared server busy, or scheduled tasks (backups, scans) runningMove backups to night, then a better plan
PageSpeed score high, but visitors still say it is slowTested a cached copy; the first visit or logged-in pages are not cachedTest in a private window from a phone network

What not to do

Most of these fixes are an hour or two once the cause is known. If you would rather hand it over, that is what the box below is for. Related: slow because of big photos, a site that looks wrong on phones and a plugin that broke the site.