Skip to content

WordPress speed optimization cost: what the job is, what it should include and what moves the price

What speed optimization costs depends on what is slow. Settings such as a page cache, image sizes and the PHP version are a small job. A heavy theme, slow queries and too many scripts need development. Hosting that cannot serve the site is not a speed job at all.

By
WP Ministry
Published

In short

  • Ask what is slow before you ask what it costs. A quote given before the pages are measured is a guess.
  • Settings are the small job: a page cache, image sizes, the PHP version. A heavy theme, slow queries and scripts are development. Weak hosting is neither.
  • A complete job has six parts: measurements before, the causes in writing, the changes, measurements after, a list of what changed and how to undo it, and what was left and why.
  • Agree the pages, the tool, mobile or desktop and the number of runs before the work starts. One test run proves little, so use the middle result of five.
  • Nobody can promise a score, a ranking or a result on real visitors' phones within days. Field data covers the previous 28 days.
  • Do the settings yourself first if you have the time. Pay for what is still slow afterward.

What WordPress speed optimization costs depends on what is making the site slow. Some causes are settings: a page cache, images at the right size, a current PHP version. Some need development: a heavy theme or page builder, slow database queries, too many scripts. One is not a speed job at all: hosting that cannot serve the site. A quote given before anyone has measured your pages is a guess.

This page gives no going rate, names no company and ranks nobody. It sets out what the job is, how it is sold, what a complete one includes, and how to tell afterward whether you got what you paid for.

What the job is, cause by cause

"Speed optimization" is a label for removing whatever is slow. The cause decides the size of the job.

What is slowWhat fixes itThe kind of work
Every page is built from scratch for every visitorA page cache, which saves the finished page and serves that copySettings. WordPress's documentation calls caching the fastest way to improve performance.
Images are larger than the space they fillResizing and compressing themSettings and a plugin, then a look at the pages.
The PHP version is oldA newer version, chosen in the hosting control panelSettings, after a backup and a round of updates. WordPress.org says a site may be faster because PHP becomes more efficient with each new version.
The theme or page builder is heavyLighter templates, or a different themeDevelopment. WordPress's documentation says the theme has a huge impact on a site's performance.
Database queries are slowChanging or replacing whatever runs themDevelopment. A tool such as Query Monitor lists each query with the plugin, theme or function responsible.
Too many scripts loadRemoving some, and loading the rest later or only where they are usedA decision that is yours, then development.
The hosting cannot serve the siteA different plan, or a different hostNot a speed job. Work on the site does not change what the server can do.

Quotes run from the price of a plugin to the price of a rebuild because they are quotes for different rows. Measuring shows which rows are yours. How to speed up a slow WordPress site takes the causes in the order that pays off.

How the work is sold

How it is soldWhat you pay forWhat it suitsThe risk
A fixed-price optimizationOne job on one site, for an amount agreed before the work startsThe ordinary causes, on pages that can be named in advanceThe scope is fixed too. Ask what happens if the cause turns out to be the theme or the hosting.
Hourly workThe time the work takes, including the time spent finding the causeOne hard problem that is already known, such as a slow query or a custom themeThe total is unknown until the end. Ask for a ceiling that is not passed without your say.
A monthly plan that includes tuningA recurring fee for looking after the site, with speed looked at on a scheduleA site that changes often, where speed slips as plugins and content are addedThe tuning may be a light pass. Ask what is measured and whether you are sent the figures.
A rebuildA new theme or new page templates, sometimes a new designA site where the theme or the page builder is itself the causeThe largest bill, and a new build is not fast by default. Ask for named pages to be measured before you accept it.
A plugin you install yourselfA license, where the plugin is paid for, and your own timeCauses that are settings: caching, images, when scripts loadA plugin changes settings. It does not change the theme, the queries or the server.

A plugin's options need checking one at a time. On a store, WooCommerce's documentation says to keep the Cart, My Account and Checkout pages out of the page cache, because they show information specific to one customer. WordPress caching plugins compared covers what to check before adding one.

