WooCommerce has a reputation for being complicated. Some of that reputation is earned, but mostly it applies to the parts of WooCommerce you do not need if you are selling digital products. A shop selling physical goods across multiple warehouses with variable shipping rates and tax zones is genuinely complex to configure. A shop selling PDF guides, Lightroom presets, course workbooks, or design templates is not.

This guide covers only what you need for a straightforward digital download shop: getting WooCommerce installed and configured correctly, setting up your first product, handling payments, and making sure customers can actually access what they have bought. Nothing more than that.


What WooCommerce does well for digital sellers

Before getting into the setup, it is worth being clear about why WooCommerce is a reasonable choice for this.

The main alternatives are dedicated platforms like Gumroad, Payhip, or Lemon Squeezy. These are simpler to set up and take care of hosting and payment processing for you. The tradeoff is that they take a percentage of every sale, they keep your customers on their platform rather than yours, and you have limited control over the buying experience.

WooCommerce on your own WordPress site means you own the shop, the customer data, and the experience. You pay a flat monthly hosting fee rather than a cut of each transaction, which becomes meaningfully cheaper once you are selling at any volume. The setup takes a couple of hours rather than ten minutes, but you only do it once.

For someone already running a WordPress site who wants to add a shop without moving to a new platform or sharing revenue indefinitely, WooCommerce is a sensible choice.


Step 1: install WooCommerce

WooCommerce is a free plugin available directly from the WordPress plugin directory. In your WordPress admin, go to Plugins > Add New, search for WooCommerce, and install it. It is the one by Automattic with several million active installations.

Once activated, WooCommerce runs a setup wizard. Work through it: it asks for your store location (country and address), currency, and what type of products you sell. Select “Downloads” when it asks about product types. You can skip the steps about paid extensions and features you do not need.

After the wizard, WooCommerce will have added several pages to your WordPress site: Shop, Cart, Checkout, My Account, and a few others. These are created automatically and are where the shopping experience happens.


Step 2: configure digital download settings

This is the step most guides skip over, and it matters.

Go to WooCommerce > Settings > Products > Downloadable Products. You will see a setting called “File Download Method.” Set this to Force Downloads.

Force Downloads means WooCommerce handles the file delivery through PHP rather than pointing customers to a direct file URL. This prevents people from sharing download links or accessing files without purchasing, because the download URL is tied to the order and expires after use. The alternatives (Redirect Only and X-Accel-Redirect) have legitimate uses in specific server configurations, but Force Downloads is the right default for most setups.

While you are here, set the download expiry if you want one. Leaving it blank means download links do not expire, which is simpler and what most customers expect. You can also set a limit on the number of times a file can be downloaded per purchase. Leaving this blank is also fine; it just means the customer can re-download as many times as they like, which reduces support queries about lost files.


Step 3: set up payments

For digital downloads, you need a payment processor that releases funds immediately or near-immediately on purchase, not one that holds funds in escrow until a physical item is confirmed delivered.

Stripe is the standard recommendation. It is reliable, widely trusted, and the WooCommerce Stripe plugin (free, by WooCommerce) is straightforward to configure. You will need a Stripe account, which requires some basic business verification. Once set up, payments go directly to your bank account on a rolling two-day or seven-day schedule depending on your account type.

PayPal is the other option most customers expect to see. The WooCommerce PayPal Payments plugin handles this. Some customers prefer to pay via PayPal rather than entering card details, so offering both Stripe and PayPal captures a wider range of buyers.

To connect Stripe: install the WooCommerce Stripe Payment Gateway plugin, go to WooCommerce > Settings > Payments, enable Stripe, and click Manage. You will need your Stripe publishable and secret keys, both available from your Stripe dashboard. Use the test keys first to make sure everything is working before switching to live keys.

A note on VAT for UK sellers: if you are selling digital products to customers in the UK or EU, you may have VAT obligations. This depends on your trading status and turnover. The WooCommerce EU VAT Compliance plugin handles the collection and recording of VAT if you need it, but the question of whether you need it is one for an accountant rather than a hosting guide.


Step 4: upload your first product

Go to Products > Add New in your WordPress admin.

Give the product a name and write a description. The description is what appears on the product page, so make it useful: what is included, who it is for, what format the file is in, and how large it is.

In the Product Data box (usually below the description), tick the boxes for Virtual and Downloadable. Ticking Virtual removes the shipping-related fields, which you do not need. Ticking Downloadable reveals the fields for attaching files.

Click “Add File” and upload your download. You can give it a name that customers will see (something like “Your Guide” rather than a filename with underscores and version numbers in it). Set the download limit and expiry here if you want to override the global defaults for this specific product.

Set the price. Add a product image, which appears in the shop and on the product page. If you have multiple files to include in one purchase (for example, a preset pack in multiple formats), you can add them all here and they will all be included in the download.

Publish the product. Visit the product page on your site to check it looks right.


Step 5: test the purchase flow end to end

Before you send anyone to your shop, buy something yourself.

WooCommerce has a test mode via the Stripe plugin. Enable it, then go through the entire purchase process as a customer: add the product to the cart, go to checkout, enter test card details (Stripe provides test card numbers in their documentation, 4242 4242 4242 4242 being the standard one), and complete the order.

Check that: the order confirmation email arrives and looks correct; the download link in the email works; the download is accessible from the My Account page; and the file that downloads is the right one in the right format.

Also test what happens when you check out as a guest rather than a logged-in user, since many customers will do this. The download link should work for guests without requiring them to create an account.

If anything in this flow does not work as expected, fix it before the shop goes live. A customer who cannot access what they have paid for will need your time to sort out, and a refund request is more likely than a patient support ticket.


Step 6: set up the order confirmation email

WooCommerce sends several automated emails: order confirmation, download instructions, and a processing notification. You can edit these at WooCommerce > Settings > Emails.

The most important one for digital sellers is the “Completed Order” email, which is the one that contains the download links. Make sure it is enabled and check that the content makes sense. The default template is functional but generic; adding a line with your name and a short note about how to get in touch if there is a problem with the download makes it feel less automated.

The free Email Customizer for WooCommerce plugin (by VillaTheme) is worth installing if you want to adjust the layout and branding without editing PHP templates directly.


Keeping things simple

The setup above covers everything you need to start selling. There are many WooCommerce extensions that add functionality: affiliate programmes, subscription billing, course access, licence key delivery, and so on. Most of these are not needed at the start and several cost money.

Add extensions only when you have a specific problem they solve. A shop with six products and a clean checkout process will convert better than one where half the setup time went into plugins that most customers will never notice.

One extension that is worth having from the beginning: WooCommerce PDF Invoices and Packing Slips (free, by Ewout Fernhout). This automatically attaches a PDF invoice to order confirmation emails, which customers buying for business purposes often expect and appreciate.


Hosting considerations for WooCommerce

WooCommerce is more demanding on server resources than a standard WordPress site, partly because every page visit involving the shop, cart, or checkout cannot be served from a static cache. These pages are generated dynamically because they contain user-specific content.

Two things matter here. First, your host should be running a current PHP version (8.1 or 8.2). WooCommerce on an older PHP version is noticeably slower and also carries security risk. Second, your hosting plan should have enough memory allocated to PHP to run WooCommerce without hitting limits. 256MB is a reasonable minimum; some complex setups need more.

At Angelsites, all plans meet these requirements and are configured specifically for WordPress and WooCommerce workloads. If you are thinking about moving a WooCommerce site or starting a new one, plans start at £5.99/month with fixed pricing that does not increase at renewal. See what’s included.


Angelsites is a small UK web host for freelancers and creators. UK data centre, fixed pricing, support from a real person.