Lighthouse is a lab test
One page, one device, one network, usually with a warm cache. Useful for isolating a cause, not for reality.
Anyone can send you a Lighthouse score. We profile the whole store, including the pages Core Web Vitals never looks at, then tell you where each second goes.
Adobe Commerce gold partner
#1 Adobe Commerce partner worldwide

Hyvä Platinum Partner
40+ projects delivered


ISO certification
9001 & 27001

Most certified Hyvä agency worldwide

200+ Adobe Commerce Certifications
Magento Association
Platinum Partner
Every agency can run Lighthouse. It can't say which second belongs to which cause, or if your theme can hit the target.
1.7s
between the lab score you were comfortable with and what customers actually wait. Google ranks on the second.
They're measured on anonymous visitors loading cacheable pages. Everything below is invisible to a Lighthouse run, uncacheable by design, and sits between a visitor and an order.
Never cached, always rendered live, and the slowest part of most stores.
Account pages, order history and B2B pricing bypass the cache. Your best customers get the slowest store.
Order grids, product saves, imports. Not a ranking factor, and a daily cost to your team.
Magento's own AJAX calls fire on nearly every page, uncached. Slow ones make a fast page feel broken.
Every filter click is an uncached query against a large catalog.
When cron and consumers stall, nothing renders slowly. Orders just stop reaching the ERP.
Headless, mobile, marketplace and ERP traffic. Real load, absent from any page-speed tool.
This is the difference between an audit and a screenshot, and almost nobody in this market draws it.
One page, one device, one network, usually with a warm cache. Useful for isolating a cause, not for reality.
Real users, real devices, at the 75th percentile. That's what Google ranks on, and it's routinely worse.
Lab to attribute causes, field to establish reality. Where they diverge, the divergence itself is a finding.
If an audit you've been given contains only a Lighthouse score, it measured the wrong thing
Speed work loses the budget argument whenever it's presented as a score instead of a number. We model it against your own analytics.
The measured relationship between load time and conversion on your own store, by device.
Sessions that never render, weighted by the traffic source that paid for them.
Core Web Vitals are a confirmed ranking input. The audit says which templates are failing.
What the same problem costs on your biggest day, when every weakness amplifies.
Paying for the wrong lane is the most expensive mistake in performance work, and it's why so many optimizations underdeliver. Most stores are some of both, in a ratio the audit measures rather than assumes.
Typical of brand and content-led stores. The seconds are in the browser: theme JavaScript, blocking assets, oversized media, third-party tags.
Typical of large catalogs and B2B. The seconds are behind the request: TTFB, queries, indexers, cache misses, search.
Most merchants have never been told what a healthy number is, which makes it impossible to know whether a quote is ambitious or lazy.
Adobe's own guidance: a cacheable page should serve in under 150ms if Varnish works
Uncached is cart, checkout and logged-in browsing. Most stores never measure it
Below 85% is a finding. Every miss is a page rendered that shouldn't have been
A Core Web Vital and a confirmed ranking input
Where Luma stores usually fail
Cheap to fix, often overlooked
Nobody measures it until it collides with a campaign
Time to first byte is where most Magento slowness lives, and it's a single number hiding six different problems. We take it apart.

