Skip to content
Faster WordPress sites, measured before and after

WordPress performance

We make WordPress sites faster and show what each change did.

Load time affectsvisitors and Google rankings

Google uses Core Web Vitals, a set of metrics for speed and stability, when it ranks pages. A slow site can therefore lose positions. Load time also affects visitors: according to Google's own figures, the chance of someone leaving rises by 32% when load time goes from one to three seconds.

A typical WordPress site on shared hosting takes 2–5 seconds to load. The plugins send JavaScript to visitors who never use it, and the theme makes database lookups that aren't needed. On top of that, the server starts the whole of WordPress again for every page view.

Which of these matters most varies from site to site, and it has to be measured. A new server setup often gives the biggest gain, together with a plugin clean-up.

Response time after the rebuild in one of our client projects, down from 4.2 s
180ms
Speed score in Google Lighthouse on the sites we run
98/100
More visitors leave when load time goes from 1 to 3 seconds
32%
Time the page doesn't respond to clicks, after the improvements
0ms

Common reasons a WordPress site is slow

WordPress itself is rarely the problem. More often the cause lies in the hosting and in plugins that have piled up over the years.

  • Too many plugins

    Each plugin adds its own JavaScript, CSS and extra database queries. Twenty plugins can easily mean 400 KB of extra script and more than 50 database lookups, and the server has to do that work again for every page view.

  • A database that repeats the same work

    The way WordPress stores data is flexible but gets slow as the amount of data grows. Without caching, the database does exactly the same lookups for every visitor.

  • Other sites on the same shared hosting

    On shared hosting you share a server with hundreds of other websites. When one of them gets a lot of traffic, your site slows down. You also don't get to choose which PHP version the site runs on.

  • Caching in a plugin

    A caching plugin eases the symptoms, but the cause stays. Caching works better when it's part of the server setup, with Redis in front of the database and finished pages kept ready.

A performance review shows what's slowing your site down and what each fix would gain.

A performance analysis showswhere the time goes

Before we change anything, we measure where the time goes on an ordinary page view: how long the server takes to build the page, how many database queries each plugin is responsible for, and how much JavaScript and CSS goes to the browser.

Usually a handful of things account for most of the time. It might be a plugin that runs the same lookups for every visitor, a slider that loads a large script on every page, or images many times larger than they are shown. That's where we start.

After each change we measure again with the same tools, so you can see what every change achieved.

What we do to speed things up

  • Caching with Redis

    Answers from the database are kept ready in memory. Baskets and temporary data also come from Redis, so the database has far less to do.

  • Images in the right format

    Images are created automatically in WebP and AVIF, which give smaller files, and at the right size for each screen. Mobile visitors don't have to download a 4 MB JPEG over a mobile connection.

  • The most important part loads first

    We put the styling for the part of the page that shows first straight into the page. The rest loads afterwards, so content appears sooner.

  • Images load when needed

    Images, embedded videos and other heavy elements only load as they get close to the screen. The first page load is lighter, and the page is ready to use sooner.

  • Files from the nearest server

    Images, scripts and stylesheets are sent from the server nearest the visitor. When we publish changes, only the files that have changed are updated.

  • Database optimisation

    First we find the slow database lookups. Then we add missing indexes and clear out old temporary data, measuring the effect of each change before moving on.

The same website, measured twice

Both measurements use the same content and the same tool. In between, the plugins were cut from 19 to 4 and the site was moved to FrankenPHP and Redis. Google has measured that longer load times lead to fewer conversions [1].

[1] Google/SOASTA — The State of Online Retail Performance

Core Web Vitals side by side

Typical WordPressBuilt by PXLGoogle's threshold
LCP3.2s (poor)0.8s (good)
INP280ms (needs improvement)12ms (good)
CLS0.15 (needs improvement)0.01 (good)
TTFB1.2s0.18s
FCP2.8s0.6s
Total Blocking Time450ms0ms
Lighthouse score45–6595–100

How we measure WordPress performance

