Infrastructure

Hosting and performance for online stores

Managed WordPress, VPS sizing, caching the cart safely and headless storefronts.

9 guides9 in-depth107 min of reading

A store's hosting problem is different from a blog's. Most of a blog can be served from a page cache, so the server barely matters. A store has pages that must never be cached: the cart, the checkout, the customer account and the Store API all depend on who is asking. Those requests go to PHP and the database every time, and they are the ones that make money. So store performance comes down to two things. The first is how fast the uncached requests are, which shows up as server response time (TTFB). The second is how safely the cache stays away from them. The worst failure isn't a slow page. It's a cached response with a Set-Cookie header, which hands one shopper's session and cart to the next.

Caching the WooCommerce cart and checkout sets the rules: cache anonymous product and category pages for a few minutes, bypass the page cache for anyone with a cart or a login, put a Redis object cache under the uncached requests, and run a cart isolation test after every cache change. Does slow hosting hurt rankings? puts hosting in proportion. It mainly affects TTFB, which delays Largest Contentful Paint, and Core Web Vitals are a confirmed but modest ranking signal measured at the 75th percentile of real users, so fix caching and TTFB first, then images and JavaScript. For headless storefronts, Next.js and Shopify with on-demand ISR replaces full rebuilds with tagged fetches and signed webhooks. In our test a 5,000-page build took 62.6 seconds, while a webhook plus the next page view showed a new price in about 0.1 seconds.

The rest of the topic is about where to run things and what that costs. ScalaHosting vs Cloudways vs Kinsta compares managed options by who does the work and by renewal price, not intro price. High-RAM VPS for Playwright clusters shows that browser rendering usually runs out of CPU before RAM, so cheap memory only pays off for workloads that spend most of their time waiting. Shopify vs self-hosted WooCommerce compares platform fees with running your own stack. The Linux and Windows VPS guides cover small always-on servers for scripts and remote desktops.

Start here

Hosting & performance17 min read

WooCommerce at scale: caching the cart and checkout without breaking them (Varnish and Redis vs WP Engine and Cloudways)

Never cache the cart, checkout, My Account, the Store API or any response that sets a cookie. Cache anonymous product and category pages for a few minutes, bypass the page cache for every shopper who has a cart or a login, and put a Redis object cache under the uncached requests. Treat a cached Set-Cookie header as the serious bug: it hands one shopper's session, cart and checkout details to the next. Self-managed Varnish works if someone owns its rules; WP Engine (EverCache for WooCommerce, from $150 a month) and Cloudways (Varnish rules preset for WooCommerce apps, Redis included, from $11 a month) make those rules the host's job. Whichever you choose, run a cart isolation test after every cache change.

Hosting & performance14 min read

Does slow hosting hurt SEO? Core Web Vitals, TTFB and edge caching, measured instead of guessed

Hosting mostly shows up in one number: time to first byte (TTFB), which delays Largest Contentful Paint because the browser can't render before the HTML arrives. Core Web Vitals are a confirmed but modest ranking signal, judged on real-user field data at the 75th percentile (LCP 2.5 s, INP 200 ms, CLS 0.1). Before paying for a faster host, measure TTFB per page, check whether HTML is served from a cache, and check compression and cache headers on assets. In the tested nginx example below, an edge cache cut TTFB from about 350 ms to 2 ms for the same page. The script in this guide makes those checks per URL and says what to fix.

Hosting & performance8 min read

ScalaHosting vs Cloudways vs Kinsta (2026): speed, management effort and real server costs for WordPress and WooCommerce

Cloudways is the cheapest way to get a managed cloud server you can fill with many sites, with prices from $11 a month and a 3-day free trial. ScalaHosting gives you a managed VPS with its own SPanel control panel, a dedicated IP and backups included, but watch the renewal price. Kinsta costs the most per site and does the most for you: Google Cloud infrastructure, edge caching and expert WordPress support.

Common questions

Does web hosting affect Core Web Vitals?

Mostly through Time to First Byte, which delays Largest Contentful Paint: slow PHP, no page cache and a server far from visitors all raise it. INP and CLS depend mainly on front-end JavaScript and layout. Google's good thresholds are LCP within 2.5 seconds, INP within 200 ms and CLS under 0.1, measured at the 75th percentile of real visits.

Does slow hosting hurt SEO? Core Web Vitals, TTFB and edge caching, measured instead of guessed

Can WooCommerce cart and checkout pages be cached?

Not with a full-page cache: cart, checkout, my-account and any request carrying WooCommerce session cookies are personal to one shopper. Cache catalog and product pages at the edge or in Varnish, and add a persistent object cache such as Redis to speed up the dynamic pages that can't be cached.

WooCommerce at scale: caching the cart and checkout without breaking them (Varnish and Redis vs WP Engine and Cloudways)

Managed WordPress hosting or a VPS?

Managed hosts such as Kinsta, or Cloudways on top of cloud servers, handle updates, caching, backups and security for a higher price per unit of resources. An unmanaged VPS is cheaper per CPU and GB of RAM, but patching, firewall, backups and monitoring become your job. Compare the cost of your own time, not only the monthly bill.

