// Case study
Zero-downtime WooCommerce migration at 400 orders per day
12,000 SKUs and peak-season traffic moved from shared hosting to AWS, blue-green cutover, Redis sessions, and webhook re-registration with no lost orders.
- A multi-brand apparel retailer, approximately 12,000 SKUs, 400+ orders on peak days, INR 2–3 crore monthly GMV, needed off shared hosting before festival season. Checkout timeouts, MySQL lock waits, and manual inventory CSV exports were already costing operations hours daily. Downtime during migration was unacceptable: prior internal attempt on a staging clone had taken the cart offline for 40 minutes.
- Target architecture: WordPress + WooCommerce on EC2 Auto Scaling (min 2), RDS MySQL 8 with read replica, ElastiCache Redis for sessions and object cache, ALB with stickiness for admin, CloudFront for static assets, and S3 for media offload.
- Problems we anticipated and hit: payment gateway (Razorpay) webhook URLs were IP-allowlisted to the old host, had to pre-register ALB hostname and run dual-delivery during cutover; WooCommerce session cookies used a domain attribute that broke when we tested on a grey hostname; serialized PHP in wp_options broke when search-replace ran without serialization-aware tooling; a custom plugin stored absolute filesystem paths from the old cPanel layout.