Before we start, we set concrete targets. Afterwards we document what each change did to those same numbers.

  • Automatic measuring before publishing

    Lighthouse is Google's tool for measuring performance. We run it automatically every time new code is about to be published. If the score drops below the limit we've set, publishing stops before the change reaches the site.

  • Measurements from real visits

    Measurements in a test environment don't show how the site performs on real phones and networks. That's why we collect Core Web Vitals from actual visits and see how mobile, desktop and visitors from abroad differ.

  • Regular measurements around the clock

    We run regular performance tests from several locations around the clock. The trends show if the site is gradually getting slower, long before anyone notices it in a browser.

  • Analysis of every page view

    We look at database lookups and memory use for each page view. That lets us point to the exact file and line that's slowing the site down.

Signs it's worth looking at performance

Each point can have several explanations, but together they suggest your site is too slow:

If three or more of these sound familiar, look at your server setup before you install another plugin.

  • Load time is over 2 seconds, even with a caching plugin installed
  • Google Lighthouse gives the site a speed score below 70
  • Google Search Console reports Core Web Vitals issues
  • Visitors give up before the page has shown any content
  • The site is noticeably slower on mobile than on desktop
  • The site slows down during campaigns and traffic peaks

Send us your website address, and we'll give you a first assessment of what's slowing it down.

Frequently asked questions

What are Core Web Vitals?

Core Web Vitals are three metrics Google uses to measure how a page feels to visitors. LCP (Largest Contentful Paint) measures how quickly the main content appears. INP (Interaction to Next Paint) measures how quickly the page reacts when someone clicks or types. CLS (Cumulative Layout Shift) measures whether content moves around while the page loads. Google uses all three in its rankings.

Does a caching plugin help?

It helps a little, especially for visitors returning to a page they've loaded before. But a plugin on top of WordPress can't reach what makes the site slow. That's usually too many plugins, a database repeating the same work, an old PHP version and shared hosting with hundreds of other sites. The plugin eases the symptoms for a while, but the cause is still there.

What does Redis do for WordPress?

Redis is a database that keeps data in memory. WordPress asks the database for the same things many times on every page view, such as settings, menus and product data. With Redis as a cache, the answers come from memory instead of MySQL, and the database has far less to do. You notice it most on pages that have to be built for each visitor, such as the basket and pages for logged-in users.

How much faster can WordPress get?

For sites moving from shared hosting, we usually see response times 10–20 times faster after a rebuild. On one of our client projects, a page took 4.2 seconds on the old setup and now responds in about 180 milliseconds. Its Core Web Vitals went from red to green at the same time. How much your site improves depends on where it starts.

Does performance affect SEO rankings?

Yes, but it's one signal among many. Google has confirmed that Core Web Vitals are part of its ranking, so the metrics count directly. People also behave differently on a slow page: they give up sooner, stay for less time and open fewer pages. Google doesn't say exactly how it uses that behaviour, but a page people leave quickly brings in fewer enquiries and sales either way.

Can you optimise an existing WordPress site?

Yes. We start with a performance analysis that finds the bottlenecks, and then deal with them in order of priority. Some sites only need a plugin clean-up and sensible caching, while others need a new server setup. You find out what your site needs, and get a plan that starts with the changes that have the most effect.

What does performance optimisation cost?

A performance review with concrete recommendations costs from NOK 10,000. The cost of the work itself depends on how much needs doing, and a simple clean-up costs less than rebuilding the infrastructure. If you have an operations agreement with us, we keep an eye on speed all the time. That way we spot a site getting slower long before it becomes a problem.

What's the difference between TTFB, FCP and LCP?

They measure three points on the same timeline, from the moment the request is sent to the finished page. TTFB (Time to First Byte) shows when the server starts to respond. FCP (First Contentful Paint) is when the first content appears on screen. LCP (Largest Contentful Paint) is when the main content is in place and the page feels finished. All three affect the experience, but Google gives LCP the most weight.

A performance review of your WordPress site

Tell us a little about your website, and we'll reply with what we think can be improved and what it would cost.