How to Scale WooCommerce Past £1M: Speed, Infrastructure and Recurring Revenue

Summarise this post with:

Most WooCommerce stores that stall below £1M do not have a marketing problem. They have an operations problem wearing a marketing costume. The ads work until the site gets slow. The email programme works until renewals start failing. The catalogue grows until the orders screen takes eleven seconds to load.

This guide covers the operational side of how to scale WooCommerce: site speed, hosting and database limits, recurring revenue, fraud, and the point at which migration stops being a distraction and starts being the right call. It is the technical companion to our WooCommerce Marketing Guide, which covers acquisition, email and the wider growth stack.

If you run on Shopify, the equivalent is how to scale a Shopify store from £10K to £100K a month.

On this page

What actually breaks when WooCommerce scales

WooCommerce is open source, which means nothing is decided for you. At £200k a year that flexibility is a feature. At £1M it becomes a maintenance surface.

Three things break, roughly in this order.

Front-end speed goes first. A theme chosen for looks, plus a plugin stack that grew by accident, produces a mobile product page that fails Core Web Vitals. You pay for that twice: in rankings and in conversion rate.

Then the admin. Order volume, not traffic, is what actually strains WooCommerce. Checkout and admin queries cannot be cached, so a page cache that makes your homepage feel instant does nothing for the part of the site that makes money.

Then the edges. Failed subscription renewals nobody is monitoring. Card-testing bots hammering your checkout at 3am. Duties surprising international customers at the door. Each one is small. Together they cap you.

How to speed up a WooCommerce site

Speed is the most common reason a WooCommerce store underperforms an equivalent Shopify store, and the most fixable.

Google’s thresholds are public and measured at the 75th percentile of real user data: Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, Cumulative Layout Shift under 0.1.

Diagnose before you optimise

Do not buy a caching plugin first. Establish what is actually slow.

Pull field data from the Chrome User Experience Report via PageSpeed Insights or Search Console, then run lab tests on your three highest-value templates: homepage, a category page and a product page, on mobile, throttled.

Separate server time from front-end time. A time to first byte above 600ms on a product page is a hosting or database problem, and no amount of image optimisation will fix it.

The five fixes that move Core Web Vitals most

Hosting and PHP. Move to managed WooCommerce hosting with object caching (Redis) and a current PHP version. This single change often halves TTFB.

Plugin audit. Deactivate everything non-essential and measure again. Page builders, sliders, and anything loading assets on every page are the usual offenders. Most stores can remove a third of their plugins without losing a feature a customer would notice.

Images. Serve WebP or AVIF, size them for the container, and lazy-load everything below the fold. Explicitly do not lazy-load your LCP image. That is a very common own goal.

JavaScript. Defer non-critical scripts, remove duplicate tracking tags, and load pixels and chat widgets after interaction rather than on load. Third-party JavaScript is usually the single largest contributor to poor INP.

Database. WooCommerce accumulates post revisions, expired transients and orphaned metadata. Schedule regular cleanup and index review rather than doing it once in a panic.

Hosting, database and the HPOS upgrade

Past roughly £1M the constraint moves from your theme to your infrastructure.

Enable High-Performance Order Storage

If your store predates late 2023, check whether High-Performance Order Storage is enabled. HPOS moves order data out of the WordPress wp_posts and wp_postmeta tables into dedicated, properly indexed relational tables. WooCommerce reports substantial gains in order creation, retrieval and checkout speed as a result.

It has been the default for new installations since WooCommerce 8.2 in October 2023. Plenty of established stores, the ones with the most order data and therefore the most to gain, are still on the legacy structure.

Test the migration on staging first. Incompatible plugins are the main risk, and WooCommerce will flag them before you switch.

Plan the rest of the stack deliberately

Object caching for uncacheable queries. A read-optimised database configuration. A CDN in front of everything static. And an admin experience separated from customer-facing performance, so a slow orders screen does not mean a slow storefront.

If your team dreads opening the orders screen during a sale, that is the signal you have outgrown your hosting.

Not sure which of these is costing you most? We run a fixed-scope WooCommerce audit that scores your store on Core Web Vitals, infrastructure, checkout and paid efficiency, then returns a prioritised list ranked by revenue impact. Not a 60-page PDF nobody reads. Book a WooCommerce audit →

How to set up WooCommerce Subscriptions

Recurring revenue is the most reliable route from £1M to £3M for consumable products, and it is where WooCommerce’s flexibility genuinely pays.

The official WooCommerce Subscriptions extension is $279 a year and handles recurring billing, renewal orders, customer-managed pausing and cancellation, and plan switching.

Setup runs in a predictable order:

  1. Confirm your payment gateway supports tokenised recurring payments. Stripe and WooPayments do. Several do not, and finding out after launch is expensive.
  2. Install and configure the extension.
  3. Create a subscription product with the billing interval, plus any sign-up fee or free trial.
  4. Configure renewal and failed-payment emails.
  5. Test end to end on staging with a real card and a forced renewal.

The step most stores skip is dunning. Failed payments from expired cards are the single largest source of involuntary churn. Configure automatic retries with a defined schedule and a customer-facing card-update flow before you launch, not after your first bad month.

How to stop spam orders in WooCommerce

A sudden spike of failed or low-value pending orders, often overnight or at weekends, almost always means card testing. Bots hit your checkout or Store API endpoints to validate stolen card numbers.

