Available for projects & agency overflow · Quick reply, from the person who does the work

Where to find and how to read WordPress and WooCommerce logs

A WooCommerce store writes its errors to several separate logs depending on where they originate: WordPress core, the WooCommerce plugin itself, and the server. Knowing where to look saves time wasted on the wrong file.

Describe my issue Send a message

The three logs to know

  1. wp-content/debug.log

    Once WP_DEBUG_LOG is enabled in wp-config.php, WordPress writes every PHP error, warning and notice generated by core, plugins and the theme here, along with the file and line responsible.

  2. WooCommerce > Status > Logs

    Accessible from the WordPress admin, this screen lists logs split by source: payment, webhook, email sending, stock synchronisation. It's the first place to check for an order or payment problem.

  3. The server logs

    Accessible via the hosting panel or SSH, these record server-level PHP errors (error_log) as well as the Apache or Nginx logs, useful when the site is unreachable even before WordPress loads.

  4. Pinpoint the exact time

    As with any multi-source diagnosis, the precise time of the incident makes it possible to find the same error across several logs and confirm whether several symptoms share the same cause.

  5. Isolate the source when several plugins are logging errors

    On a site with many active plugins, debug.log can contain noise unrelated to the current problem; the plugin's name or its path under wp-content/plugins generally appears in the error line itself.

Why WooCommerce has its own logs

WooCommerce records certain events separately from debug.log because they aren't always PHP errors in the strict sense: a payment webhook received but rejected, a synchronisation attempt with a gateway that fails silently, or an order confirmation email that couldn't be sent. These events are only visible from WooCommerce, Status, Logs.

The debug.log file, on the other hand, captures anything that qualifies as a PHP error or warning in the strict sense: a deprecated function called by a poorly maintained plugin, a null value used where an array was expected, or a fatal error that stops the page from loading. It's the most useful source when facing a critical WordPress error.

wp-content/debug.log (extrait typique)
[24-Jul-2026 09:14:02 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function some_removed_function() in /wp-content/plugins/exemple-extension/exemple.php:42

The severity level changes how to proceed

Not every line in debug.log deserves the same urgency. A PHP Fatal error stops the page from executing and generally explains the white screen or critical error message directly. A PHP Warning or PHP Deprecated notice usually doesn't stop the page from displaying, but flags code that will become incompatible at the next PHP or WordPress version upgrade.

On an active store, it's common to find several hundred lines of notices or warnings unrelated to the current problem. Focusing first on fatal errors, then on warnings whose timestamp matches the incident precisely, avoids wasting time fixing messages unrelated to the symptom being investigated.

Frequently asked questions

debug.log is empty even though the site is crashing, why?
The file is only created once WP_DEBUG_LOG is enabled and a first error occurs. If it stays empty, the error is probably happening before WordPress loads, such as a server issue or an invalid .htaccess: in that case, check the server logs instead.
Can I delete debug.log without risk?
Yes, this file is purely informational and can be deleted at any time. WordPress creates a new one as soon as the next error occurs, as long as WP_DEBUG_LOG stays enabled.
Do the WooCommerce logs also cover third-party payment plugins?
Largely yes: most WooCommerce payment plugins use the native logging system (WC_Logger), so their errors show up in WooCommerce > Status > Logs alongside the native logs.
How can I tell which plugin wrote a given line in WooCommerce > Status > Logs?
Each log file carries the name of its source (for example the payment gateway's name) and a timestamp, visible in the dropdown menu at the top of the logs screen.

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

impact
message
declencheur
debug (facultatif)
acces (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.