// Magento performance audit

Magento performance audit: find and fix what's slowing your store

An independent, evidence-based review of exactly what's making your Magento store slow - measured, not guessed. You get your real Core Web Vitals, TTFB and throughput numbers, the root cause behind each, and a prioritised roadmap to fix them.

for: store ownersfor: CTOsmeasured, not guessed
Price
from $2,200
Turnaround
~7 business days
Format
Report + prioritised roadmap + 90-min review
Editions
Open Source, Adobe Commerce, Mage-OS
Frontends
Luma, Hyvä, headless
Area served
Worldwide
In short

A Magento performance audit is an independent, evidence-based review of your store's speed: Core Web Vitals (LCP, INP, CLS), TTFB and back-end throughput, measured on your real store and traced to root cause. You get a severity-rated report and a prioritised, costed fix roadmap. It starts at $2,200, with the report delivered in about 7 business days.

// scope

What a Magento performance audit measures

A Magento performance audit measures how fast your store actually is for real users, not just a synthetic score in a dashboard. The core metrics are Google's Core Web Vitals - Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS) - plus server response time (TTFB) and back-end throughput under load. I measure both lab data (a controlled test) and field data (what real visitors experience, from the Chrome UX Report), because a store can look fine in a lab and still fail for the people paying you.

LCP

How long the main content - usually the hero or product image - takes to render; "good" is 2.5s or less.

INP

Responsiveness to taps and clicks across the whole visit; "good" is 200ms or less, and much harder to pass on Luma.

CLS

Visual stability - how much the layout jumps as the page loads; "good" is 0.1 or less.

TTFB

Time to first byte, the server's share of the delay - on Magento, usually where the real problem lives.

Throughput

How many requests per second the store sustains before response times degrade under real traffic.

// why

Why your Magento store is slow: the usual causes

Slow Magento is rarely one thing. It's normally three or four overlapping problems, which is exactly why guessing is expensive and measuring is cheap. A speed audit separates cause from symptom, so you spend engineering budget on the fixes that actually move the numbers rather than the ones that feel productive. These are the causes I find most often, roughly in order of impact.

  • N+1 database queries - custom code or a cheap third-party module runs one query per item in a list instead of one batched query. It quietly destroys category and product pages as the catalogue grows.
  • Full-page cache misses - Varnish disabled, bypassed, or misconfigured so most requests hit PHP instead of cache. A store that should serve cached HTML in milliseconds ends up rendering every page from scratch.
  • Indexers on "update on save" - every catalogue edit triggers a synchronous reindex that blocks requests. They belong on "update by schedule".
  • Redis and session storage misconfigured - sessions or cache left on the database instead of Redis, the wrong eviction policy, or one Redis instance doing too much.
  • Module bloat and conflicts - dozens of extensions, many overlapping or abandoned, each adding queries, layout XML and JavaScript to every page.
  • Under-provisioned or misconfigured hosting - too little CPU/RAM, untuned OPcache, slow disks, or a database server sized for a smaller store.
// back-end

TTFB and Magento 2 performance: the back-end half

For most Magento 2 stores the biggest slice of load time is TTFB - the time your server spends before the browser receives a single byte. No amount of front-end tuning fixes a 1.5-second TTFB; you have to fix the back-end. A performance audit profiles the request path to find where those milliseconds go: PHP execution, the database, the cache, and third-party API calls made during page render. The usual wins are a correctly working Varnish full-page cache, Redis for cache and sessions, killing N+1 queries, moving blocking API calls out of the render path, and right-sizing PHP-FPM and OPcache. TTFB is one of the first things I check, because it sets the floor for every other metric.

// process

How the performance audit is run - the tools

The audit is evidence-based and non-invasive. I work on a copy of your code and an anonymised copy of the production database, so nothing runs against your live store and customers keep shopping while I diagnose it. I combine synthetic testing, real-user field data and back-end profiling, because each catches problems the others miss. Every finding in the report traces back to a measurement or a specific line of code, never an opinion.

Access & discovery

You hand over the source code as an archive or read access to the repository, plus an anonymised copy of the production database (no real sensitive data) and credentials to test accounts for every integration. We talk through your goals and which pages hurt most. Nothing runs against your live store, so there is no downtime and customers keep shopping while I work.

Synthetic and field measurement

I run Lighthouse and PageSpeed against your key templates and pull real-user field data from the Chrome UX Report, then use WebPageTest filmstrip and waterfall views to see exactly what blocks rendering and in what order. You get your true Core Web Vitals - lab and field side by side - instead of a single dashboard number that hides the problem.

Back-end profiling

New Relic and Blackfire trace the request path to find the slow PHP paths and database calls behind a high TTFB, while the MySQL slow-query log and n98-magerun2 surface expensive queries, indexer state and cache-backend misconfiguration. This is where most of the milliseconds hide, so it is where I spend the most time and where the biggest wins usually come from.

Load and throughput testing

k6 drives synthetic traffic at the store to measure how many requests per second it sustains and the exact point where response times start to degrade. You learn where your store falls over under real traffic - before a campaign or a sale finds that ceiling for you, in front of paying customers.

Root-cause and static analysis

PHPStan and phpcs tie each performance symptom back to the exact custom code that causes it, so every finding is traceable to a line, not an opinion. I separate cause from symptom throughout, which is what lets the roadmap put your budget on the fixes that actually move the numbers rather than the ones that just feel productive.

