How To Set Up WooCommerce: A Step-By-Step Guide
WooCommerce runs a huge share of the WordPress stores online today, and most of the tutorials for it stop right after the setup wizard closes. That’s the easy part. The gap between “WooCommerce is installed” and “WooCommerce is actually ready to take real orders” is where most new store owners lose a weekend, so this guide covers both halves.
What WooCommerce actually is
WooCommerce is a free, open-source plugin that turns a WordPress site into a store. It handles products, a cart, checkout, taxes, shipping, order management, and it plugs into WordPress’s existing content system rather than replacing it, so your store lives on the same site as your blog or marketing pages instead of a separate platform.
The trade-off is the one every self-hosted tool makes: more control, more responsibility. A hosted platform like Shopify handles servers, security patches, uptime for you at a monthly fee. WooCommerce hands you those decisions along with the savings, you pick your host, your payment processor, your extensions, you’re responsible for keeping all of it updated and working together.
Before you install anything
Two decisions matter more than any setting inside WooCommerce itself: your hosting and your product type.
Hosting first. WooCommerce stores are database-heavier than a typical blog, every product view, every cart update, every checkout step touches the database, so shared hosting that’s fine for a five-page brochure site can buckle under real store traffic. SiteGround and Bluehost both offer WooCommerce-ready shared plans that work for a small catalog. If you’re expecting meaningful order volume from day one, managed WooCommerce hosting is worth the extra cost, it exists specifically because generic shared hosting struggles with checkout traffic spikes.
Product type second. Physical products, digital downloads, subscriptions each pull in different WooCommerce settings and sometimes different extensions. Deciding this before you start setup means you’re not reconfiguring shipping settings for a store that turns out to sell only PDFs.
Installing WordPress
Most hosts offer one-click WordPress installation from the control panel, look for a “WordPress” or “Softaculous” option and follow the wizard. It usually takes under five minutes.
Manual installation, if your host doesn’t offer one-click setup, follows a fixed sequence: download the WordPress package from WordPress.org, create a MySQL database through your host’s control panel, rename wp-config-sample.php to wp-config.php and add your database credentials, upload the files to your server, then run the installer by visiting your domain in a browser. None of these steps are difficult individually, but skip the database step or get a credential wrong and the installer will fail with a database connection error, the single most common WordPress install problem.
Installing WooCommerce
From your WordPress dashboard: Plugins, Add New, search “WooCommerce,” Install Now, then Activate. Activating the plugin triggers the setup wizard automatically, and this is where most tutorials end and this one keeps going.
The wizard walks through five screens: store details (your business address, which determines default tax and shipping zones), industry, product types you plan to sell, business details, theme selection. Get the store address right here specifically, because it’s the seed value for tax calculation, and fixing it after you’ve configured tax rates around a wrong address means redoing that work.
The settings the wizard doesn’t fully cover
This is the part that actually determines whether checkout works correctly, and it’s easy to skip because the wizard technically “finishes” without it.
Tax settings
Under WooCommerce, Settings, Tax, decide first whether prices you enter include tax or exclude it, this single toggle changes how every product price displays and it’s painful to reverse after you’ve entered a full catalog. From there, tax rates are set up as tables by region. US sellers dealing with multiple state nexus requirements should look at a tax automation extension like TaxJar or Avalara rather than hand-maintaining rate tables, sales tax rules change often enough that manual tables go stale.
Shipping zones
Shipping in WooCommerce is built around zones, geographic regions you define, each with its own methods and rates. A store shipping only within one country needs one zone with flat-rate or free-shipping methods. A store shipping internationally needs a zone per region with rates that reflect actual carrier costs, guessing at international rates is a common way to lose money on every overseas order.
Real-time carrier rates, pulled live from UPS, FedEx, or USPS, require a shipping extension. Worth the setup time once your shipping costs vary enough that flat rates either overcharge nearby customers or lose money on distant ones.
Payment gateways
WooCommerce Payments, built by WooCommerce itself, handles cards, Apple Pay, Google Pay from inside the dashboard with no separate account setup, and it’s the fastest path to a working checkout. Stripe and PayPal are the other two most common choices, both well-documented, both handling the PCI compliance burden so you’re not storing card data on your own server.
Turn on at least two payment options before launch. A checkout that only accepts one method loses customers who don’t have that specific option available, and comparing cart abandonment rates before and after adding a second payment method is one of the more reliable ways to see this in your own data.
Adding your first products
Products, Add New. WooCommerce supports several product types beyond the basic simple product: variable products for items with options like size or color, grouped products for bundles, virtual or downloadable products for anything that doesn’t ship. Picking the right type up front saves a rebuild later, a variable product converted from a simple product after the fact means re-entering every variation manually.
A product listing needs more than a name and a price to convert well. Write a description that answers the question a buyer actually has, not just a restated title. Add real dimensions and weight if you’re shipping physically. WooCommerce uses these for shipping calculations, and a missing weight silently breaks weight-based shipping rules. Categories and tags matter for both navigation and, if you’re running an SEO plugin, for how the product gets indexed.
Testing checkout before you launch
This step gets skipped constantly, and it’s the one that catches the bugs customers would otherwise find for you.
Put your payment gateway in test mode, most support a sandbox environment. Run a complete order end to end: add a product, apply a coupon if you use them, enter shipping details, complete payment, confirm the order email arrives and the order shows correctly in WooCommerce, Orders. Do this on both desktop and a phone, mobile checkout bugs are common and easy to miss if you only test on a laptop.
Check the abandoned-cart path too. Does an incomplete order leave any trace, and do your emails handle a failed payment gracefully rather than silently dropping the customer? These aren’t glamorous checks, but they’re the difference between a launch week with a few confused support emails and one without any.
Security basics that matter for a store specifically
A blog getting hacked is embarrassing. A store getting hacked can mean stolen customer payment data, and that changes the security bar.
SSL is not optional, WooCommerce checkout requires HTTPS and most hosts now include a free SSL certificate through Let’s Encrypt. Beyond that: keep WooCommerce, WordPress core, and any extension you run current, a security plugin like Wordfence catches brute-force login attempts, and limit admin accounts to people who actually need dashboard access. Store owners running membership or subscription products should also review who has access to customer data exports, since that data carries more liability than a typical contact form submission.
Running orders once the store is live
Setup gets most of the attention, but the daily workflow after launch is where a store either runs smoothly or turns into a mess of missed orders and confused customers.
Every order lands in WooCommerce, Orders with a status: pending payment, processing, on-hold, completed, or a handful of others depending on your extensions. Processing means payment cleared and it’s waiting to ship. On-hold usually means a manual payment method like bank transfer is awaiting confirmation. The mistake new store owners make most often is treating these statuses as informational rather than actionable, an order sitting in processing for three days because nobody checked the dashboard is a customer wondering where their package is.
Set up order email notifications properly, both the customer-facing ones (order received, shipped, completed) and the admin-facing new-order alert. If you’re running the store solo, that admin alert is effectively your entire order queue notification system, missing it means missing the order.
Fulfillment is where physical and digital stores diverge completely. Physical stores need a process for pick, pack, and ship that doesn’t rely on remembering, a printed pick list from Orders, or a fulfillment extension if volume grows past what manual tracking handles. Digital stores need reliable download link delivery and expiration handling, a downloadable product with unlimited redownloads and no expiration is a common way to lose control of who’s actually authorized to access a file.
WooCommerce versus the alternatives, briefly
It’s worth knowing what you gave up by not choosing a hosted platform, mainly so the trade-offs don’t surprise you later.
Shopify handles hosting, security, and uptime as part of the monthly fee, and its app ecosystem is more polished for pure e-commerce than WooCommerce’s extension marketplace in some categories. What you lose is control and cost flexibility at scale, Shopify’s transaction fees and app subscriptions add up, and you’re building inside their platform rather than owning the underlying site.
BigCommerce sits somewhere between the two, more built-in features than Shopify’s base plan, still a hosted platform with the same trade-offs.
WooCommerce’s actual advantage isn’t any single feature, it’s that the store lives inside a WordPress site you fully control, with content, SEO, and commerce sharing the same database and the same plugin ecosystem. For a business already running WordPress for its blog or main site, adding WooCommerce keeps everything in one place instead of stitching a separate commerce platform to a separate content site.
Common mistakes that show up after launch
A few patterns come up often enough to call out directly.
Forgetting to set a default customer location for tax calculation before any real traffic arrives, which shows the wrong tax rate to visitors until someone notices and fixes it. Leaving stock management off, which lets a store oversell a limited product before anyone catches it. And launching with only one payment method because “we’ll add more later,” a decision that quietly costs conversions every day it stays unaddressed.
None of these are catastrophic on their own. Together, they’re the reason a store’s first month of orders often looks worse than its second, once the obvious gaps get patched.
A fourth pattern worth naming separately: launching without a plan for customer service volume. Even a small store generates order questions, shipping delays, and the occasional “I entered the wrong address” email within the first week. Deciding in advance who answers those, and how fast, keeps a solvable problem from turning into a public complaint on social media.
Extending WooCommerce as you grow
The core plugin covers the essentials. Growth usually means layering in specific extensions: a subscriptions extension for recurring billing, a bookings extension for appointment-based services, or a wholesale plugin if you’re serving both retail and bulk buyers from the same catalog. Resist installing extensions speculatively, each one adds a plugin that needs updates and can conflict with others, install what solves a problem you actually have.
Returns, refunds, and the policy you need before launch
Write a returns policy before your first order, not after your first return request. WooCommerce doesn’t include a built-in returns workflow for physical goods, refunds are processed manually or through an extension, so the process is really a written policy plus a manual habit: customer emails or fills a form, you verify the order, you issue a refund through your payment gateway’s dashboard or WooCommerce’s own refund button on the order screen, which syncs back to most gateways automatically.
Digital products need a different policy entirely, since “return” doesn’t apply the same way to a downloaded file. Decide up front whether refunds are offered at all for digital goods, and if so, within what window, then put that policy somewhere a customer sees it before checkout, not buried in a footer link nobody clicks.
Frequently asked questions
Do I need a developer to set up WooCommerce?
Not for a standard store. The wizard and dashboard settings cover physical and digital product stores without custom code. Complex needs, custom checkout fields, unusual shipping logic, non-standard integrations, are where developer time starts paying for itself.
How long does a WooCommerce store take to set up properly?
The wizard itself takes under an hour. A store that’s actually ready for real customers, tax configured correctly, shipping zones set, payment gateways tested, a reasonable product catalog entered, realistically takes a few days to a couple of weeks depending on catalog size.
Can I migrate from Shopify or another platform to WooCommerce?
Yes, migration plugins can import products, customers, order history from most major platforms. Test the import on a staging copy of your site first, product data doesn’t always map cleanly between platforms, especially variable products with complex option sets.
What’s the real cost of running a WooCommerce store?
WooCommerce itself is free. Actual costs are hosting, a domain, payment processing fees, usually a small percentage per transaction, plus whatever paid extensions or a premium theme you choose. It’s typically cheaper than a hosted platform’s monthly fee at low-to-moderate order volume, and the gap narrows or reverses at high volume once you factor in the time spent on maintenance a hosted platform would have handled for you.
Does WooCommerce slow down my site?
It adds database load compared to a plain WordPress blog, that’s inherent to running a store. Good hosting, a caching setup that’s compatible with dynamic cart and checkout pages, and keeping unnecessary extensions off the store keep that load manageable.
Is WooCommerce free to use?
The core plugin is free and always will be, WooCommerce makes money through paid extensions, hosting partnerships, and its own payment processing fees rather than a plugin license. Budget separately for hosting, a domain, an SSL certificate if your host doesn’t include one, and any extensions your specific store needs, subscriptions, bookings, advanced shipping, and similar functionality live outside the free core.
The actual finish line
A WooCommerce store is “set up” when you’ve run a real test order through it, not when the setup wizard says complete. Install, configure tax and shipping deliberately, connect at least two payment methods, test checkout end to end before you tell anyone the store is live. That sequence catches the problems worth catching before a customer does.
Everything after that, extensions, design polish, marketing, is easier to improve once real orders are already flowing. It’s much harder to fix a broken checkout after word has already gotten out that the store exists.