What a real optimization includes

Six parts. Hold each quote against the list.

  • Measurements before, on pages you name. The quote states the pages, the tool, mobile or desktop, and the number of runs. Name one page of each kind that matters: the home page, a landing page, a post, and for a store a product page, the cart and the checkout.
  • The causes, in writing. Someone reads the test reports against the site and says which cause each page has, before any change is made.
  • The changes. They are made one at a time where possible, so that each can be measured and undone, and on a staging copy first when the site has one.
  • Measurements after, on the same pages, in the same way. That means the same tool, the same device and the same number of runs.
  • A written list of what was changed and how to undo it. Every plugin installed or removed, every setting switched on, every file edited, and any license bought and in whose name. Without it, the next fault on the site cannot be traced to its change.
  • What was found and not fixed, and why. Hosting that sets a floor, a script you chose to keep, a page builder that would have to be replaced. This part tells you what the next spend would be.

The two kinds of measurement, and what each can prove

PageSpeed Insights, Google's testing tool at pagespeed.web.dev, reports two kinds of figures for a page.

Lab dataField data
What it isOne simulated load of the page, on a single device with fixed network conditionsHow the page loaded for real users of Chrome over the previous 28 days
The deviceFor mobile, a mid-tier phone on a mobile network. For desktop, a desktop on a wired connection.Whatever your visitors use. Chrome on desktop and on Android is counted. Chrome on an iPhone is not.
What it is good forFinding causes. It is there at once, so it shows the same day whether a change did anything.Showing what visitors go through. When a page has both kinds, Google says to set priorities by this one.
Where it falls shortIt may not capture real-world bottlenecks. It cannot measure how fast a page reacts to a click, because nobody clicks during the test.It moves slowly. A page with too few visits has none, and PageSpeed Insights then shows figures for the whole site, or no field data at all.

That has three consequences for a quote.

Mobile or desktop. The two tests give different figures for the same page. For its mobile run, Lighthouse, the tool behind the lab test, by default slows the processor to a quarter of its speed and holds the connection to about 1.6 megabits a second. A page that feels quick on your own phone can still test slow.

The number of runs. Lighthouse's documentation says its scores change from run to run even when nothing on the page has changed, and that the median of five runs is twice as stable as one run. "Before" and "after" should each be the middle result of five.

Which figures. The score out of 100 is a summary of lab figures. What Google assesses is three field figures, each at the 75th percentile of visits: main content on screen within 2.5 seconds (LCP), a reaction to a click or tap within 200 milliseconds (INP), and a layout shift score of 0.1 or less (CLS). Ask for these as well as the score. WordPress Core Web Vitals explains each one.

Checking the work yourself

  • Put the same pages through PageSpeed Insights yourself, five times each, and compare the middle results with the "before" figures.
  • Hold the list of changes against the Plugins screen. Nothing should be there that the list does not mention.
  • Use the site as a customer does: the menu, a form, and on a store the cart and the checkout.
  • Four weeks later, read the field data for the same pages, if they have any.

What moves the price

What differsWhy it changes the workWhat to ask or count
Settings or codeSettings are changed in a control panel. A theme, a query or a script is changed in code.Ask for the cause in writing before the price.
A storeThe cart, the account pages and the checkout stay out of the page cache, so the pages that take the money are the ones a cache does not help.Whether the cart and the checkout are among the measured pages. See how to speed up a WooCommerce store.
A page builderA builder writes each page's markup. Google's guidance, quoting Lighthouse, calls a page's structure excessive past 1,400 nodes, with warnings from 800. A page built from many nested sections can pass that, and making it smaller means rebuilding the page.Which builder the pages use, and whether the quote covers changing layouts.
The number of page templatesA home page, a post, a product page and a landing page each load their own template, images and scripts. Each is measured and fixed separately.Count the kinds of page, not the pages.
Scripts from other companiesAnalytics, advertising, video embeds and social buttons run in the visitor's browser. Google's guidance gives two options for one that slows a page: remove it if it adds no clear value, or change how it loads.List them, and who in the business needs each. Each one that stays limits the result.
The hostingWordPress's documentation says that on shared hosting the owner has very little control over server settings. If the server is the limit, the work stops at what the plan allows.What the quote says happens if hosting is the cause.
A staging copyA staging site is a copy of the live site where changes are tried before customers are affected. Without one, a copy has to be made first, or the live site is the test.Whether your host provides one. See how to set up a WordPress staging site.
How much has to keep workingA members' area or a booking page differs from one visitor to the next, and WordPress's documentation says caching is more complex to configure for dynamic content. Each such function is tested after each change.List what a logged-in visitor can do, and ask who tests it.