An average TTFB is meaningless when half your requests are served in 40ms and half hit PHP. The ratio is usually the finding.
Two numbers plus the ratio. The ratio is usually the finding.
Every slow request split into where the time was actually spent.
A live ERP stock check or tax lookup puts someone else's latency inside your page load.
Session reads happen on every uncached request. A network hop slows everything logged-in.
What search actually costs on listing pages at your real catalog size and facet count.
TLS, HTTP/2 and keepalive, which add hundreds of milliseconds no application fix touches.
A two-line change that quietly taxes every uncached request when it's wrong.
Synthetic tests tell you a page is slow. Profiling tells you which function, query and background job is responsible, on real traffic, over time.
A 400ms controller called 90,000 times costs more than the transaction that runs twice a day.
The difference between the category page is slow and one plugin adds 340ms to every render.
Aggregate cost with query plans, so N+1 shows as one query times two hundred.
Latency and error rate per outbound call, so a degraded supplier API is a finding not a mystery.
Which jobs run long, which have quietly stopped, which overlap, which run at peak.
A fast 500 is not a fast page, and spikes usually share a cause with slowness.
Whether three custom modules account for 60% of the render. It changes who owns the fix.
The average hides the tail. The 95th is where customers actually feel the store.
It got slow around March becomes it got slow on the 12th, in this release.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Where you already run application monitoring we use your data. Where you don't, we instrument for the audit and leave the instrumentation behind, so you keep the visibility.
Almost every Magento store has caching enabled. Far fewer have caching that works, and the gap is usually the biggest number in the report.
Read from varnishstat rather than assumed, so the number is real.
A miss is fixed by warming. A pass is an application bug wearing a caching costume.
One non-cacheable block takes its whole page out, and a bad module can take the catalog.
We trace what a routine merchandising edit actually invalidates.
Magento's cache is lazy. Every deploy hands real customers uncached pages until traffic warms it.
Grace hits, ban-list growth, thread queueing and LRU evictions, each with its own meaning.
VCL against the reference, grace mode, probes, ESI, and whether purges actually arrive.
Separate instances, or one where a cache flush logs your customers out.
Magento's uncached AJAX calls. Slow ones make a fast page feel broken.
Asset TTLs, headers on uncacheable routes, and whether the CDN shields your origin.
Full-page cache: 61% of requests actually served by Varnish. Two in five pages rendered that never should have been. Healthy is 90%+. Below 85% is a finding.
Nothing here renders slowly. It fails quietly instead, and the first symptom is usually commercial rather than technical.
Which groups overlap, which run at peak, and whether anything has been stuck for weeks.
Update-on-save on a large catalog turns every product edit into a stall.
Whether they run at all, backlog depth, and what's waiting behind them.
cron_schedule bloat, which slows the mechanism meant to be maintaining the store.
Everything the sections above don't cover, measured on your templates and attributed to a cause rather than listed as an opportunity.
Home, category, product, cart and checkout, with real-user data plus lab runs for attribution, on mobile and desktop.
JavaScript weight and execution, blocking assets, critical CSS, fonts, the image pipeline, and the LCP element identified rather than guessed.
Every tag measured for what it costs in milliseconds, on which templates, so removing one is a numbers conversation.
Every module weighed for its performance cost, including the ones nobody remembers installing.
Whether the stack underneath can deliver what the code is capable of, with a handoff to the infrastructure audit when the answer is no.
Slow query log, index coverage on custom tables, buffer pool against dataset, and the queries your own custom code generates.
An unusable admin is a real cost your team pays daily, and it's rarely in anyone's audit scope.
Legacy Luma ships megabytes of RequireJS and jQuery that block the main thread. The honest question is whether your theme has a ceiling below your target.
Measured, with the gains attributed, so you know the value of the cheaper path first.
Some Luma stores reach good vitals. Many can't, and no backend work lifts them. You get a verdict, not a hedge.
The most certified Hyvä agency in the world, having migrated Drybar, OXO and Lichtkoning off legacy themes.
Plenty of stores are told to rebuild when the real problem is a 1.2-second TTFB. We'll say so.
A store comfortable at 200 concurrent users can fall over at 900, and the failure mode is rarely the thing you optimised.
Where the store degrades, what breaks first, and at what concurrency. Tested, not estimated.
Your last campaign's real numbers against what the current configuration will carry.
What happens when a deploy or scale-out hands real traffic uncached pages. That's how peak incidents start.
Included where peak readiness is the reason for the audit. Otherwise scoped separately, because load testing on a live store deserves planning.
Findings live in places that rarely get read together: the profiler, the codebase, the cache counters, the database. Correlating them is what AI is genuinely good at.
Profiling says where the time goes, the code says why. Traced to the loop, plugin or observer causing it.
Findings that agree across sources are real. Findings in only one usually aren't.
The same anti-pattern often appears in six modules. A manual review finds the one it opened.
Queue, block cache, index time or removed entirely, with the trade-offs compared quickly.
A caching layer without hit rate, a module reimplementing the platform. Removal is a real recommendation.
Correlated evidence narrows the field. Judgment picks the one to act on.
A correct change that touches checkout during peak season is not a good recommendation.
Which single finding, once fixed, makes four others disappear.
AI correlates and proposes. People are accountable for what you're told to do.
Category render spends 340ms in one plugin
That plugin loads a product collection inside a foreach
217 near-identical queries per request
Passes climbing on the same template


