Online store optimization — speed, performance, conversion

A slow store loses 40% of visitors at 3 seconds and 7% conversion for every extra second. Full-stack optimization: frontend, backend, database, infrastructure. Measured in Core Web Vitals, not opinions.

✓ Free 3-page audit ✓ LCP under 2.5s target ✓ Before/after measurements ✓ RO · EU · UK · US

Why your store is slow — real causes

Most slow online stores have the same issues regardless of platform. Frequent diagnoses:

  • Unoptimized images: 3-5 MB on a product page. Unmodified JPEG/PNG, no WebP/AVIF, no responsive sizes. The #1 cause of poor LCP.
  • Blocking JavaScript: 500KB-2MB of JS executed synchronously on load. Carousels, popups, Shopify apps, marketing tags that pile up.
  • N+1 queries on backend: product list runs 1 + N DB queries instead of 1. On 100 products = 101 queries vs 1. TTFB 800ms-3s.
  • No caching: every request hits the database. No object cache (Redis), no page cache, no CDN.
  • Undersized hosting: shared hosting with 1GB RAM for a store with 10k daily visitors. CPU saturated at peak hours.
  • Third-party scripts: Google Analytics, Meta Pixel, chat, reviews, retargeting — without defer/async, without partytown.
  • Render-blocking fonts: 4-6 font weights loaded synchronously, FOIT (flash of invisible text), no font-display: swap.

Speed & Core Web Vitals — what actually counts

Google measures real user experience through three metrics (Core Web Vitals). All must be green in PageSpeed Insights and Search Console:

  • LCP (Largest Contentful Paint): time until the dominant visual element renders. Target under 2.5s. Dominant element = usually hero image or page title.
  • INP (Interaction to Next Paint): interaction latency (replaced FID in 2024). Target under 200ms. Measures how fast the page responds to click/tap.
  • CLS (Cumulative Layout Shift): visual stability. Target under 0.1. Measures how much content "jumps" on load (images without dimensions, fonts, ads).

Full breakdown and concrete fixes: complete guide to online store speed optimization.

Backend & database — where server time is lost

Frontend is half. The other half is TTFB (Time To First Byte) — how long the server takes to respond. Stores with TTFB above 600ms are slow regardless of frontend optimization.

  • Composite indexes: missing index on (category_id, status, sort_order) = full table scan on 100k products. Fix: EXPLAIN + correct index.
  • N+1 queries: ORM (Eloquent, Django ORM, Prisma) that lazy-loads relations in a loop. Fix: eager loading with select_related / with() / include.
  • Connection pool: opening a DB connection per request = 20-50ms overhead. Fix: pool (PgBouncer, ProxySQL) or persistent connections.
  • Redis/Memcached cache: product catalog, sessions, query results. 90%+ hit rate drops TTFB from 800ms to 80ms.
  • Partitioning: tables with millions of rows (orders, logs) partitioned by date. Query on current month = 30 days, not 5 years.

Technical deep-dive: database optimization guide for online stores.

Frontend — the code that reaches the browser

  • Bundle size: tree-shaking, route-level code-splitting, dynamic import for rarely-used modules. Target JS under 150KB gzipped per page.
  • Images: WebP/AVIF with fallback, srcset + sizes for responsive, loading="lazy" on below-the-fold content, fetchpriority="high" on the LCP image.
  • Critical CSS: inline critical CSS, defer the rest. Avoid full CSS frameworks (Bootstrap, Tailwind full) on simple pages.
  • Third-party: defer/async on analytics, Partytown to move them to a web worker, lazy-load chats and widgets.
  • Fonts: max 2 families, font-display: swap, preload main weight, subset for the site's language.

Infrastructure — hosting, CDN, edge

  • Hosting: dedicated VPS (Hetzner, OVH) or cloud (AWS/GCP) with autoscaling. Avoid shared hosting for stores above 1k daily visitors.
  • CDN: Cloudflare/Fastly/Bunny for static assets. Reduce geographic TTFB — a visitor from Germany no longer hits origin in Bucharest.
  • Edge computing: Cloudflare Workers, Vercel Edge, Deno Deploy for render at the edge. Headless store with edge = LCP under 1s globally.
  • Reverse proxy: nginx/Varnish for full page cache. Page cache hit = response under 20ms.
  • Auto-scaling: Kubernetes or Docker Swarm for horizontal scaling on Black Friday / campaigns. No scaling = crash on traffic spikes.

Technical SEO — structure, schema, indexing

Performance without technical SEO = a fast site no one finds. We optimize:

  • Schema.org markup: Product, Offer, AggregateRating, BreadcrumbList, FAQPage, Organization. Rich snippets = +30% CTR in SERP.
  • URL architecture: flat, keyword-rich, no parameters. /product/product-name/ not /product?id=123.
  • Sitemap & robots: XML sitemap with all indexable URLs, robots.txt disallow on non-ROI paths (cart, account, search).
  • Internal linking: topic clusters, consistent breadcrumbs, descriptive anchor text. Distribute authority to product pages.
  • Hreflang: correct for multi-locale. Common mistake: hreflang without reciprocals or with wrong language codes.
  • Crawl budget: for stores with 50k+ URLs, optimize crawl budget via robots, sitemap segmentation, strict canonicals.

How we work — audit + implementation

Our process is transparent and measured. No vague "we'll optimize it." Everything with before/after numbers:

  • Initial audit (1 week): PageSpeed + Lighthouse on 5-10 representative pages, WebPageTest from multiple locations, TTFB analysis, DB audit (slow query log, EXPLAIN), infrastructure audit, technical SEO audit.
  • Written report + roadmap: prioritize quick wins / medium / strategic. Impact estimate per optimization (LCP, conversion, hosting cost). Firm quote.
  • Implementation (2-8 weeks): quick wins first (1-2 weeks), then backend refactor, infra, closing with QA + monitoring.
  • After measurements: before/after Lighthouse comparison, Search Console CWV trend 30 days, GA4 conversion, RUM (Real User Monitoring) via Cloudflare.
  • Ongoing monitoring (optional): alert if LCP/INP degrades, quarterly audit, scaling for campaigns.

Full methodology and checklist: online store performance audit — complete guide.

Frequently asked questions

How much does online store optimization cost?

Full audit: 400-900 EUR. Implementation: 1,500-6,000 EUR for mid-market. Headless migration: 8,000-25,000 EUR. Final price after audit with measurements.

How fast will I see results?

Quick wins: 1-2 weeks. Core Web Vitals stable green: 4-8 weeks. Conversion impact in GA4: 30 days of consistent traffic.

Does it work on Shopify, WooCommerce, or custom?

Yes, on all. Full code access on custom platforms = largest possible improvements. On Shopify we work with themes, app audit, and Liquid.

What Core Web Vitals target do you deliver?

LCP under 2.5s, INP under 200ms, CLS under 0.1 — all green. For high-traffic stores: LCP under 2s with edge rendering.

Does it help SEO too, not just speed?

Yes. Core Web Vitals is a confirmed Google ranking factor since 2021. Store with LCP under 2.5s typically gains 10-20% organic traffic vs slow competitors.

Keep reading

Send me your store URL — free audit.

Response within 24 hours with the top 5 performance problems and impact estimate. No obligation, no sales pitch.

Request free audit