What nobody can honestly promise

Three promises are common in quotes. Google's own documentation rules out each one.

A particular score. Lighthouse's documentation says scores change between runs with no change to the page, because networks, servers and devices vary. It also says a "perfect" score of 100 is extremely challenging to achieve and not expected, and that going from 99 to 100 takes about as much improvement as going from 90 to 94.

A ranking. Google says its ranking systems use Core Web Vitals. It also says that good results in a report do not guarantee a place at the top, and that it tries to show the most relevant content even when the page experience is below par. Its advice on hiring help with search is blunter: "No one can guarantee a #1 ranking on Google."

A result on real visitors' phones within days. Field data is a rolling average of the previous 28 days, so a change made today is not fully reflected for four weeks. "Start Tracking" in Search Console's Core Web Vitals report opens a 28-day monitoring session for the same reason. The result also depends on your visitors' own devices and connections, which no seller controls.

What can be promised is narrower and can be checked: named changes, and figures measured before and after on agreed pages by an agreed method. WP Ministry's own service is held to the same line. It reports what was measured and does not promise a number.

Why a "100 score guarantee" is a warning sign

The score is one simulated load of one page, and it changes from run to run. PageSpeed Insights' documentation says that good lab data does not necessarily mean real-user experiences will also be good.

A seller held to a number has a reason to work on the number: the one page that is tested, on the test's device, on the day of the test. Google itself says that trying to get a perfect score just for SEO reasons may not be the best use of your time. A guarantee worth having names the pages, the method, and what you get back if the figures do not move.

Questions to put to anyone quoting

Send these as they are. The written answers are the scope.

  1. Which pages will you measure, and do I choose them?
  2. Which tool do you use, on mobile or desktop, and how many runs is each figure taken from?
  3. Are the figures lab data, field data or both? If my pages have no field data, what do you report?
  4. What happens if the cause turns out to be the hosting? Do you stop, and what do I pay for the work done so far?
  5. If a plugin or the theme has to be replaced, is that in the price? Who pays for a license, and in whose name is it held?
  6. Will anything a visitor sees change: fonts, sliders, animations, chat, the order in which things appear?
  7. Do you work on a staging copy first? If I have none, who makes one?
  8. What do I get in writing: the figures before and after, the list of changes, how to undo each one, and what was found and left?

Doing it yourself first

The settings rows of the first table are within reach of an owner who is comfortable in the dashboard. Take a backup before you start.

  1. Step 1: Measure the pages that matter

    Put one page of each kind through PageSpeed Insights, five times, and write down the middle result. These are your "before" figures, whoever does the work.

  2. Step 2: See what the site already tells you

    Go to Tools, then Site Health. The Status tab lists an outdated PHP version among its issues, and on a live site it reports whether WordPress can detect a page cache. From outside, the WordPress site health check shows how long the server took to begin its answer to one request.

  3. Step 3: Do the settings

    Check whether your host already runs a page cache before you add one. Update WordPress, the plugins and the theme, then bring PHP up to the version WordPress recommends, which is 8.3 or greater. The PHP project supports each version for four years from its release. Then fix the images, following how to optimize WordPress images without losing quality. Make one change at a time.

  4. Step 4: Remove what you do not use

    Deactivate and delete plugins the site no longer needs, and take off scripts from other companies whose results nobody reads.

  5. Step 5: Measure again

    Use the same pages and the same five runs. If the figures are still poor, the cause is one of the development rows or the hosting, and you can ask for a quote for that.