The cost to you is gateway fees, chargebacks, distorted analytics, degraded server performance, and eventually a payment provider asking uncomfortable questions.

Defend in layers:

  • Rate limiting on /checkout and the Store API at CDN or firewall level. A rule such as five requests per minute per IP stops most automated attempts.
  • Invisible CAPTCHA on checkout and registration.
  • Gateway fraud tooling, for example Stripe Radar.
  • Geographic blocking for countries you do not ship to.
  • Monitoring. A failed-payment rate that suddenly climbs is your earliest warning.

Scaling internationally

International expansion is where WooCommerce’s flexibility and its maintenance burden both show up at once.

You need a decision on store structure (subdirectories, subdomains or separate installs), correct hreflang implementation, multi-currency with locally sensible pricing rather than raw conversion, local payment methods, and tax and duty handling that does not surprise the customer at the door.

Handle duty transparency before you drive traffic. An international launch with unclear duties produces abandonment at a higher cost per click than your home market. Pair the launch with tightly geo-segmented campaigns rather than opening global targeting.

When migrating away is the right call

Sometimes the honest answer is that WooCommerce is not the constraint you should be solving.

Stay and invest if your commerce logic is genuinely non-standard, if content and organic search are primary acquisition channels, if you have reliable technical resource, or if data ownership is a hard requirement.

Consider moving if you are spending more maintaining the platform than growing the business, if checkout stability is your bottleneck after you have exhausted the work above, or if your team cannot ship changes without a developer.

Set the threshold in numbers before you feel it emotionally: developer hours per month, uptime during peak, mobile LCP, checkout completion rate. If three of four have trended the wrong way for two quarters, scope the migration.

How to migrate your store from WooCommerce without losing rankings

The risk is not the products. It is the URLs. WooCommerce uses /product/name/ and /product-category/name/. Shopify uses /products/name and /collections/name. Every URL changes.

Sequence it properly:

  1. Export your current state first. Every URL with its status code, meta title, meta description, H1, and its organic traffic and revenue over twelve months. Crawl the site to produce this. Do not rely on the sitemap.
  2. Build a two-column redirect map, old path to new path, covering every indexed URL, prioritised by organic revenue. Implement as 301s. Do not redirect everything to the homepage; that is treated as a soft 404.
  3. Rebuild category content rather than copying it thinly.
  4. Take the old store fully offline at launch. Two live copies of your catalogue is a duplicate content problem you do not need on day one.
  5. Monitor daily for a fortnight. Submit the new sitemap, confirm every old URL returns a 301 to a 200, and watch coverage errors.

Expect a dip. A well-executed migration typically recovers within four to eight weeks. Set that expectation with your board before launch, not during the dip.

What this guide deliberately does not cover

Three topics sit next to this one and are covered properly elsewhere. Sending you there is more useful than repeating them badly.

For tooling across all of these, see our roundup of the best WooCommerce marketing plugins.

Your 90-day plan

Days 1 to 30: measure and stabilise. Baseline Core Web Vitals on three template types. Audit and remove unused plugins. Move to managed hosting if you have not. Enable HPOS on staging, then production. Put rate limiting and CAPTCHA on checkout.

Days 31 to 60: close the gaps. Fix your LCP image and third-party JavaScript. Run the database cleanup. Launch subscriptions if your product supports repeat purchase, with dunning configured before launch. Re-measure everything from day one.

Days 61 to 90: decide. Open one international market properly rather than three loosely. Then rerun the platform decision with real numbers. Most stores find the ceiling was never the platform.

Frequently asked questions

Yes, with the right infrastructure. It requires managed hosting with object caching, HPOS enabled, a disciplined plugin stack and ongoing maintenance. Without those, performance degrades as order volume grows rather than as traffic grows.

Usually one of four causes: underpowered hosting producing high server response times, too many plugins loading assets on every page, unoptimised images, or third-party JavaScript such as tracking pixels and chat widgets. Diagnose server time and front-end time separately before changing anything.

High-Performance Order Storage moves order data into dedicated indexed database tables instead of the WordPress posts tables. It has been default for new stores since WooCommerce 8.2 in October 2023 and materially improves order and checkout speed. Test on staging first.

Layer your defences: rate-limit checkout and Store API endpoints at your CDN or firewall, add invisible CAPTCHA to checkout and registration, enable gateway fraud tools such as Stripe Radar, and block countries you do not ship to. Monitor failed-payment rates as an early warning.

For genuine recurring billing with renewals, pausing and plan switching, yes. It is $279 a year. Confirm your gateway supports tokenised recurring payments first, and configure dunning for failed payments before launch. That is where most subscription revenue leaks.

You will see a temporary dip. Long-term losses are avoidable with a complete 301 redirect map from every old URL to its closest new equivalent, preserved metadata, rebuilt category content, and the old store taken fully offline. Most well-executed migrations recover within four to eight weeks.

Scaling WooCommerce, or thinking about leaving it?

Either way, the decision should come from numbers rather than frustration.

Our WooCommerce audit scores your store on Core Web Vitals, infrastructure, checkout and paid efficiency, then returns a prioritised roadmap with a modelled revenue impact for each item, including a straight answer on whether migrating is worth it for you.

Book your WooCommerce audit →

Share this post: