theme.liquid, LCP image preloads, CLS layout reservations, and INP main-thread event handlers on a staging theme with a reviewable Git diff.Speed Practice · Fixed-Scope CWV Engineering Sprint
A fixed-scope pass against field data, not a lab score screenshot.
In 10–15 business days we refactor your Shopify theme’s critical rendering path, image pipeline, layout stability, and main-thread JavaScript execution on an isolated staging theme to clear Google’s p75 mobile thresholds for LCP, INP, and CLS.
Commercial Terms (USD)
- Published Fee
- from $1,800 USD (50% / 50%)
- Turnaround
- 10–15 business days
- Deliverable
- Staging Theme Git PR + Pre/Post Waterfall Log
- Audit Fee Credit
- Up to $1,200 USD (30 days)
Payments processed by Stripe. Card details never reach Ecompanda systems. · All prices in USD.
01 · Scope Boundary & Equal-Weight Exclusions
Written in black and white before any work starts.
Every Ecompanda engagement lists what is excluded at equal visual weight to what is included. We ship on an isolated staging theme (`git` branch) and never modify production without your explicit sign-off.
Included in Scope
- ✓LCP optimization (preload critical hero media, remove above-the-fold lazy loading, optimize Liquid `image_tag` srcset/sizes)
- ✓INP optimization (yield to main thread on variant switches, cart drawer toggles, and filter updates; defer non-critical third-party hydration)
- ✓CLS optimization (explicit width/height/aspect-ratio on all media, reserve height for dynamic announcement/promo bars and font metric overrides)
- ✓Removal of residual code from uninstalled Shopify apps
Explicitly Excluded (Never in Scope)
- ✕User-agent cloaking or script-hiding hacks
Sample Deliverable Register
Core Web Vitals Engineering Targets (Google p75 Mobile Standard)
| Metric | Google Good Threshold | Primary Shopify Culprit | Our Liquid / JS Fix |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5 seconds | JS-hydrated hero sliders & lazy-loaded hero images | Server-rendered HTML `<picture>` + `fetchpriority="high"` |
| INP (Interaction to Next Paint) | ≤ 200 milliseconds | Synchronous DOM re-renders & 5+ app listeners on variant change | Task yielding + surgical DOM updates + script deferral |
| CLS (Cumulative Layout Shift) | ≤ 0.10 | Late-injected shipping bars, review stars & un-sized images | CSS `aspect-ratio` + static reservation slots in Liquid |
| TTFB & Payload | ≤ 0.8s TTFB / lean HTML | Nested $O(n^2)$ Liquid loops over all collections/products | Refactor Liquid loops + paginate/cache data lookups |
02 · Execution Cadence
How the engagement runs from Day 1.
Flamechart & App Audit
We isolate every render-blocking asset, layout shift source, and long main-thread task across your Home, Collection, PDP, and Cart templates.
Staging Theme Refactoring
We commit clean, modular fixes to an isolated staging theme with zero visual regressions.
Verification & Handover
We deliver before/after WebPageTest waterfalls, Lighthouse/PageSpeed runs, and the Git PR for your 5-day staging sign-off.
03 · Frequently Asked Questions
Questions buyers ask before signing.
Every engagement is governed by our published Terms & Conditions, Refund Policy, and Delivery Policy under Ecom Panda LLC.
Why does CrUX take 28 days to reflect our changes after launch?
Google’s Chrome User Experience Report (CrUX) is a rolling 28-day window of real Chrome user visits. Lab waterfalls and Lighthouse metrics improve the second we deploy to production, and the public CrUX p75 field badge updates progressively over the following 28 days.