Home / Blog / Article

How to choose the right VPS for WooCommerce in 2026

Your WooCommerce store has grown and shared hosting can't keep up. Product pages take 5 seconds to load, the admin panel crashes at peak hours, and you've already lost two Black Fridays to outages.

The logical solution: migrate to VPS. But not just any VPS — a VPS tuned for WooCommerce. Because a shop with 5,000 products and 1,000 daily visitors needs something different from a WordPress blog.

In this guide I'll show you exactly what to look for: minimum resources based on traffic, the real difference between Litespeed and Nginx, when NVMe vs regular SSD matters, what caching and backup to configure.

1. How to size resources correctly (with real maths)

Most common mistake: picking a VPS "by price" and watching it crumble at the first marketing campaign. Or the opposite — paying for an enterprise server when you don't need it.

The simple formula, validated on hundreds of stores:

StoreTraffic / monthvCPURAMNVMe
Start< 20k visitors2 vCore4 GB40 GB
Medium20-80k visitors4 vCore8 GB80 GB
Performance80-200k visitors6-8 vCore16 GB160 GB
Enterprise200k+ visitors8-12 vCore32 GB320 GB

Why 8 GB RAM for a store with 50k visitors? Because:

  • WordPress + WooCommerce + plugins = ~512 MB per PHP process
  • At peak traffic you have 10-20 simultaneous PHP processes → 5-10 GB just for PHP
  • MySQL for WooCommerce with 5,000 products = 1-2 GB RAM
  • Redis cache = 500 MB - 1 GB
  • System + buffers = 1-2 GB
💡 Pro tip

Better to pick a plan one tier above what you think you need. Migrating between plans later usually happens live, with no downtime — the monthly cost difference is small compared to one hour of site outage on Black Friday.

2. Litespeed vs Nginx vs Apache for WooCommerce

This is where the biggest practical difference is made. Let me compare exactly what matters:

Apache

Most widespread, but also slowest for WooCommerce under traffic. Processes requests via mod_php modules (request-response). On each request, PHP runs again.

Nginx + PHP-FPM

Much faster than Apache. Excellent for static files. Combined with Redis Object Cache and W3 Total Cache, has decent WooCommerce performance. Downside: optimal configuration needs expertise.

Litespeed Enterprise (iTech recommendation)

Clear winner for WooCommerce. Measurable benefits:

  • LSCache — native caching that understands WooCommerce (doesn't cache the cart/checkout but caches products and categories). Difference: product page served in 50-80ms vs 800-1200ms on Apache.
  • Native HTTP/3 + QUIC — more relevant for mobile users (50-60% of typical eCommerce traffic)
  • ESI (Edge Side Includes) — partially cached pages (e.g. the mini-cart header isn't cached, but the rest of the page is)
  • Automatic WebP images — no separate plugin needed
📊 Real data from a project

On a fashion store with 12,000 products, migrating from Apache to Litespeed dropped category page load from 6.2s to 0.8s. That's +12% conversion on product pages (source: post-migration Google Analytics).

3. NVMe or SSD? When it matters (and when it doesn't)

Marketing bombards you with "enterprise NVMe" everywhere. Truth: for a store under 5,000 products, the difference between good SSD and NVMe is negligible. But over 10,000 products or with complex filters (categories with tens of thousands of variations), the difference is major.

TypeIOPS (read)IOPS (write)Latency
HDD~120~1205-10 ms
SSD SATA~75,000~30,000~0.1 ms
NVMe~500,000~250,000~0.02 ms

Concretely for WooCommerce: The filter "Men → T-shirts → Red → XL" on a store with 50,000 products can generate a query scanning a 200 MB index. On SSD it takes ~150ms, on NVMe ~30ms. Multiplied by 200 requests/second on Black Friday — the difference becomes visible.

4. Mandatory caching: LSCache, Redis, Object Cache

Without caching, no VPS saves a large store. Proper caching is split into 3 levels:

1. Page Cache (LSCache or alternative)

Stores the generated HTML of public pages. The product page is served from cache in tens of milliseconds. Critical: LSCache knows to exclude cart/checkout automatically — naive caching on WooCommerce can cause bugs (user sees someone else's cart).

2. Object Cache (Redis)

Stores frequent MySQL query results in RAM: WordPress options, transients, product metadata. Dramatically reduces database load. Typical setup: maxmemory 512mb and maxmemory-policy allkeys-lru.

3. OpCache (PHP)

Compiles PHP code once and keeps the optimised version in memory. Activated by default in PHP 8.x, but verify in php.ini that opcache.memory_consumption=256 or more.

⚠️ Common mistake

You configure LSCache and OpCache but forget Redis. The database starts to suffer at 50+ simultaneous orders. Or the opposite — you install Redis without configuring maxmemory and the server fills up with RAM.

5. CDN and image-specific CDNs

Your VPS is in a single data centre. A user in Manchester accessing a server in London loses 30-50ms just on network latency. At 100 assets per page, it's an entire second of delay.

The solution: Cloudflare (Pro plan, ~£20/month) for global cache + WAF + anti-DDoS. Plus for images: Cloudflare Polish (automatic WebP) or ImageKit/Bunny CDN.

Correct setup: Cache Everything on Cloudflare with rules that exclude /cart/, /checkout/, /my-account/, ?add-to-cart=.

6. Backup and recovery — how to avoid the tragedy

A store that loses 30 minutes of orders due to a botched restore loses reputation + money. Backup must answer 3 questions:

  1. How often? For the database: hourly (WooCommerce orders is a write-heavy database). For files: daily.
  2. Where? Three locations: on the server (snapshot), local on-premise (NAS), independent cloud (Wasabi, Backblaze B2). Never just on the server.
  3. How fast do you restore? Test at least monthly. Ideal RTO: under 30 minutes for an average store.

Recommendation: JetBackup 5 (comes with most cPanel panels) or Veeam + Wasabi for serious setups. Immutable backups (anti-ransomware) are mandatory for any store processing payments.

7. Final pre-migration checklist

Before migrating to the new VPS, verify:

  • ✅ Resources chosen based on real traffic, not desired
  • ✅ Litespeed Enterprise (or Nginx with well-configured Redis)
  • ✅ PHP 8.3 with OpCache active (memory_consumption=256+)
  • ✅ MariaDB/MySQL with innodb_buffer_pool_size = 50-70% of RAM dedicated to DB
  • ✅ Redis active as Object Cache (maxmemory 512mb+)
  • ✅ Cloudflare with Page Rules for cache (excluding cart/checkout)
  • ✅ SSL Let's Encrypt or purchased, plus HSTS forced
  • ✅ Automatic daily backup, with an offsite copy and monthly restore testing
  • ✅ Uptime monitoring (free UptimeRobot) with SMS alert for downtime
  • ✅ Stress test with k6 or Apache JMeter pre-Black Friday
🚀 Final recommendation

Don't migrate a week before Black Friday. Leave a "burn-in" month — time to detect configuration issues under normal conditions. Black Friday is exactly the wrong time to learn that your OpCache is too small.

Want to migrate to a properly configured VPS for WooCommerce?

We configure the whole stack (Litespeed + Redis + Cloudflare + immutable backup) and migrate without downtime. Plus pre-Black Friday stress test included.

See the eCommerce package