Troubleshooting WooCommerce

Level: All levels | Reading time: 15 minutes

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 :

WooCommerce Guide - WooCommerce troubleshooting

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:

  1. Check WooCommerce > Settings > General: currency, symbol position, separators
  2. Clear cache (WP Rocket, W3 Total Cache, or host cache)
  3. Test with Storefront theme to isolate theme problem

Product images don't display

Symptoms: Broken images, gray placeholder, blurred thumbnails.

Solutions:

  1. Regenerate thumbnails: WooCommerce > Status > Tools > Regenerate thumbnails.
  2. Check folder permissions /wp-content/uploads/ (755 for folders, 644 for files)
  3. Increase PHP memory limit if images are large

Basket displays incorrect information

Symptoms: Wrong quantities, phantom products, totals that don't match.

Solutions:

  1. Clear site cache AND browser cache
  2. Exclude shopping cart and checkout pages from the cache in your cache plugin
  3. Check that no shopping cart personalization plugins are causing conflicts

Product page is broken

Symptoms: Distorted layout, missing elements, gallery not working.

Solutions:

  1. Temporarily disable plugins one by one to identify a conflict.
  2. Check that your theme is up to date
  3. 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:

  1. Check that you are in "Live" mode and not "Test" in the gateway settings.
  2. Regenerate your API keys from the Stripe/PayPal dashboard
  3. 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:

  1. Open the JavaScript console (F12 > Console) and look for errors in red.
  2. Disable any security plugins that may be blocking requests.
  3. 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:

  1. Check coupon expiration date
  2. Check usage restrictions (minimum amount, excluded products)
  3. 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:

  1. Check the webhooks in the Stripe/PayPal dashboard.
  2. Check that your host has not blocked incoming requests
  3. 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:

  1. Test sending: WooCommerce > Status > Tools > Send test email
  2. Install an SMTP plugin like WP Mail SMTP and configure an external service (SendGrid, Mailgun, Gmail).
  3. Check your customers' spam folders

Emails arrive as spam

Symptoms: Emails sent but classified as spam.

Solutions:

  1. Configure SPF, DKIM and DMARC records on your domain.
  2. Use a professional mailing service (SendGrid, Mailgun)
  3. 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:

  1. Reset templates: WooCommerce > Settings > Emails > [Email] > Reset template.
  2. Check that your theme does not overwrite email templates incorrectly.
  3. 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:

  1. Install a caching plugin (WP Rocket recommended)
  2. Optimize images with ShortPixel or Imagify
  3. Use a CDN (Cloudflare free)
  4. 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:

  1. Reduce the number of items per page in lists (20 instead of 100)
  2. Disable unnecessary dashboard widgets
  3. 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:

  1. Exclude cart/checkout pages from cache (they must remain dynamic).
  2. Reduce the number of active payment gateways
  3. 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:

  1. Check WooCommerce > Settings > Products > Inventory: inventory management must be enabled.
  2. Verify that the individual product has inventory management enabled
  3. 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:

  1. Check the stock in the product file
  2. For variable products, check the stock for each variation.
  3. 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:

  1. Activate the "low stock threshold" to be alerted before stock runs out.
  2. Keep a safety margin for products in high demand
  3. Consider an advanced stock management plugin for larger stores

Plugin conflicts 🔺

Most WooCommerce problems stem from plugin conflicts.

How to identify a conflict

  1. Deactivate ALL plugins except WooCommerce
  2. Problem goes away? It's a plugin conflict
  3. Reactivate plugins one by one, testing after each reactivation
  4. 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

  1. Contact plugin support (paid plugins usually have good support)
  2. Look for a compatible alternative
  3. 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 :

  1. Connect via FTP
  2. Rename the /wp-content/plugins/ folder to /wp-content/plugins_disabled/.
  3. The site should return (without plugin functionality).
  4. Rename folder to /wp-content/plugins/.
  5. 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:

  1. Rename .htaccess to .htaccess_old via FTP, then regenerate via Settings > Permalinks > Save.
  2. Increase PHP memory limit (via cPanel or wp-config.php)
  3. Check permissions: 755 for folders, 644 for files

Error 403 - Forbidden

Causes: Incorrect file permissions or overly strict security rules.

Solutions:

  1. Check file permissions
  2. Temporarily disable security plugins
  3. 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:

  1. Increase max_execution_time in php.ini or via cPanel
  2. Optimize the current operation (e.g. import is too large).
  3. 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