Performance

Website performance optimization services that start with measurement

We find out why pages are slow for real visitors, fix the causes in the server, the database and the front end, and set a budget so the speed you gain does not leak away again.

  • Measured on real visits
  • Fixes ranked by impact
  • 300+ LMS projects delivered
What is included
  • Core Web Vitals
  • Server response time
  • Caching layers
  • Database queries
  • Images and fonts
  • JavaScript weight
Get a free quote Reply within one business day. NDA on request.
The problem

How slow sites show up in the business

A slow site is usually reported as a feeling. The home page "takes forever" on a phone, the admin screen hangs on save, the checkout spins long enough that people leave. Then somebody runs a free test, gets a red score and a list of forty recommendations, installs a caching plugin, and the number barely moves.

Scores are a symptom. Speed is decided in several layers: how long the server takes to produce the page, what the database is asked, how much image, font and script weight the browser must download, and what that script does once it arrives. We measure each layer, fix what is costing time, and prove the change with data from real visits. A lot of that practice comes from logged-in systems, including the 300+ LMS and eLearning projects we have delivered, where pages are personal and a simple page cache cannot do the work.

  • Failing Core Web Vitals

    Search Console marks groups of URLs as poor or needing improvement. You are not sure which metric is to blame, which template causes it, or how much it matters for search.

  • Fast for visitors, slow for members

    Public pages are cached and quick. The moment someone logs in, opens the cart or loads a dashboard, every request hits PHP and the database, and waits stretch into seconds.

  • It falls over during campaigns

    Normal traffic is fine. A sale, an email blast or exam week sends several times the usual load, the server runs out of workers and the site returns errors at the worst moment.

  • Plugins and tags nobody audits

    Years of marketing scripts, chat widgets, sliders and tracking pixels load on every page. Each seemed harmless, and together they add megabytes and block the main thread.

What we do

Layers we measure and tune

We work through the stack from the server outward, and we change one thing at a time so each gain can be attributed.

Core Web Vitals

Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift diagnosed per template, with the specific element or script behind each poor reading identified.

Server response time

PHP version and OPcache settings, worker limits, slow requests traced to the function that causes them, and hosting sized to the workload instead of guessed.

Caching layers

Page cache, object cache, CDN and browser cache each given a clear job and clear invalidation rules, including what may be cached for logged-in users.

Database queries

Slow query log analysis, missing indexes, queries fired in loops, oversized option and session tables, and reports that should be precomputed instead of recalculated.

Images and fonts

Responsive sizes, modern formats such as WebP and AVIF, lazy loading below the fold, a prioritized hero image, and fonts subset, preloaded and swapped without layout jumps.

JavaScript weight

Unused scripts removed, third-party tags deferred or loaded on interaction, bundles split per page, and long tasks broken up so the page responds to taps.

Typical projects

Performance jobs we are called in for

01

A store that loses buyers at checkout

Cart, checkout and account pages profiled under realistic load, with fragment caching, leaner queries and trimmed scripts on the steps where every delay costs orders.

02

An LMS that slows as learners grow

Course lists, progress queries, gradebooks and reports tuned for thousands of enrolled users, with object caching and scheduled report generation in place of live calculation.

03

A content site with poor field data

Templates reworked for a faster largest element and stable layout: image handling, font loading, ad and embed slots with reserved space, and a CDN in front.

04

An application with slow screens

Specific list, search and export screens in a Laravel, CodeIgniter or PHP system traced with a profiler, then fixed with indexes, eager loading, pagination and queued jobs.

In depth

Finding the real bottleneck before fixing anything

Lab data and field data answer different questions

A lab test, such as Lighthouse or WebPageTest, loads one page on one simulated device. It is repeatable, which makes it the right tool for diagnosing and for comparing before and after. Field data is collected from real visitors in real browsers. Google's Core Web Vitals assessment uses field data, taken at the 75th percentile of page loads over a rolling 28 days, so a fix made today takes weeks to show fully in Search Console. We use both: field data to choose which pages and metrics matter, lab data to find the cause, then field data again to confirm. A perfect lab score with poor field data means the test is not seeing what your visitors see.

What usually sits behind each metric

Largest Contentful Paint is mostly about the path to one element, often the hero image or headline. Slow server response, render-blocking CSS, a lazy-loaded hero and late-discovered images are the usual culprits. Interaction to Next Paint measures how quickly the page reacts to a tap or key press, and it suffers when heavy JavaScript occupies the main thread: large frameworks hydrating, tag managers, sliders, chat widgets. Cumulative Layout Shift comes from things that arrive late without reserved space, such as images without dimensions, ads, cookie banners and web fonts.

