Choose a plan

WooCommerce hosting: what matters for an online store

What a WooCommerce store needs from hosting: PHP processes, a cache that skips the cart, real cron, order-safe backups, order emails and a test site.

  • Published
  • The NBT Host team
  • 7 min read
article · online stores
Reading time
7min
Sections
11
Start reading

A WooCommerce store asks more of its hosting than a business website does, because some of its pages — the cart, checkout and customer account — can't be served from cache and are built separately for each customer. That's why, when you host a store, what matters is, in this order: how many PHP requests can run at the same time, a cache that knows which pages to skip, background tasks that run on time, backups you can restore from without losing orders, order emails that actually arrive, and a place to test updates. “Unlimited traffic” and extra gigabytes matter much less.

In short

  • Concurrent PHP processes decide how many customers can be in the cart and at checkout at the same moment without waiting.
  • Caching helps the catalog, but the cart, checkout and customer account must stay out of it.
  • Real cron: unpaid orders, scheduled sales and some emails depend on background tasks.
  • Store backups are trickier: restoring the database also takes your orders back to the day of the backup.
  • Test on a copy, not on the store that's taking orders.

Why a store is different from a business website

A business website shows the same page to every visitor. Once a page has been generated, it can be kept ready-made and served again without going through PHP and the database.

In a store, some pages are different for every person: the cart holds different products, checkout has different details, the account shows different orders. On top of that, filters and search create combinations that are hard to cache, and someone works in the admin dashboard almost every day. All of this ends up in PHP and the database. So a store with modest traffic can ask more of the server than a business website with far more visitors.

Concurrent PHP processes

Every dynamic request — a cart page, a search, a click on “Place order” — is handled by a PHP process. The number of concurrent processes tells you how many of those requests can run at the same moment. If more arrive, the rest wait in line.

How to tell you've hit the limit: the store runs fine with few visitors, but the cart and checkout slow down exactly at peak hours or during a campaign.

At NBT Host, web hosting plans have 5 concurrent PHP processes per website, and Cloud hosting has 10, 15 or 20. We explain the other numbers on a plan's spec sheet in the limits of a hosting plan.

A bigger plan won't make a heavy page faster. If the store is slow even with a single visitor, the cause is usually the theme, a plugin or a slow query, not the number of processes.

Caching: what to cache and what not to

A caching plugin keeps ready-made copies of the pages that are the same for everyone: the homepage, categories, product pages. That frees up PHP processes for the pages that really need them.

What never goes into the cache: the cart, checkout and customer account. Good caching plugins recognize WooCommerce stores and exclude these pages on their own, but it's worth checking after installation: a customer must never see someone else's cart. The rules in detail are in the WordPress caching guide.

Background tasks: cron and Action Scheduler

WooCommerce does a lot in the background as scheduled tasks: it cancels unpaid orders once the stock hold expires, starts and ends scheduled sales, and sends some emails. By default, WordPress only runs these tasks when someone visits the site. On a store with few visitors they run late; on a busy one, the check runs needlessly on every visit.

The fix is a real cron job, run by the server at fixed intervals. On good hosting you set it up from the control panel, no SSH access needed. The steps for Enhance are in the WooCommerce store guide, in the section on cron.

Backups: orders are live data

For a business website, yesterday's backup is almost as good as today's. For a store, there may be orders, new customers and stock changes between yesterday's backup and now. If you restore the database from yesterday's backup, all of that disappears from it.

What this means in practice:

  • make a backup right before any major update: WooCommerce, the theme, a payment or shipping plugin;
  • if something breaks, first try to fix it or restore only the files, and restore the database only if you have to;
  • keep your orders somewhere else too: order emails, regular exports, the invoices in your invoicing software.

At NBT Host, we back up files, databases and email every day, and you can restore a version from the last 7 days for free; you can make your own backups from Enhance at any time. Why a single copy isn't enough: the 3-2-1 rule.

Order emails

The order confirmation is the first message a customer expects from you. To make sure it lands in the inbox:

  • send it from an address on the store's domain, such as comenzi@magazinul-tau.ro, not from a Gmail address;
  • check SPF, DKIM and DMARC on the domain (see the guide);
  • keep the sending limit in mind: at NBT Host, 200 emails per hour sent from each website's code. For newsletters to large lists, use an email marketing service.

A place to test

WooCommerce updates sometimes change the cart, checkout or the way shipping plugins work. On a store that's taking orders, you don't try them out live. Copy the site to a subdomain, apply the update there, place a test order, and only then apply it to the store. In Enhance, you make the copy from the control panel: see the copying a site for testing guide.

Security and payments

  • HTTPS across the whole site, not just at checkout. On NBT Host hosting, the Let's Encrypt certificate is issued and renewed automatically.
  • Card details shouldn't pass through your server. With a payment processor that provides its own payment page or form, the card is entered on its side. How it works: card payments in your online store.
  • A protected admin dashboard: unique passwords, two-factor authentication, access only for those who need it (users and roles).

Which NBT Host plan to choose

  • A store just starting out: the Store plan, at €9 per month, €99 per year or €243 for 36 months: 30 GB, unlimited email addresses and databases, up to 3 websites, up to 3 GB of RAM and 2 vCPUs. It's on the WordPress hosting page.
  • A store that gets busy at peak times: Cloud hosting, from €25 per month, with 10, 15 or 20 PHP processes per website.
  • You'd rather not handle updates yourself: WordPress Maintenance, Complete tier, at €20 per month, is designed for stores: after every update, we check the cart and the checkout page.

If your store is currently with another provider, we'll move it for free, once, at the start of your contract, under the terms on the Free migration page. Before launch, also go through the checklist for an online store in Romania.

Frequently asked questions

Do I need a VPS for WooCommerce?

Usually not. A VPS gives you control, but also all of the administration: updates, security, backups. For a store, managed hosting with enough PHP processes is the safer choice. A VPS makes sense when you have a technical team and needs that hosting doesn't cover.

How many products fit on the Store plan?

There's no product limit. What matters is disk space, taken up mostly by images, and how heavy the themes and plugins are. A large catalog with complex filters asks more of the server than a small one with the same number of visitors.

Which PHP version does the store use?

On NBT Host hosting, you choose PHP 8.2, 8.3 or 8.4 in Enhance, separately for each website. Before switching to a new version, check that your theme and your payment and shipping plugins support it, then test an order.

Why is the cart slow when the rest of the store works fine?

The cart isn't served from cache and always goes through PHP. If it's slow only when there are many visitors, the PHP processes are busy. If it's always slow, the cause is usually a plugin. The order of checks is in the slow website guide.

Support

Have a question? A person answers.

Tell us what site you have and what you want to do; we reply during business hours.

Phone and WhatsApp+40 775 396 021
HoursMonday–Friday, 9:00–18:00 Romanian time (EET/EEST)

Never send us your password on WhatsApp or by email. What information helps us answer on the first try: how to ask for help.