Report & 90-minute review

You get a severity-rated written report with your real numbers and a prioritised, costed fix roadmap, followed by a 90-minute live session where we walk the results together and I answer your team's questions. You leave able to act on it - with your own team, another agency, or with me - and nothing in the document is a sales pitch.

// frontend

Hyvä vs Luma: what changes the performance ceiling

The front-end theme sets a hard ceiling on how fast your store can be, and no amount of back-end tuning lifts you above it. Luma - Magento's default theme - ships megabytes of RequireJS, Knockout and jQuery that block the main thread, which makes a "good" INP genuinely hard to reach on a busy store. Hyvä replaces that stack with lightweight Alpine.js and Tailwind, cutting JavaScript by roughly an order of magnitude and starting from a far better position on LCP and INP. The audit tells you honestly which situation you're in: whether targeted fixes can get your Luma store to "good" Core Web Vitals, or whether you've hit Luma's ceiling and a Hyvä migration is the cheaper long-term answer. Headless (PWA Studio or a custom front-end) is a third path with its own trade-offs, and I audit those too.

// deliverables

What you get

The deliverable is a document you can act on - with your own team, another agency, or with me - not a sales pitch. Every finding is severity-rated and tied to hard data, with an effort estimate so you can weigh cost against impact. The point is to let you make decisions on facts, not opinions.

  • A written performance report with your real Core Web Vitals, TTFB and throughput numbers, and the root cause behind each one.
  • A prioritised, costed fix roadmap - what to fix first for the biggest speed gain per hour of work.
  • Severity ratings and effort estimates (in engineering hours) for every finding.
  • A 90-minute live review session where we walk the results together and I answer your team's questions.
  • On request, an anonymised sample report to review before we start working together.
// after

Fix options after the audit

The audit ends with a roadmap, and you decide who executes it - the whole point is that you're not locked in. Many clients take the report to their existing team or agency and implement it themselves; the findings are specific enough to act on directly. If you'd rather I do the work, I can implement the fixes or lead your team through them, and I'll re-measure afterwards so the improvement is proven, not assumed. Illustrative outcomes from this kind of work look like TTFB dropping from ~1.4s to under 300ms once Varnish and Redis are configured correctly, or LCP going from 4.1s to 0.9s after critical-path and image fixes - the exact numbers depend on where your store starts.

FAQ

Magento performance audit - frequently asked questions

A Magento performance audit starts at $2,200, fixed and known upfront, with the report delivered in about 7 business days. The final quote depends on store size, the number of integrations, and whether the frontend is Luma, Hyvä or headless. For comparison, the same audit at an agency typically starts from $5,000. You pay a fixed price and know exactly what you get before we start.

A Magento speed audit takes about 7 business days from the moment I have access to your code and an anonymised database copy. Larger stores with many integrations or a headless frontend can take a little longer, and we agree the deadline upfront when we set the scope. You get the full written report and a 90-minute review session at the end.

The most common causes are N+1 database queries, a disabled or misconfigured full-page cache (Varnish), indexers left on "update on save", Redis or session storage set up wrong, module bloat, and under-provisioned hosting. It's almost never one single thing - it's several overlapping problems, which is why measured data beats guessing. A performance audit pinpoints exactly which of these apply to your store and ranks them by impact.

LCP improves most with critical CSS, prioritising the hero image and deferring non-essential JavaScript; INP improves by splitting and deferring scripts and cutting main-thread work; CLS improves by reserving space for images, banners and fonts. How far you can get depends heavily on the frontend - Hyvä starts from a much better position than Luma, especially on INP. A performance audit measures your real Core Web Vitals and points to the most cost-effective fixes for your store.

A good TTFB for Magento is under about 200-300ms for cached pages served by Varnish; anything above roughly 600ms usually points to a back-end problem worth fixing. TTFB is the server's share of load time and, on Magento 2, it's normally where the biggest gains are hiding. The usual fixes are a correctly configured full-page cache, Redis for cache and sessions, removing N+1 queries and right-sizing hosting.

Yes - Hyvä is materially faster than Luma because it replaces Magento's heavy RequireJS, Knockout and jQuery stack with lightweight Alpine.js and Tailwind, cutting JavaScript by roughly an order of magnitude. That makes "good" LCP and INP scores far easier to reach. That said, a well-tuned Luma store can still pass Core Web Vitals; the audit tells you honestly whether targeted fixes on Luma are enough, or whether you've hit its ceiling and a Hyvä migration is the cheaper long-term move.

No. A copy of your source code plus an anonymised copy of the production database is enough, and I provide the tool and instructions to make that copy safely. The audit is non-invasive - nothing runs against your live environment, so there's no risk of downtime and customers keep shopping while I diagnose the store. For field data I use the public Chrome UX Report, which needs no access at all.

A performance audit focuses only on speed - Core Web Vitals, TTFB, throughput and their causes - and starts at $2,200. A full technical audit adds code quality, security, upgrade readiness and infrastructure, and starts higher. If your only pain is a slow store, the performance audit is the fastest, cheapest way to get answers; if you also worry about security, upgrades or code quality, the comprehensive audit covers all of it in one pass.

Find out exactly what's slowing your store down

Get a Magento performance audit from $2,200, with your real Core Web Vitals and a prioritised fix roadmap in about 7 business days. Start with a free 30-minute call - tell me what hurts and I'll tell you whether and how I can help.