Medusa Storefront Performance: Where the Milliseconds Actually Go
Over-fetching, waterfalls and unoptimised images account for most of a slow headless storefront. How to find them and what to do about each.
Over-fetching, waterfalls and unoptimised images account for most of a slow headless storefront. How to find them and what to do about each.
Why we measure cadence — not story points — for every engagement.
Headless means you own every SEO decision, including the ones a hosted platform used to make. Metadata, Product schema, canonical rules and the faceted-navigation trap.
A production AWS architecture for Medusa — ECS Fargate, RDS, ElastiCache, S3 — plus the networking and migration details that turn a two-day job into a two-week one.
Railway is the shortest path from a Medusa repository to a production deployment that is actually correct. The full setup, including the worker service everyone forgets.
A multi-stage Dockerfile for Medusa v2, a compose file for local development, and the build-memory problem that catches every team once.
Every variable Medusa reads, which ones are security-critical, and how to structure configuration so a missing value fails at boot instead of at checkout.
Edge runtime gotchas, cart hydration, and the SEO trap most teams miss.
Generated migrations are only as safe as your review of them. How Medusa migrations work, and the expand-and-contract pattern that keeps rolling deploys from failing.
Configuring the Stripe module, wiring Payment Elements into a Next.js checkout, and the webhook and 3D Secure details that decide whether payments reconcile.
Address, shipping, payment session, complete. The four stages of a Medusa checkout, the state machine underneath, and the failure modes that cost orders.
What a production Medusa deployment actually needs — process separation, Redis, migrations, health checks — and the four mistakes that cause the first outage.