Service Performance

WordPress sites that load in under two seconds.

Profile first, optimize second. Database, cache, edge, assets. Real Core Web Vitals improvements that hold in production, not just lab scores.

Core Web Vitals green on store.wbcomdesigns.com, our own production site

Why performance

Page speed is the cheapest growth lever most WordPress sites are not pulling.

Conversion drops 7% for every additional second of load time. Bounce rate climbs above 30% past three seconds. Google ranks faster sites higher in the same Core Web Vitals report your competitors are watching. Performance is not a vanity metric. It is the lever you can pull this quarter without a product redesign.

Most WordPress performance work fails because it starts with the symptom (install a cache plugin) instead of the cause (the database is doing 87 queries on init because of one badly written hook). We profile first, fix the actual bottleneck, then add the caching layer on top.

Core Web Vitals, live

Real numbers from a real client site.

Four meters from a community site we optimised last quarter. Lab scores match the field data. The improvements feed below shows the actual interventions and their measured impact. Scroll up and back down to replay.

community.acme.com · 28-day Web Vitals live Lighthouse + CrUX
0/100
Lighthouse mobile from 47 · before optimisation
0.0s
LCP · p75 mobile from 4.2s · before
0.00
CLS · p75 mobile from 0.31 · before
0ms
INP · p75 mobile from 412ms · before
Interventions · last 14 days 8 shipped
  • Object cache Redis + persistent · -1.4s LCP, -38% queries3d ago
  • Critical CSS inlined · -0.6s LCP on mobile5d ago
  • Image LCP AVIF + fetchpriority="high" · -0.3s7d ago
  • Layout reservation for ads · CLS 0.31 → 0.049d ago
  • 3P script audit in flight · 4 of 11 scripts deferred11d ago
  • Profile first · we measure before we touch a cache plugin
  • p75 field data · lab scores that match real-user metrics
  • Documented · every gain tied to a specific intervention

What we optimize

Performance work that holds after we leave.

Database tuning, object cache, edge caching, asset optimization, monitoring. Every change tied to a measured improvement, every gain documented so your team can defend it.

01

Profile first, optimize second

WP-CLI profile, Query Monitor, New Relic. We measure where time actually goes before we change anything. No guesswork, no premature optimization, no "install a caching plugin and hope".

Every change ties to a measured improvement.

02

Database query tuning

Slow query log analysis, missing indexes added, autoload cleanup, post meta queries optimized, custom tables introduced where they belong. The database stops being the bottleneck.

TTFB drops below 200ms server-side.

03

Object cache configured properly

Redis or Memcached configured with the right cache key salt, the right TTLs, and the right invalidation patterns. Hit rate above 95% network-wide. Cache stampedes prevented.

Pages served from cache instead of rebuilt on every request.

04

Edge caching with proper invalidation

Cloudflare or Bunny CDN with cache rules tuned for WordPress. HTML cached for logged-out visitors. Cache purged on post updates. CSRF tokens never cached. WooCommerce cart never cached.

TTFB drops below 50ms at the edge.

05

Asset optimization end-to-end

CSS minified and critical-pathed. JavaScript deferred or async. Images converted to WebP or AVIF. Web fonts subsetted and preloaded. Render-blocking resources eliminated.

PageSpeed scores stay above 90.

06

Monitored after launch

Core Web Vitals tracking active before optimization starts and after it ends. Real User Monitoring (RUM) data, not just lab scores. Performance regressions caught before customers report them.

Performance gains hold over time.

Before/after

WP-CLI profile reports on your own URLs, handed over with the work

You get the numbers for your site rather than ours: the same pages profiled before we touch anything, and again at handover, so the difference is yours to check.

Process

How a performance engagement runs.

01

Audit

One week. WP-CLI profiling, slow query log analysis, autoload audit, asset audit, real-user monitoring data review. Output is a prioritized fix list with measured impact estimates.

You know the ROI of every fix before we start.

02

Implement

Two to six weeks depending on site complexity. Fixes shipped in priority order. Before-and-after measurements at every milestone. No regressions, every change verified.

Each milestone moves the metric.

03

Monitor and document

Real User Monitoring active. Core Web Vitals dashboard set up. Performance budget documented. Runbook for the on-call person. Optional retainer for ongoing tuning.

Performance gains hold long term.

What it costs

Performance pricing follows how much has to change to hit the target.

An audit with a prioritised list and an engagement that implements it across a large site are the same sentence and very different projects. Here is what moves the number.

What moves the number

  • Audit or implementation A written audit with the fixes ranked is a contained piece of work and sometimes all you need. Doing the work is separate and larger.
  • What is actually slow A slow server, a slow theme, a slow plugin and a slow query are four different projects. Finding out which comes first and is quick.
  • How much you can change Some sites can drop a plugin. Others cannot touch it because the business runs on it, and working around that constraint is where the hours go.
  • Traffic and caching What works at a thousand visits a day is not what works at a hundred thousand, and page caching stops helping the moment content is personalised.
  • Whether it has to stay fast A one-off fix drifts back within months as plugins update. Monitoring and a budget that fails a build is what keeps it.

Small, well-defined work is usually better handled as an hourly block than scoped as a project, and we will say so rather than inflate it into one.

Rough idea to delivery

  1. You send the details What you want built, roughly, plus budget range and timing. The form asks for all of it
  2. Within 4 business hours We read it and reply. Nothing is scheduled before we know what it is about
  3. Then the call Free discovery, booked once there is enough on the table to make it worth your hour
  4. Within 48 hours of the call A written fixed-price quote you approve before anything starts
Get an estimate

Quick enquiry

Site slow, or failing Core Web Vitals?

Tell us the URL and what you have already tried. If you have a specific number to hit, say it, because a target changes the approach more than the starting point does.

Prefer the full form? Start a project

No drip sequences, no marketing list. We reply and that is it.

Common questions

Frequently asked

  1. How fast can a WordPress site actually get?

    For most content sites, sub-second LCP is achievable with proper caching, asset optimization, and image work. WooCommerce sites typically land in the 1.5 to 2 second range due to dynamic checkout requirements. BuddyPress sites depend on the activity stream complexity. We give you a realistic floor in discovery.

  2. Why not just install WP Rocket or W3 Total Cache?

    Caching plugins help, but they hide the real problem instead of fixing it. A site that needs aggressive caching to feel fast is a site that has 2.5 second TTFB underneath. We fix the underlying problem (database queries, autoload bloat, plugin overhead) and then add caching on top.

  3. What about hosts that promise built-in performance?

    Managed WordPress hosts (WP Engine, Kinsta, Pressable, Pantheon) handle the infrastructure layer well. They cannot fix bad plugin code, slow queries, or asset bloat. Performance work on top of a good host gets you another 50 to 70% improvement.

  4. Do you handle Core Web Vitals specifically?

    Yes. LCP, FID/INP, CLS all addressed as part of every performance engagement. We measure with PageSpeed Insights, CrUX data, and Real User Monitoring. The goal is passing CWV in production, not just the lab tests.

  5. What if the site is built with a page builder like Elementor or Divi?

    Page builders add 100 to 300KB of CSS and JavaScript per page. We can optimize within the constraint (asset cleanup, lazy loading, critical CSS) but the page builder itself is a hard ceiling. We tell you in discovery what is achievable inside the constraint.

  6. What does it cost?

    Performance work is estimated against scope rather than sold at a list price. A written audit with the fixes ranked and an engagement that implements them across a large site are very different projects. The section above sets out what moves the number.

Ready to ship a faster site?

Tell us what you want to build.

Discovery call is free. Fixed-price quote within 48 hours. Audits are scope-dependent.