Skip to main content

WooCommerce: Setting Up an Online Store on WordPress

WordPress · 25.03.2026 · 4 min read
Illustration for “WooCommerce: Setting Up an Online Store on WordPress”

WooCommerce is a free WordPress plugin that turns it into a full-featured online store. It supports physical products, digital products, and subscriptions.

Installing WooCommerce

  1. Plugins → Add New → “WooCommerce” → Install → Activate
  2. The Setup Wizard will launch
  3. Specify the country, currency, and product type
  4. Configure payment methods and shipping

Adding Products

  • Products → Add New
  • Enter the name, description, and price
  • Specify SKU, weight, and dimensions (for physical products)
  • Upload a product image and gallery
  • Choose a category and tags

Payment Methods

GatewayFeeSetup
Stripe2.9% + $0.30WooCommerce Stripe plugin
PayPal3.49% + $0.49WooCommerce PayPal Payments
LiqPayfrom 2.5%For Ukraine

SEO for the Store

  • Install Yoast SEO + WooCommerce SEO
  • Set up clean URLs: Settings → Permalinks → Post name
  • Add Schema.org Product markup to products (Yoast does this automatically)
  • Write unique descriptions for each product

WooCommerce Performance

  • Exclude the cart and checkout pages from caching
  • For large catalogs (1000+ products) — use a VPS instead of shared hosting
  • Install WooCommerce PDF Invoices for automatic invoices
✅ On ZevsHost Pro hosting (NVMe SSD) WooCommerce loads in 0.8–1.2 sec. Shared SSD hosting handles up to 500 products.

Common errors when launching a store

Most errors during a first WooCommerce launch come not from the plugin itself but from the environment not meeting its requirements.

Error text or symptomCauseWhat to do
Error establishing a database connection when activating WooCommerceActivation creates new wp_wc_* tables while the DB connection limit on shared hosting is already exhaustedActivate the plugin during a low-traffic period and check max_connections
There has been a critical error on this website after installing a payment pluginThe PHP version is below what the payment gateway requires (usually at least PHP 7.4)Update PHP to at least 8.1 before installing payment plugins
500 error on the checkout pageA WAF or security plugin blocks the checkout POST request as suspiciousAdd an exception for /checkout/ and /wp-json/wc/store/ in the firewall rules
Products do not appear on the storefront after a CSV importImported products stay in "draft" status instead of "published"Check the post status: Products → All Products → filter by status

If the error is specifically about the MySQL connection limit, see the article on too many connections.

When WooCommerce is not the best choice

  • A catalog of tens of thousands of SKUs with daily price updates from a supplier — WooCommerce on MySQL starts to degrade; look toward specialized PIM or ERP integrations instead
  • A subscription model with complex billing (prorated charges, pauses, plan upgrades) — the base WooCommerce Subscriptions plugin may not be enough without heavy customization
  • A multi-vendor marketplace with independent sellers — a separate marketplace plugin on top of WooCommerce is needed, which adds maintenance overhead
  • Selling only digital licenses activated on devices — a dedicated licensing service is simpler than forcing WooCommerce to do it
  • A store with a legal requirement to fiscalize every receipt in real time — a separate integration with a fiscal register or online cash register is needed; WooCommerce does not solve this out of the box

Before choosing a platform, honestly estimate the expected traffic for the coming year: migrating from WooCommerce to a specialized platform after accumulating thousands of orders costs far more than picking the right solution from the start.

Setting up shipping

Shipping rates are configured by zone: WooCommerce → Settings → Shipping → Add shipping zone. Example of a typical setup for a store serving Ukraine and the EU:

Shipping zoneMethodCost
UkraineCarrier pickup pointfrom 60 UAH
UkraineCourier within the cityfrom 90 UAH
EUInternational mailfrom 15 EUR

How to check the store is ready to launch

  • Place a test order in the payment gateway's sandbox mode with a real payment scenario
  • Check that order notification emails reach both the customer and the administrator
  • Verify the basic settings through WP-CLI without logging into the admin
  • Run a load test on checkout with 10 concurrent test sessions
  • Check that the SSL certificate is valid on every payment page — without valid HTTPS, payment gateways reject requests before a payment is even attempted
wp option get woocommerce_currency
wp eval 'echo wc_get_page_id("shop");'

For more on choosing an SSL certificate type for a store, see the article on SSL types: DV, OV, EV.

Was this article helpful?
← Back to Knowledge Base Ask Support