Table of contents
What WooCommerce is, and what it is not
WooCommerce is not a selling platform: it is an extension of WordPress that adds shop functions to a website — catalogue, cart, checkout, orders, customers. The distinction sounds like a technicality and in fact explains almost everything else.
It means the shop lives inside your site, on your hosting, with your data in your database. There is no supplier hosting the storefront on your behalf. The plugin is free and open source, which is why it has grown into one of the most used ways to sell online anywhere.
It also means nobody keeps the machine running for you. On a subscription platform, updates, servers and security are covered by the monthly fee: they are someone else's problem. With WooCommerce they become your responsibility, which you can keep or delegate, but which does not disappear.
The trade is clear: total control in exchange for total responsibility. You can change anything, you pay no percentage on sales, you can take everything with you whenever you like. In return, if the checkout stops working at nine in the evening, there is nobody to call who is not on your own payroll.
When it makes sense and when to look elsewhere
The right question is not which platform is better in the abstract, but which is better for the way you work.
WooCommerce makes sense when the shop is not the whole site but part of a wider project: a company with content, service pages, a blog, that also sells. When the product needs telling rather than merely listing — wine, craft goods, technical products with complex specifications. When you need customisation a closed platform will not allow: different price lists per customer, a B2B channel alongside B2C, a link to the company management system.
It also makes sense when margins are tight: not paying a percentage of turnover changes the arithmetic substantially above a certain volume.
Look elsewhere when you sell a few dozen simple products and want to start tomorrow without thinking about anything. When nobody in the company can look after the site, not even to delegate it. Or when order volume is high enough to demand serious infrastructure: at that point the choice shifts to different tools, and the comparison becomes another one. We went through it in detail in WordPress vs Shopify.
A practical test. If having to update something every month strikes you as a trivial detail, WooCommerce is a good road. If it already feels like a burden now, that burden will not shrink after launch: better to know before choosing.
What it really costs: the full bill
The plugin is free. The shop is not. Here are the items that make up the real cost, in order of how badly they are underestimated.
Hosting. It is the first place people economise and the one they pay for most dearly. An online shop has pages that by definition cannot be cached — cart, checkout, customer account — and that query the database on every single visit. On the cheapest shared plan this means a site that slows down exactly when traffic arrives, which is when it matters. You need hosting built for WordPress, with guaranteed resources and automatic daily backups.
The theme. A commercial theme costs little and is the usual starting point. The problem is not the price but what comes with it: many general-purpose themes bundle dozens of features you will never use and that sit there weighing on every page. A lightweight theme, or a bespoke build, costs more at the start and less for the rest of the site's life.
Extensions. This is where the bill quietly grows. WooCommerce does not do everything out of the box: carriers with automatic rate calculation, electronic invoicing, advanced variant handling, subscriptions, bookings — nearly all of it comes from extensions, and nearly all of them carry an annual fee. Five or six paid extensions is normal, and they belong in the budget as a recurring cost, not a one-off.
Maintenance. It is the one item you cannot remove without consequences. Updates tested on a copy first, verified backups, checkout monitoring: this is not an optional extra, it is the price of the control you chose when you picked WooCommerce over a managed platform.
What you do not pay. Worth putting in the right column: no platform subscription, no percentage on sales beyond what the payment provider takes, no limit on the number of products. Above a certain turnover, that difference alone pays for everything else.
Payments and invoicing
This is where projects stall most often, because it calls for decisions that are administrative rather than technical.
Payment methods. Cards and digital wallets are the standard and are enabled through the usual payment providers. Advance bank transfer still has its place for high-value B2B orders. Cash on delivery, increasingly rare, deserves careful thought: it carries costs and a refusal-on-delivery rate that no budget ever accounts for.
One piece of advice we always give: at least two methods, never just one. Every payment provider declines a share of transactions for reasons of its own, and without an alternative that order is lost without you even knowing it existed.
Invoicing. Anyone selling in Italy has to handle electronic invoicing, and WooCommerce does not do it natively. Extensions are needed to connect the shop to your accounting system or to an intermediary. That choice belongs with your accountant and has to be made before launch, not after: it determines which data the checkout must collect — tax code, VAT number, recipient code, certified email — and redesigning the checkout on a live shop is work nobody wants to do.
VAT and cross-border sales. Selling within one country is straightforward. As soon as the distance-selling thresholds to other EU countries are crossed, different rules apply to which rate you charge, and the tax configuration has to follow. Another point to settle with the accountant first.
Shipping, stock and orders
The storefront is the visible part; what decides whether the shop works is the machinery behind it.
Shipping. WooCommerce handles flat rates and weight or price bands on its own. Real-time carrier rates, labels generated from the dashboard and automatic tracking require dedicated extensions. Do the honest arithmetic first: if you ship a handful of parcels a day, full automation is a cost that will not pay for itself; above a certain volume, the time saved is worth more than the extension.
Stock. Basic inventory handling is there and is enough for most shops. It gets complicated when the same stock is shared with a physical shop or a marketplace: that needs a link to the management system, and it is one of the points where WooCommerce's openness genuinely pays, because that link can be built.
Orders. The order dashboard is where you will spend most of your time after launch, and it is worth setting up properly: order statuses that match your real process, automatic emails written in decent language instead of the defaults, internal notes for whoever packs the parcels. These are details invisible from outside that decide how many hours a day the shop takes from you.
Performance: where WooCommerce is won or lost
Slowness is the criticism levelled at WooCommerce most often, and it is largely deserved — though not for the reason people think. WooCommerce is not inherently slow: it becomes slow by accumulation.
The mechanism is always the same. A general-purpose theme loading features nobody uses, twenty plugins installed over two years of which half are now pointless, images uploaded at full resolution, no caching configured. Each of these weighs little on its own. Together they make a shop that takes six seconds to open a product page, and six seconds on a phone means a share of visitors leave before they see the price.
The remedies are well known, in order of effectiveness. Page caching, taking care to exclude cart, checkout and customer account, which must stay dynamic. Images in modern formats, genuinely resized rather than merely scaled down in CSS. Fewer plugins: every extension removed is loading time given back. Hosting that is up to the job, because below a certain threshold no amount of optimisation compensates for an inadequate server.
If the shop is already live and running slowly, slow website: the seven most common causes sets out the diagnosis in the right order.
Security and maintenance
An online shop is a more interesting target than a brochure site: it holds customer data, addresses, order history, and it moves payments. Not a detail to postpone.
Updates are the first defence and the most neglected. Almost every compromised WordPress site is breached through an out-of-date plugin, not through a flaw in WordPress itself. On a shop, though, the rule differs from an ordinary site: never update directly in production. Test on a copy, confirm the checkout completes an order, and only then publish.
Backups must be automatic, daily and stored off the site's own server. And they must be tested: a backup that has never been restored is a hypothesis, not a guarantee.
Access. Separate passwords per person, two-factor authentication on administrative accounts, and above all roles assigned sensibly: whoever packs the parcels does not need to be able to install plugins. It is the cheapest measure there is and it prevents most of the real trouble.
The rest — login protection, file monitoring, a certificate that never lapses — is routine maintenance work, and we have collected it in the website security guide.
The mistakes we see most often
They are nearly always the same ones, and all of them are avoidable at the design stage.
Choosing the theme for the storefront rather than the catalogue. Judge a theme by how it shows a product page with ten variants and how the checkout behaves on a phone, not by how attractive the homepage looks in the demo.
Postponing the invoicing decision. Settling it after launch means going back into the checkout, which is the one page you never want to touch twice.
Installing a plugin for every small need. Every extension adds code, a fee and a risk. The question before installing is not "is it useful?" but "is it useful enough to justify the weight it adds?".
Never testing the checkout. It sounds absurd, and it is by far the most expensive mistake. It should be tested at every update, with a real order carried all the way through. A broken cart sends no alert: the orders simply stop, and it is usually discovered days later.
Treating launch as the finish line. The day it opens, an online shop is at the starting point: the real data — which products people search for, where the cart is abandoned, which pages do not convert — only arrives afterwards. If you want to start from strategy rather than technology, the guide to opening an online shop covers the stage before this one.