ScalaHosting vs Cloudways vs Kinsta (2026): speed, management effort and real server costs for WordPress and WooCommerce

How much RAM does a VPS need for Playwright or headless Chrome?

Each headless Chromium process typically uses several hundred MB on modern pages, and heavy single-page apps use more. Contexts inside one browser share memory, so run several contexts per browser rather than one browser per job. Size RAM from your concurrency target and leave headroom for the OS and your own code.

High-RAM VPS for Playwright clusters: Contabo vs DigitalOcean vs Vultr on memory, CPU and I/O

All hosting & performance guides

Hosting & performance14 min read

Next.js and Shopify headless: skip the full rebuild with Storyblok webhooks and on-demand ISR

Don't rebuild a headless Shopify storefront when a price or a paragraph changes. Tag each cached fetch (product:handle for Shopify, story:slug for Storyblok), point Shopify's products/update webhook and Storyblok's publish webhook at two small Next.js route handlers, verify their signatures, and call revalidateTag. Only the pages using that tag re-render, on their next visit. In our test with Next.js 16.4, a full build of 5,000 product pages took 62.6 seconds against a zero-latency mock API, while a webhook plus the next page view showed the new price in about 0.1 seconds. Use { expire: 0 } for prices so nobody sees the old one, and 'max' for editorial content.

Hosting & performance14 min read

High-RAM VPS for Playwright clusters: Contabo vs DigitalOcean vs Vultr on memory, CPU and I/O

Contabo sells RAM for an eighth to a tenth of what DigitalOcean and Vultr charge: €25 a month (€20 for the first 24 months) buys 48 GB and 12 vCPUs, while 32 GB costs $160 to $168 a month on the other two. But Playwright rendering usually runs out of CPU before RAM, so extra memory only pays off when pages spend most of their time waiting, for example on per-domain rate limits or long sessions. Use Contabo for steady, waiting-bound workloads; Vultr Optimized Cloud or DigitalOcean CPU-Optimized for CPU-heavy rendering that needs dedicated vCPUs; and either one with hourly or per-second billing for jobs that run only a few hours a day. Measure memory per page and CPU steal on a one-month plan before you commit to a long term.

Hosting & performance9 min read

Running Python price and stock monitors 24/7 on a small Linux VPS with Docker: state, health checks, log limits and clean restarts

A small Linux VPS with 1 to 2 GB of RAM runs several Python monitors in Docker for a few dollars a month. What makes them reliable isn't the server size but four habits: keep state on a volume so a restart doesn't re-alert or forget, write a heartbeat after every pass and let a Docker HEALTHCHECK read it, stop cleanly on SIGTERM within the grace period, and cap log size because Docker's default json-file log never rotates. Docker restarts a container that exits, but not one that's merely unhealthy, so also have an outside check that alerts when the heartbeat stops. The tested runner in this guide does all of this with the standard library.

Hosting & performance11 min read

Shopify vs self-hosted WooCommerce on Cloudways: a cost model by revenue level, and sizing the server you'd need

At most revenue levels the largest cost on either platform is card processing, not the plan or the server. Shopify's plan and app fees are fixed; WooCommerce swaps them for a server, premium plugins and the hours someone spends maintaining it. With list card rates on both sides, the tested model in this guide finds Shopify cheaper at every level from $10,000 to $250,000 a month, because the maintenance time costs more than Shopify's plan. WooCommerce comes out ahead only once you negotiate a lower card rate than Shopify Payments gives your plan (above about $52,000 a month in the example), or when you need control Shopify doesn't give. The script computes the table and break-even points from your own numbers and sizes PHP workers and RAM for the self-hosted side.

Hosting & performance12 min read

Setting up and hardening a Windows VPS for always-on jobs: sizing, RDP behind a firewall scope, updates on a schedule, and an audit script

Pick a Windows Server image with at least 4 GB of RAM in the region closest to the sites or people it works with, and put a cloud firewall in front of it before the first login. Remote Desktop's protection is the network scope, not the port number: allow TCP and UDP 3389 only from your own addresses or a VPN, keep Network Level Authentication on, and keep account lockout on. Schedule updates and reboots for a quiet hour instead of disabling them, then snapshot the configured server. The tested read-only Python audit in this guide checks RDP, NLA, firewall scope, lockout, pending reboots and failed logons, and exits 1 when something needs fixing.

Hosting & performance8 min read

A Windows VPS over Remote Desktop or working on your own machine: latency, cost, security, and which jobs need a server

Run interactive work on your own machine unless there's a reason not to: it has no network delay, no hourly bill and no remote-access surface to secure. A Windows VPS earns its place for jobs that must run when your computer is off (scheduled imports, monitors, desktop-only tools), for a shared desktop several people use, or when the work should happen near a server or market far from you. For people working over Remote Desktop, round-trip time decides the experience: Microsoft's guidance is under 100 ms for ideal interaction, up to 150 ms fine for office work, and above 200 ms noticeably worse. Measure it from where your team sits before choosing a region; the tested script in this guide does that.

Tools these guides recommend

Disclosure: these are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you. How this site makes money.

More in infrastructure