Most WooCommerce problems follow a pattern. Something stops working — the checkout goes blank, emails disappear, products vanish from the shop page — and the store owner spends an afternoon Googling symptoms and trying random fixes that don’t stick.
WooCommerce common problems rarely have exotic causes. In most cases it comes down to three things: a plugin conflict, a hosting limitation, or a configuration setting that got changed (or never set correctly in the first place). This guide covers the issues that actually come up in client work — not a list of every possible error code, but the problems that show up again and again, with the fixes that work.
Why WooCommerce breaks (and why it’s usually not what you think)
WooCommerce is a plugin — a very large, complex plugin — sitting on top of WordPress. Every time WooCommerce updates, every time WordPress updates, and every time any other plugin on your site updates, there’s a new opportunity for something to conflict.
The three most common root causes behind almost every WooCommerce issue:
- Plugin conflicts — two plugins trying to do the same thing, or one plugin that hasn’t been updated to work with the latest version of WooCommerce
- Hosting limitations — shared hosting with insufficient PHP memory, outdated PHP versions, or no support for features WooCommerce depends on
- Incorrect configuration — settings that were never configured properly, or that got changed during an update
When something breaks, the instinct is to Google the exact error message. That often leads to forum threads from three years ago, fixes for a different version of WooCommerce, or solutions that address the symptom rather than the cause. The diagnostic approach in this guide works forward from root cause, which gets you to the fix faster.
Checkout and payment problems
Checkout problems are the most urgent WooCommerce issues because they directly stop sales. If a customer can’t complete a purchase, that revenue is gone.
Checkout page is blank or keeps refreshing
A blank checkout page is almost always caused by one of two things: a caching conflict, or an SSL/HTTPS mismatch.
Caching conflict: If you have a caching plugin active, it may be serving a cached version of the checkout page — which strips out the dynamic, session-specific content WooCommerce needs to function. The fix is to exclude your checkout, cart, and My Account pages from caching entirely.
In most caching plugins, you add these URLs to the exclusion list:
/cart//checkout//my-account/
WooCommerce-aware caching plugins like WP Rocket handle these exclusions automatically. If you’re using W3 Total Cache or a server-level caching setup, check the exclusion settings manually.
SSL/HTTPS mismatch: WooCommerce requires HTTPS on the checkout page. If your site has mixed content — some pages loading over HTTP, others over HTTPS — you can get redirect loops that result in a blank page. Check that your WordPress address and site address in Settings > General both begin with https://, and that your SSL certificate is active and valid. Your hosting control panel will show the certificate status.
Payments failing or not processing
If customers reach the payment step but orders aren’t going through, start with your payment gateway configuration.
Test mode vs. live mode: Every payment gateway (Stripe, PayPal, Square) has a test mode for development and a live mode for real transactions. It’s surprisingly common for a store to go live with test API keys still active — payments appear to process but no money moves, and orders get stuck on “pending payment.” Go to WooCommerce > Settings > Payments, open your payment gateway, and confirm the API keys match your live account credentials.
Orders stuck on pending payment: If orders are created but stay on pending indefinitely, the gateway isn’t sending a confirmation back to WooCommerce. This is usually an IPN (Instant Payment Notification) or webhook issue. For PayPal, check that your IPN URL is correctly configured in your PayPal account settings. For Stripe, check that the webhook endpoint in your Stripe dashboard matches your site URL exactly — including whether it uses www or not.
SSL as a payment prerequisite: No reputable payment gateway will process transactions on a site without a valid SSL certificate. If your certificate has expired or is misconfigured, payment gateways will refuse to connect regardless of how your API keys are set up. This is one of the first things to check when payments suddenly stop working after previously being fine.
WooCommerce emails not sending
If your customers aren’t receiving order confirmations, you’re creating unnecessary support load and eroding trust — even when the order went through fine.
WordPress doesn’t have a built-in mail server. By default, it uses the wp_mail() function, which relies on your web server to send email. Shared hosting servers are frequently blacklisted by spam filters because they’re used by thousands of sites, many of which send spam. The result: your order confirmation emails either never arrive, or land in junk folders.
The fix is to route all WordPress email through a dedicated SMTP service. Install either WP Mail SMTP or FluentSMTP — both are free — and connect them to a transactional email provider. Gmail works for low-volume stores. For anything more serious, Brevo (formerly Sendinblue), Postmark, or Amazon SES are reliable options with free tiers.
Once configured, test it: go to WooCommerce > Status > Tools and use the “Send test email” option. If that goes through but order emails don’t, check WooCommerce > Settings > Emails to confirm each email type (new order, processing, completed) is enabled and has a recipient address set.
One distinction worth making: if the email is sending but landing in spam, that’s a different problem — a deliverability issue rather than a configuration issue. In that case, the SMTP fix still applies, but you’ll also want to ensure your domain has SPF and DKIM records set up correctly. Your email provider’s documentation will walk you through that.
Products not showing or displaying incorrectly
Products not showing on the shop page
If products exist in your dashboard but aren’t appearing on the shop page, work through these in order.
Posts per page setting: WordPress has a “Blog pages show at most” setting under Settings > Reading. WooCommerce inherits this for product listings. If it’s set to 10 and you have 12 products but only 10 are showing, that’s why. WooCommerce has its own product display count under WooCommerce > Settings > Products > Display, which overrides the WordPress setting — check both.
Product visibility: Open the product in question and check two things. First, the product status should be “Published,” not “Draft.” Second, scroll to the Product Data section and check the Catalogue Visibility setting — it should be set to “Shop and search results.” If it’s set to “Hidden,” the product won’t appear anywhere on the front end.
Permalink flush: WooCommerce shop pages rely on WordPress permalink rules. If these get corrupted — which can happen after a plugin update or a site migration — products and category pages return 404 errors or show no results. The fix is simple: go to Settings > Permalinks and click Save Changes without changing anything. This regenerates the permalink rules without altering your URL structure.
Product images not displaying
Missing product images are almost always a thumbnail regeneration issue. WooCommerce creates several image sizes from each uploaded photo — thumbnails, catalogue images, single product images — and stores them separately. If you change your theme, update WooCommerce, or migrate your site, those generated sizes can become mismatched or missing.
The fix is to install the Regenerate Thumbnails plugin and run it across all images. It rebuilds every WooCommerce image size from the original uploaded files. On a large product catalogue this can take a few minutes — let it run to completion before refreshing the shop.
If images still aren’t showing after regeneration, check your theme’s image size configuration. Some themes override WooCommerce’s default image dimensions, which can cause images to appear cropped incorrectly or not display at all. WooCommerce > Settings > Products > Display lets you set the catalogue image dimensions independently of your theme.
WooCommerce update broke the site
WooCommerce releases major updates several times a year. Each one brings a risk of compatibility issues with your theme or other plugins, particularly if those plugins haven’t been updated to match.
When an update breaks something, the diagnostic process is the same every time:
- Identify what changed. Check your update history — WordPress records every update under Dashboard > Updates. If you updated WooCommerce and something broke immediately after, that’s your starting point.
- Disable plugins one by one. Go to Plugins and deactivate everything except WooCommerce and WordPress core. If the problem disappears, reactivate plugins one at a time until the problem returns — that’s your conflict. If the problem persists with all plugins disabled, the issue is likely theme-related.
- Switch to Storefront. Storefront is WooCommerce’s own theme and is always compatible with the latest release. Temporarily switching to Storefront eliminates theme conflicts as a variable. If the problem disappears with Storefront active, the conflict is between WooCommerce and your current theme — contact your theme developer.
- Roll back if needed. If you need the store running immediately and can’t resolve the conflict quickly, the WP Rollback plugin lets you revert WooCommerce to any previous version from the WordPress repository. This buys time to diagnose the issue properly without leaving your store broken.
The longer-term answer is a staging environment — a copy of your site where you can test every update before it goes live. Most managed WordPress hosts provide staging with one click. Running WooCommerce updates on a live store without testing first is a business risk that compounds with every plugin you have installed.
Cart and stock issues
Cart not updating or showing wrong totals
A cart that won’t update, shows stale totals, or displays the wrong item count is usually a caching problem. WooCommerce uses a JavaScript mechanism called cart fragments to update cart data in real time without reloading the page. If a caching plugin intercepts that request, the cart appears frozen.
Start by clearing your browser cache completely — sometimes the problem is local. If it persists across browsers and devices, check your caching plugin’s AJAX settings. Cart fragments rely on AJAX and must not be cached. Most WooCommerce-aware caching plugins exclude AJAX requests by default, but this setting can get misconfigured after updates.
If you’ve implemented the cart fragment dequeue snippet from the WooCommerce speed optimisation guide, double-check the conditional logic — if applied too broadly, it can stop the cart updating on pages where it should still be active.
Stock not reducing after purchase
If customers are buying products but your inventory count isn’t decreasing, stock management may not be enabled.
Check two places. First, at the product level: open the product, go to the Inventory tab in Product Data, and confirm “Manage stock?” is checked. If it’s unchecked, WooCommerce won’t track stock for that product regardless of global settings.
Second, at the global level: WooCommerce > Settings > Products > Inventory. Confirm that “Manage stock” is enabled globally. You’ll also find settings here for low stock thresholds, out-of-stock visibility, and stock hold duration for unpaid orders — worth reviewing if you’re getting unexpected inventory behaviour.
Slow WooCommerce store
A slow store is a business problem, not just a technical inconvenience. Google’s research shows that as page load time increases from one second to three seconds, the probability of a visitor bouncing increases by 32%. For a WooCommerce store, that bounce happens before a customer reaches your products.
WooCommerce performance is a topic that deserves more depth than a paragraph. The full WooCommerce speed optimisation guide covers hosting, caching, image optimisation, database maintenance, and working code snippets — start there if your store is sluggish.
The quick diagnostic: run your product pages through Google PageSpeed Insights. If you’re scoring under 50 on mobile, performance is actively hurting your rankings and sales.
When to call a developer
Most of the issues in this guide are fixable without developer help if you’re comfortable in the WordPress dashboard. But some problems signal something deeper.
Call a developer when you see:
- Fatal PHP errors — white screens, “There has been a critical error” messages, or errors appearing in WooCommerce > Status > System Status
- Database errors — “Error establishing a database connection” or table-related errors in WooCommerce > Status > Tools
- Persistent checkout failures — checkout that fails for some customers but not others, or fails intermittently with no clear pattern
- Post-migration problems — if your site was recently moved to a new host and multiple things are broken simultaneously
- Security-related issues — unexpected admin accounts, redirects to unknown sites, or files you didn’t create
Before contacting a developer, note down what changed before the problem started, what you’ve already tried, and whether you can reliably reproduce the issue. The more specific that information, the faster the fix.
If you’re based in Australia and need a WooCommerce developer who works with small businesses, get in touch with the Kursor Creative team — we diagnose and fix WooCommerce stores as a core part of what we do.
Frequently asked questions
How do I know if my WooCommerce problem is a plugin conflict? The fastest way is to deactivate all plugins except WooCommerce and test whether the problem persists. If it goes away, reactivate plugins one at a time — the problem will return when you reactivate the conflicting plugin. WooCommerce > Status > System Status also flags plugins that are known to conflict with WooCommerce.
My WooCommerce store was working fine and broke overnight — what happened? Automatic updates. WordPress and plugins set to auto-update can introduce conflicts without any action on your part. Check Dashboard > Updates for anything that updated in the past 24–48 hours. WooCommerce also caches certain data that can become stale — go to WooCommerce > Status > Tools and run “Clear transients” as a first step.
Can I fix WooCommerce problems without a staging site? Yes, but it carries risk. Deactivating plugins on a live store can temporarily break functionality for real customers. The safer approach is to make changes during low-traffic periods and work quickly. If you’re regularly updating and maintaining a WooCommerce store, a staging environment is worth setting up — most managed WordPress hosts offer it for free.
Why are my WooCommerce emails going to spam even after setting up SMTP? SMTP fixes the sending infrastructure, but deliverability also depends on your domain’s DNS records. Your domain needs SPF, DKIM, and ideally DMARC records configured correctly. Your SMTP provider’s setup guide will have the specific DNS records to add — it takes about 15 minutes and makes a significant difference to inbox placement.
WooCommerce says a product is in stock but customers can’t add it to the cart — why? Check whether the product has a stock quantity set to zero at the variation level. For variable products (products with size, colour, or other options), each variation has its own stock count. The parent product can show as “in stock” while individual variations are out of stock. Open the product, go to Variations, and check the stock quantity for each one.
The bottom line
WooCommerce common problems almost always have a logical cause — and once you know where to look, most of them are fixable in under an hour. Start with caching for checkout issues, SMTP for email problems, permalink flushing for missing products, and plugin conflict testing for anything that broke after an update.
If you’ve worked through the checklist and something still isn’t right, or you don’t want to troubleshoot a live store on your own, contact Kursor Creative. We fix WooCommerce stores for small businesses across Australia.