Troubleshooting WooCommerce
Is your store acting up? No need to panic. Most WooCommerce problems have identifiable causes and proven solutions. This guide covers the most common situations and takes you step by step to their resolution.
In this chapter :

Before any intervention - Create a complete backup of your site. A clumsy manipulation can aggravate the problem. It's better to be able to go back.
Display problems
Visual problems are among the most common, and often the easiest to solve.
Prices are not displayed correctly
Symptoms: Price 0€, missing currency, incorrect format (1000 instead of 1,000.00 €).
Possible causes:
- Incorrect currency settings
- Conflict with cache plugin
- Incompatible theme
Solutions:
- Check WooCommerce > Settings > General: currency, symbol position, separators
- Clear cache (WP Rocket, W3 Total Cache, or host cache)
- Test with Storefront theme to isolate theme problem
Product images don't display
Symptoms: Broken images, gray placeholder, blurred thumbnails.
Solutions:
- Regenerate thumbnails: WooCommerce > Status > Tools > Regenerate thumbnails.
- Check folder permissions
/wp-content/uploads/(755 for folders, 644 for files) - Increase PHP memory limit if images are large
Basket displays incorrect information
Symptoms: Wrong quantities, phantom products, totals that don't match.
Solutions:
- Clear site cache AND browser cache
- Exclude shopping cart and checkout pages from the cache in your cache plugin
- Check that no shopping cart personalization plugins are causing conflicts
Product page is broken
Symptoms: Distorted layout, missing elements, gallery not working.
Solutions:
- Temporarily disable plugins one by one to identify a conflict.
- Check that your theme is up to date
- Inspect the JavaScript console (F12) for JS errors
Payment problems 🔺
This is the sinews of war. A malfunctioning checkout means lost sales.
Payment is systematically refused
Symptoms: All payments fail, even with valid cards.
Possible causes:
- Sandbox/test mode still active
- Incorrect or expired API keys
- Invalid SSL certificate
Solutions:
- Check that you are in "Live" mode and not "Test" in the gateway settings.
- Regenerate your API keys from the Stripe/PayPal dashboard
- Check your SSL certificate: the padlock should be green, with no errors.
"Pay" button does nothing
Symptoms: Clicking the button has no effect, or page reloads without completing the payment.
Solutions:
- Open the JavaScript console (F12 > Console) and look for errors in red.
- Disable any security plugins that may be blocking requests.
- Check that jQuery is loaded (some themes disable it by mistake)
Error "Sorry, this coupon does not exist"
Symptoms: A valid coupon is rejected.
Solutions:
- Check coupon expiration date
- Check usage restrictions (minimum amount, excluded products)
- Check that the coupon has not reached its usage limit.
Customer has been debited but order does not appear
Symptoms: Payment collected on gateway side, but order missing or in "Pending" status.
Causes : The confirmation webhook did not work.
Solutions:
- Check the webhooks in the Stripe/PayPal dashboard.
- Check that your host has not blocked incoming requests
- Check your WooCommerce logs: WooCommerce > Status > Logs.
Email problems 🔺
Transactional emails are essential. A customer who doesn't receive confirmation is worried.
Emails are not being sent
Symptoms: No emails received (order confirmation, new account, password reset).
Possible causes:
- PHP mail function disabled by host.
- Emails sent as spam
- Email plugin not properly configured
Solutions:
- Test sending: WooCommerce > Status > Tools > Send test email
- Install an SMTP plugin like WP Mail SMTP and configure an external service (SendGrid, Mailgun, Gmail).
- Check your customers' spam folders
Emails arrive as spam
Symptoms: Emails sent but classified as spam.
Solutions:
- Configure SPF, DKIM and DMARC records on your domain.
- Use a professional mailing service (SendGrid, Mailgun)
- Avoid spam-triggering words in the subject line ("FREE", "URGENT", excessive capitalization)
Emails have a broken design
Symptoms: distorted layout, missing images, plain text instead of HTML.
Solutions:
- Reset templates: WooCommerce > Settings > Emails > [Email] > Reset template.
- Check that your theme does not overwrite email templates incorrectly.
- Test with different email clients (Gmail, Outlook, Apple Mail)
Performance problems 🔺
A slow store loses customers. Every second counts.
Site takes more than 5 seconds to load
Diagnostic: Test on GTmetrix or PageSpeed Insights to identify bottlenecks.
Common solutions:
- Install a caching plugin (WP Rocket recommended)
- Optimize images with ShortPixel or Imagify
- Use a CDN (Cloudflare free)
- Switch to a higher-performance host if you're on a low-end shared site
The admin dashboard is very slow
Symptoms: Admin pages take 10+ seconds to load.
Possible causes:
- Too many products/orders displayed per page
- Analytics plugin loading data in real time
- Non-optimized database
Solutions:
- Reduce the number of items per page in lists (20 instead of 100)
- Disable unnecessary dashboard widgets
- Clean up the database with WP-Optimize
Checkout page is slow
Symptoms: The shopping cart or checkout page takes several seconds to load or validate.
Solutions:
- Exclude cart/checkout pages from cache (they must remain dynamic).
- Reduce the number of active payment gateways
- Disable real-time delivery calculations if not essential
Stock problems 🔺
Inventory management can create frustrating situations if not properly configured.
Stock does not decrement after a sale
Possible causes:
- Inventory management deactivated
- Order status does not trigger decrementing
Solutions:
- Check WooCommerce > Settings > Products > Inventory: inventory management must be enabled.
- Verify that the individual product has inventory management enabled
- Stock decrements when order goes to "In Progress" or "Completed", not before.
A product is displayed as "Out of stock" even though there is stock left.
Solutions:
- Check the stock in the product file
- For variable products, check the stock for each variation.
- Clear the transients cache: WooCommerce > Status > Tools > Clear transients.
Over-selling: more orders than available stock
Causes: Two customers ordered simultaneously before stock was updated.
Prevention:
- Activate the "low stock threshold" to be alerted before stock runs out.
- Keep a safety margin for products in high demand
- Consider an advanced stock management plugin for larger stores
Plugin conflicts 🔺
Most WooCommerce problems stem from plugin conflicts.
How to identify a conflict
- Deactivate ALL plugins except WooCommerce
- Problem goes away? It's a plugin conflict
- Reactivate plugins one by one, testing after each reactivation
- The problem reappears with plugin X? You've found the culprit
Known common conflicts
WP Rocket + WooCommerce: Exclude dynamic pages from the cache (shopping cart, checkout, my account).
Yoast SEO + certain themes: Disable Yoast breadcrumbs if the theme has its own.
Elementor + slider plugins: Frequent JavaScript conflicts, load scripts in the right order.
Security plugins + payment gateways: Firewalls may block Stripe/PayPal webhooks.
What to do when an essential plugin causes a conflict
- Contact plugin support (paid plugins usually have good support)
- Look for a compatible alternative
- As a last resort, call on a developer to resolve the conflict.
White screen of death 🔺
The White Screen of Death (WSOD) is terrifying, but rarely fatal.
Main causes
- Fatal PHP error (often after an update)
- Memory limit exceeded
- Corrupt plugin or theme
Step-by-step solutions
1. Activate debug mode
Access your wp-config.php file via FTP and add :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Reload the page. The exact error will be displayed or logged in /wp-content/debug.log.
2. Increase memory limit.
In wp-config.php, add :
define('WP_MEMORY_LIMIT', '256M');
3. Disable plugins via FTP.
If you no longer have access to the dashboard :
- Connect via FTP
- Rename the
/wp-content/plugins/folder to/wp-content/plugins_disabled/. - The site should return (without plugin functionality).
- Rename folder to
/wp-content/plugins/. - Rename the plugins one by one to identify the culprit.
4. Change theme via FTP.
Rename your theme folder in /wp-content/themes/. WordPress will switch to a default theme.
Errors 500 and others 🔺
HTTP errors indicate server or configuration problems.
Error 500 - Internal Server Error
Possible causes:
- Corrupt .htaccess file
- PHP memory limit exceeded
- Incorrect file permissions
Solutions:
- Rename
.htaccessto.htaccess_oldvia FTP, then regenerate via Settings > Permalinks > Save. - Increase PHP memory limit (via cPanel or wp-config.php)
- Check permissions: 755 for folders, 644 for files
Error 403 - Forbidden
Causes: Incorrect file permissions or overly strict security rules.
Solutions:
- Check file permissions
- Temporarily disable security plugins
- Check rules in .htaccess
404 error on product pages
Causes: Broken permalinks.
Solution: Go to Settings > Permalinks and click Save (without changing anything). This regenerates the rewrite rules.
"Maximum execution time exceeded" error
Cause: A PHP script is taking too long.
Solutions:
- Increase
max_execution_timein php.ini or via cPanel - Optimize the current operation (e.g. import is too large).
- Divide heavy operations into smaller batches
General diagnostic method 🔺
When faced with any problem, follow this systematic method.
Step 1: reproduce the problem
Make a precise note of the steps involved in reproducing the bug. A problem that cannot be reproduced is difficult to solve.
Step 2: Consult the logs
- WooCommerce > Status > Logs** for WooCommerce errors
- wp-content/debug.log** for PHP errors (if WP_DEBUG is enabled)
- Server logs via cPanel or your hosting provider
Step 3: Check system status
Go to WooCommerce > Status and check :
- PHP version (8.0+ recommended)
- Memory limit (128M minimum, 256M recommended)
- Pending updates
- Errors marked in red
Step 4: Isolate the problem
- Test with Storefront theme
- Deactivate all plugins except WooCommerce
- Problem persists? It's WooCommerce or WordPress. If not, it's a theme or plugin.
Step 5: Find a solution
- Official WooCommerce documentation
- WordPress.org forums
- Stack Overflow with appropriate tags
- Plugin/theme support
Step 6: Document
Once you've solved the problem, write down what happened and how you solved it. Next time, you'll go faster.
When to call in a professional 🔺
Some situations go beyond basic troubleshooting:
- Site hacking or malware
- Complex migration gone wrong
- Disastrous performance despite all optimizations
- Unresolvable conflicts between essential extensions
- Customizations broken after a major update
In these cases, an experienced WordPress/WooCommerce developer will save you time and aggravation.
In a nutshell
WooCommerce troubleshooting follows a logical method: reproduce the problem, consult the logs, isolate the cause (theme, plugin, configuration), then apply the appropriate solution. Most problems arise from plugin conflicts, misconfigured cache or incorrect settings. Always keep a recent backup of any problem before taking action. Document your resolutions to save time in the future. And don't hesitate to call in a professional when the problem exceeds your technical skills.
Navigation: ← Extensions and Customization | Troubleshooting