Caching is a design question

Turning on a cache plugin is easy. Deciding what may be cached, for whom and until when is the real work. Public pages can be served whole from a page cache or CDN. Logged-in pages cannot, so we cache the expensive pieces instead: query results and computed values in an object cache such as Redis, fragments of a page that are the same for everyone, API responses with short lifetimes. Every cached item needs a rule for when it is cleared, or you trade a slow site for a wrong one. On stores built with WooCommerce, cart and checkout must stay out of the page cache entirely.

The database and the code

When server response is slow we profile real requests instead of guessing. The pattern repeats: a query inside a loop that runs once per row, a missing index on a column used in every filter, a settings table loading megabytes on each request, a report that sums a year of records on demand. Fixes range from one index to restructuring how a screen loads its data, and in older systems they overlap with legacy PHP modernization.

Budgets keep the gains

Performance decays one plugin and one marketing tag at a time. We finish by setting a budget per template: maximum page weight, script size, request count and target readings for each vital. Field monitoring reports against it, and a new feature that breaks the budget is discussed before release. Keeping to it is ongoing work that fits naturally into a maintenance retainer.

Process

Audit, fix, verify, hold

  1. 1

    Baseline

    We collect field data, run lab tests on key templates and profile the server, so there is a recorded starting point for every metric.

  2. 2

    Diagnosis and plan

    Findings are ranked by expected effect and effort. You see what we would fix first, what it involves and what we would leave alone.

  3. 3

    Fix on staging

    Changes are made one layer at a time on a staging copy and measured after each, so regressions and real gains are both visible.

  4. 4

    Release and verify

    Fixes go live in batches. Lab results are compared at once, and field data is tracked over the following weeks as real visits accumulate.

  5. 5

    Budget and monitoring

    A performance budget and ongoing field monitoring are set up, with alerts when a template drifts past its limits.

Deliverables

What the audit leaves behind

  • A before and after record for every metric
  • A ranked list of causes, fixed or explained
  • Caching rules documented layer by layer
  • A performance budget for each key template
  • Field monitoring that keeps reporting after we finish
FAQ

Speed questions site owners ask

Can you guarantee a PageSpeed score or passing Core Web Vitals?
No, and you should be wary of anyone who does. Scores depend on your hosting, third-party scripts, content and the devices your visitors use, and some of those are business decisions outside our hands. What we commit to is a measured baseline, a ranked plan, and before and after figures for each change.
Why is our lab score good but Search Console still shows poor URLs?
Because they measure different things. A lab test loads the page once on a simulated device, while Search Console reports what real visitors experienced over the past weeks. Slow phones, logged-in pages, consent banners and ad scripts often appear only in field data, and fixes take time to show.
Will a caching plugin or a bigger server solve it?
Sometimes, for a while. A page cache helps anonymous traffic and a larger server hides inefficient code until traffic grows again. Neither helps logged-in users, slow queries or heavy JavaScript. We check which layer is the bottleneck first, so money goes where the time is being lost.
Do we need to rebuild the site to make it fast?
Usually not. Most gains come from targeted changes to caching, queries, images and scripts on the existing build. A rebuild is worth discussing when a page builder or bloated theme is itself the cause, in which case a lean custom WordPress theme can be the cheaper long-term fix.
Does site speed affect SEO and conversions?
Yes, though it is one factor among many. Core Web Vitals are part of how Google evaluates page experience, and slow pages lose impatient visitors before they read or buy. We will not quote you a predicted uplift, because honest numbers only come from your own before and after data.
Can you work on performance without breaking tracking and marketing tools?
Yes. We list every third-party script with its owner and purpose, then agree with your marketing team what stays, what loads later and what goes. Analytics and consent tools keep working. They are simply loaded in a way that stops them blocking the page.
What do you need access to?
We need admin access to the site, hosting or server access, and read access to Search Console and analytics. A staging copy is essential, and we create one if it does not exist. With those we can produce the baseline and the plan before any fix is agreed.
Start a project

Send us the slow page

Give us the URL, what feels slow and for whom. An engineer will take a first look and reply within one business day, and the consultation is free.

  • Free consultation and quote
  • NDA on request
  • You own the source code
  • Reply within one business day
Add budget and timeline optional, helps us quote faster

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.