The cost is your hours. No published figure can tell you how many, so time the first change and count the hours at what they are worth to the business. The risk is a setting that breaks a form or the checkout without anyone noticing, so use the site as a customer does after every change.

When to spend the money on hosting or a rebuild instead

Hosting. Google's guidance on server response time says hosting is the first thing to consider. Shared hosting is generally slower, it says, which is fine for a small site of mostly static pages. The choice becomes critical for a site with many users, personalization and database work. The signs that the server is the limit:

  • The server is slow to begin its answer on pages no cache serves, such as the cart, the checkout and the dashboard. Google counts 0.8 seconds or less as good and more than 1.8 seconds as poor. Its guidance warns that a cache can mask a slow backend, so test a page that is not cached. How to reduce server response time shows how.
  • The site returns errors when it is busy. WordPress hosting problems shows how to tell whether a fault is the host's or the site's.

WordPress's documentation says that paying more for a higher level of service at a hosting provider can be very effective. Ask the host what the next plan up would change before you pay anyone to tune the site on the current one.

A rebuild. The sign is the same cause on every template: each page's report points at the theme's or the builder's own files. A rebuild is the largest spend of the three, so it comes last, after the settings are done and the hosting is ruled out, with measurements that show what is left.

How to work out your own figure

What a slow page costs is in your own numbers and nowhere else.

  1. Step 1: Work out what the pages bring in

    From your analytics, take one ordinary month. For each page that matters, note the orders or inquiries that came from visits beginning on it. Multiply by what an order or an inquiry is worth. This is the monthly figure the work has to move.

  2. Step 2: Turn each quote into the rise it has to produce

    Choose how long you would give the work to pay for itself, such as twelve months. Divide the quote by what the pages bring in over that time. A quote equal to one tenth of a year's takings from those pages has to raise them by one tenth to pay for itself in a year.

  3. Step 3: Count the hours when the site did not answer

    A site slow enough to time out is down for the visitor who asked. The downtime cost calculator works out what those hours cost in sales not made, from your own revenue.

  4. Step 4: Check the result in the same figures

    After the work, compare the same pages over a period of the same length, and allow for a season or a campaign that fell in only one of them. Google's guidance notes that field data can be set beside business figures, and that lab data cannot.

This page gives no percentage for how many visitors leave a slow page. A figure of that kind describes other sites and other visitors. Your analytics, before and after, describe yours. Set them beside the quotes you have and the pricing page.

What we charge

Common questions

Can a caching plugin do the whole job?

It can when the cause is pages being built fresh for every visitor. It does not change a heavy theme, a slow query or a server that is short of power. On a store, the cart and the checkout stay out of the cache, so they are as slow as before.

How soon will I see the result?

Lab figures change the same day, so "before" and "after" can be compared as soon as the work ends. Field data, which is what Google's Core Web Vitals assessment uses, is a rolling average of the previous 28 days. A change takes four weeks to show there in full.

Why is my mobile score so much lower than the desktop one?

The mobile test simulates a mid-tier phone on a mobile network, with the processor and the connection slowed on purpose. The desktop test simulates a desktop on a wired connection. They are different tests of the same page, so a quote should say which one its figures come from.

Will a faster site rank higher in Google?

Nobody can promise that. Google says its ranking systems use Core Web Vitals, that good results do not guarantee a place at the top, and that it tries to show the most relevant content even when a page's experience is below par. Pay for speed because of what your visitors go through.

More on this subject

Speed optimization, done for you

Speed optimization is $149. Before-and-after measurements on named pages. It starts with a free diagnosis.