Skip to content

Store launch, landings, catalog & speedClient work

PageSpeed Says 97, Shoppers Still Wait: Honest Shopify Speed Work With a Pre-Publish Gate

Shopify speed work from field data first, with a pre-publish gate, for stores whose green lab score does not match what real shoppers feel.

For
Slow stores whose lab score looks fine
Checked

Sounds familiar?

Tick what applies to you

The situation Store launch, landings, catalog & speed
Why is my Shopify store slow when PageSpeed says 97?

Tick the lines that describe your case.

Describe my task

How I solve it

What I build

I build Shopify speed work from field data first, and I keep a gate in front of anything that ships. The baseline starts with real-user data and repeat lab runs, not one PSI screenshot. The diagnosis separates three things that look alike: a genuine bottleneck, a score that is being flattered by benchmark cloaking, and a fix that only moves the lab number. Fixes are applied to a candidate theme with a backup, and nothing reaches the live theme until the pre-publish gate passes.

The gate exists because of a specific failure: a client found three regressions that a green score did not show, so the verify step became mandatory on every candidate theme.

The process

How it works

6 steps. Scope and a fixed price are agreed before the first one.

  1. Field data first

    Chrome UX field data plus repeated Lighthouse/PSI runs, so a single lucky run is not the baseline.

  2. Scan for cloaking

    A store with benchmark cloaking has no trustworthy baseline until the script is removed, because it defers scripts only for testing bots.

  3. Fix real bottlenecks

    Hero preload, app JavaScript, images and srcset — measured on a candidate theme, not on the live store.

  4. Run the gate

    The pre-publish verify step checks the candidate theme and can block the release outright.

  5. Deploy with a rollback ladder

    Recorded theme ids, so any step can be reverted.

  6. State what was not worth doing

    Some green-score tricks are worth less than nothing; they are listed, not applied.

Handover

What you get

  • A baseline you can trust, taken from field data before any change.
  • The real fixes, applied to a candidate theme and proven with before/after measurements.
  • A rollback ladder with recorded theme ids.
  • A mandatory pre-publish gate on every candidate theme — it exits with a block, not a warning.
  • An honest statement of what I would not do, including any change that only moves the score.

Built with

  • Lighthouse and PageSpeed Insights API
  • Chrome UX field data
  • Chrome DevTools Protocol
  • Shopify Admin API (themes)
  • my speed-kit CLI

Proof

Done before, with dates and numbers

Client work Done for real clients. Client details are anonymised.

Before → after

On a jewellery DTC brand, the store showed a fake 97; with the benchmark cloak removed the honest score was 78, and after real optimisation it reached 92, with Largest Contentful Paint 3.4 s → 1.2 s — measured July 2026.

  • Jewellery DTC brand, UK market

    delivered Jul 2026

    78 to 92

    fake 97 → honest 78 → 92; LCP 3.4 s → 1.2 s; zero scripts deferred for a real phone against 75 for a benchmark bot.

    Read the case: The 97 That Was a Lie
  • Seafood store, Ireland

    delivered Jul–Aug 2026

    8.94 MB to 0.77 MB

    homepage transfer 8.94 MB → 0.77 MB; Total Blocking Time 610 ms → 0 ms; requests −57%.

  • Shopify speed kit

    my own tooling

    96 sourced findings, a 72-store fleet scan, and a pre-publish gate proven both ways with 12 unit checks and negative controls.

Client words

I am leaving this block empty on purpose. My verified Upwork reviews cover tracking, Shopify apps and audits — none of them is about speed work, and I am not going to borrow a quote from a different kind of project to fill the space.

What you can look at

A redrawn before/after comparison across three theme states (as-was, cloak removed, optimised) on a synthetic store, plus a short decode of a benchmark-cloaking snippet rebuilt on synthetic code. The real reads are below.

Client details anonymised. Figures read from live platform APIs and lab runs in July–August 2026.

Price and timeline

What it costs and how it runs

A bounded theme scope is a Focused Fix from USD 450, with a fixed quote before any live-theme write. If your question is just “is my score real?”, a Working Session at USD 195 can answer it against field data. Nothing ships to your live theme without the pre-publish gate passing and a rollback record in place.

QuoteFixed before work starts

Price
Focused Fix from USD 450 for a bounded theme scope. A one-question read is a Working Session USD 195.
Timeline
Scope and fixed quote before any live-theme write; every candidate theme passes the pre-publish gate before it ships.
First step
Describe the task. I reply within one working day, free, and tell you which option fits — or that you can fix it yourself.
Describe a task like this

A note from Daniilbefore you decide

When you don’t need this

If your Chrome field data already meets your targets and shoppers are not complaining, a lab score is not your problem and I will say so. And if all you want is a higher number, I will decline the job: a fabricated score is exactly what this page is about.

— Daniil

Questions

What people ask about this

Is a 97 score fake?

Not always — but it can be. A cloaking script can defer scripts only for benchmark bots while real shoppers load the full page. The way to tell is field data and a runtime check, not the score itself.

How do you tell cloaking from real caching?

By watching what the page actually serves to a real device against a testing bot, and by comparing Chrome field data with the lab run. Real caching helps real users; cloaking only helps the number.

Will you touch my live theme?

Only through a candidate theme, with a backup, behind the pre-publish gate, and with a rollback ladder. If the gate blocks, nothing ships.

Do speed apps help?

Sometimes, and sometimes they cost you a feature. On one store an app embed had been silently disabled in settings; that is a regression a score will not show you.

What is the pre-publish gate?

A verify step that checks a candidate theme before release and can block it. It was added after a client found regressions that a green score had hidden.

Daniil Maximkin

Hi, I’m Daniil.

I work with you from defining the problem to implementation and handover. You talk to the person who does the work. I work in English and Russian.

Have a task like this?

Describe your task

The first answer is free, within one working day. Or write directly: next@taskfordaniel.com