Your code and data stay inside our ISO 27001 practice and are never used to train a model.
Hours against expected seconds, so the roadmap sorts itself by value rather than by our preference.
You should know what you're buying before you buy it.
Core Web Vitals, TTFB and throughput per template, with the divergence explained rather than hidden.
Not the product page is slow, but 1.9 seconds of scripts, of which 1.2 is one tag.
Estimated hours against expected seconds recovered, so the roadmap sorts itself by value.
What the current state costs and what recovering it is worth, against your own analytics.
Whether tuning gets you to good vitals, or whether you've hit the ceiling.
And an anonymised sample report before you commit, if you want to see the quality first.
Recorded, so no area is presented as healthy by omission.
AI analysis is part of the audit, not the point of it.
Measured causes behind the recommendations, prioritised by impact.
61% cache hit rate: two in five visitors wait 1.8s instead of 40ms.
One non-cacheable block makes category pages bypass Varnish.
One plugin adds 340ms to every category render, invisible to a page-speed tool.
Checkout and live ERP calls are missing from the Lighthouse score.
Two cron groups stuck for eleven days explain the late order exports.
Product imagery gains 0.2s, so it goes last in the plan.
Read-only throughout. Measurement is rate-limited so it never affects your store.
Field vitals, traffic and device mix, revenue modelling
Configuration, service versions, profiling
Slow query log, index behaviour, dataset size
Cache, indexer, cron and extension configuration
Transaction traces, slow queries, background jobs, history
Hit rates, VCL, invalidation behaviour
Catalog size, template count, hosting model and whether peak testing is included decide the effort.
Catalog size, templates, hosting model and whether peak testing is included.
Under our Fixed Cost Estimate Guarantee, the approved number is what you pay.
Phased, so quick wins ship before the structural work starts.
The report is yours to act on with anyone. The don't-bother list is proof of that.
You don't need to know where the seconds go. You need a reason to want them measured.
Anyone can send you a score. The work is attributing each second to a cause, including on the pages Core Web Vitals never looks at.
Uncached journeys measured
Cart, checkout, logged-in browsing, admin
Sometimes
Every second attributed to a cause
Function, query or job, not an opportunity list
Varies
Cache HIT and MISS reported separately
Background work checked
Cron, indexers and queue consumers
Sometimes
Field data, not just a lab run
Varies
Partial
Expected seconds against each fix
Fixed by the team that measured it
Sometimes
Alex Brynou
Director of Systems Architecture


Within just two to three months, they resolved issues that previously seemed unresolvable.

Tim Johnson
CTO
There is no challenge for which they can't find a solution.

Will Aubuchon
CEO
What I value most is consistency. Magebit knows our store inside out, responds fast, and keeps it running smoothly year after year.
Marian Gaidoš
CEO
The top-ranked Adobe Commerce agency on the planet by Adobe themselves.

The most certified Hyvä agency in the world. Confirmed by Hyvä themselves, twice.

Innovator, World Traveler, and eCommerce Excellence awards across Meet Magento NYC and HIVE London, and more.

The most-certified Hyvä agency worldwide and the first Hyvä Platinum Partner in the USA. 55+ certified developers and 40+ projects delivered.
ISO 9001 & 27001 for quality and security.
Profiler, code, database and cache counters read together, so the report names one cause rather than four symptoms.
UX grounded in large-scale ecommerce research.

Magebit team at Meet Magento, #1 Adobe Commerce agency worldwide
By certified developers, Magebit holds the number-one spot among Adobe Commerce agencies worldwide, and we’re the most certified Hyvä agency on the planet. Proof that the depth is real, not a logo on a page.
#1 Adobe agency worldwide

200+ Adobe certifications

Most certified Hyvä agency

Adobe Subject Matter Expert
Merchants come to us with a PageSpeed screenshot and leave with a conversion story. Show me your store and I'll show you where the seconds go, what each one costs, and the exact plan to take them back.
Reviewed by Kristaps Rjabovs
Co-founder of Magebit, Forbes 30 Under 30

If you can't find the answer you're looking for, feel free to reach out to us. We're here to help.
We guarantee process, not a number, and anyone promising a specific score before seeing your store is selling a template. The audit establishes your realistic ceiling on the current theme, what tuning gets you there, and what a rebuild would add. Our production track record, 95+ PageSpeed and 90+ field vitals at global scale, is public and verifiable.
Scoped on the first call against catalog size, templates and whether peak testing is included, then quoted as a fixed price before anything starts. Remediation is quoted separately once findings show what's actually needed.
Only when the numbers say so, and the report shows what tuning can still buy on your current theme so you can compare. Plenty of stores get where they need to be without a rebuild, and we'd rather tell you that than sell the bigger project.
That's one of the most common reasons to commission this audit. Core Web Vitals only measure anonymous visitors on cacheable pages, so a store can pass them while checkout takes four seconds, logged-in browsing crawls and cron has been stuck for a fortnight. We profile the uncached journeys, the background work and the admin as standard.
Where peak readiness is the concern, yes, by agreement and at a time you choose. Steady-state numbers don't predict Black Friday, and pretending otherwise is how stores get surprised in November.
Yes, an anonymised sample on request. You should know what you're buying before you buy it.
None. Measurement and profiling are read-only and rate-limited. Remediation only happens if you commission it separately.
Your store, your numbers, your worst offender. You'll get field and lab data, a cause behind every second, and a straight answer on your theme's ceiling.
Not a sales script.
With hours and value against each.
The findings are yours to keep.
We use cookies.
Some help us see how the site is used and measure our ads. You choose — until you do, no cookies are set and Google receives only cookieless signals that don't identify you. Privacy Policy