Online store performance audit — complete methodology & checklist

A serious audit is not "we ran Lighthouse". It's a structured methodology across three layers — frontend, backend, infrastructure — with KPIs measured before/after and a roadmap prioritized by ROI. We show exactly what a correct audit contains, what tools we use, and what you get in the report.

Want an audit on your store? See what we deliver or request a quote.

What an audit solves (and what it doesn't)

An audit answers questions Google Analytics can't: why the store is slow, where time is lost, how much each problem costs, and how to fix it with positive ROI.

It is not: a 50-page report with Lighthouse screenshots. Not a generic "install a cache plugin" recommendation. A real audit contains concrete measurements, root causes, and a plan with impact estimates.

The three layers of the audit

1. Frontend — what reaches the browser

  • Real Core Web Vitals (CrUX): LCP, INP, CLS on real visitors — from Chrome UX Report and Search Console.
  • Lab data (Lighthouse): run on 5-10 representative pages (home, category, product, checkout), mobile + desktop separate.
  • Bundle analysis: what JS/CSS loads on each page, how much gzipped, what of it is unused.
  • Images: format, dimensions, compression, presence of width/height, lazy load, fetchpriority on LCP.
  • Third-party: inventory of external scripts (analytics, chat, pixels), main thread impact.
  • Fonts: families loaded, font-display, preload, subset.

2. Backend — what happens on the server

  • TTFB per route: home, list, product, search, checkout. p50/p95/p99 distribution.
  • Slow query log analysis: top 20 slow queries, EXPLAIN on each, identify missing indexes and N+1.
  • Connection pool: size, utilization, queue, handshake latency.
  • Cache hit rate: object cache, query cache, page cache. Below 80% = opportunity.
  • Application: profiling (Xdebug, py-spy, Node profiler) on slow endpoints — where time is spent.

3. Infrastructure — hosting, network, edge

  • Server specs: CPU, RAM, disk (HDD vs SSD vs NVMe), saturation at peak.
  • Topology: single server vs separate web/DB, presence of reverse proxy (nginx, Varnish), active CDN.
  • Geography: TTFB from 3-5 locations (RO, DE, US) — penalty for international visitors.
  • Scaling: behavior at 2x, 5x, 10x traffic. When it breaks.
  • Cost: current cost vs optimized cost after migration/upgrade.

KPIs — what we measure

KPIDefinitionTarget
TTFB p50Server time for 50% of requests<200ms
TTFB p95Server time for slowest 5%<500ms
LCP (mobile)Largest Contentful Paint on mobile<2.5s
INPInteraction to Next Paint<200ms
CLSCumulative Layout Shift<0.1
JS bundle (gzip)Total JS per page<150KB
Total page weightSum of all resources<1MB
Cache hit rate% requests served from cache>80%

Tools — the audit stack

  • PageSpeed Insights: Lighthouse + CrUX on any URL. Starting point.
  • WebPageTest: waterfall + filmstrip + before/after comparison, multiple locations and devices.
  • Chrome DevTools — Performance & Network: local profiling, 3G/CPU throttling simulation.
  • Search Console — Core Web Vitals & Page Experience: how real visitors see you, aggregated.
  • EXPLAIN + slow log + pg_stat_statements: on the database side.
  • htop / Netdata / Grafana: real-time server saturation, under load.
  • k6 / Locust: load testing — behavior at 100/500/1000 concurrent users.

Audit checklist — what I tick on every store

  • Images: modern format, responsive, lazy load, dimensions on all
  • LCP: preload + fetchpriority on hero image
  • JS: defer on all, route code-splitting, Partytown on analytics
  • CSS: critical inline, rest async
  • Fonts: max 2 families, font-display swap, preload, subset
  • Composite indexes on slow queries (identified via EXPLAIN)
  • Eager loading over detected N+1
  • Object cache (Redis) active with hit rate >80%
  • Connection pool correctly sized
  • Reverse proxy with full page cache on static routes
  • CDN for static assets + images
  • HTTP/2 or HTTP/3, Brotli/Gzip compression
  • Schema.org markup for rich snippets
  • Correct sitemap + robots

What you get in the report

At the end of the audit, we deliver:

  • Executive summary (1 page): current state, top 5 problems, estimated impact per problem, implementation cost.
  • Detailed report (15-30 pages): before measurements per KPI, analysis per layer (frontend/backend/infra), tool screenshots.
  • Prioritized roadmap: quick wins (1-2 weeks, high impact, low cost), medium optimizations, strategic initiatives (headless migration, edge rendering). Estimated LCP/INP/conversion per action.
  • Firm quote: price per phase, timeline, what's in our scope vs what the internal team can do.

Concrete case — audit on a fashion store

Shopify Plus store, 80k visitors/month. Complaint: "sales are dropping, we feel the site is slow".

Top 5 problems found:

  • LCP 4.1s on mobile (hero 3.8MB)
  • 22 Shopify apps, 1.8MB JS on homepage
  • INP 520ms (4 apps listen to document clicks)
  • TTFB 900ms (no edge cache on category pages)
  • CLS 0.28 (images without dimensions)

Roadmap (8 weeks): image conversion + apps cleanup (week 1-2), Partytown + lazy (3-4), edge cache + Redis (5-6), QA + monitoring (7-8).

Result after 60 days: LCP 1.9s, INP 180ms, CLS 0.05. Organic traffic +18%. Conversion 2.1% → 2.9% (+38%). Audit cost: 700 EUR. ROI in 11 days.

Keep reading