Free tools Windows power users keep installed
One-click scans. No signup required.
To diagnose a WordPress error without exposing details to visitors, enable WP_DEBUG, write diagnostics with WP_DEBUG_LOG, and keep output hidden with WP_DEBUG_DISPLAY set to false. Add the constants to wp-config.php before the “That’s all, stop editing!” line, reproduce the failure, then inspect the newest entries in wp-content/debug.log (or the valid custom path you configured).
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
The useful evidence is usually the first relevant fatal error, warning, or notice: its time, severity, file, line number, and the first plugin or theme function in the trace. Confirm the suspected component on staging, then turn debugging off and protect or remove the log when the diagnosis is complete.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsWhat WordPress debugging actually does
WP_DEBUG is the master switch. When it is true, WordPress enables its debugging mode and raises PHP error reporting to E_ALL. The companion constants do nothing when WP_DEBUG is disabled, so setting only WP_DEBUG_LOG or WP_DEBUG_DISPLAY cannot start diagnostic logging.
| Constant | Value used in the standard setup | What it controls |
|---|---|---|
WP_DEBUG |
true |
Turns on WordPress debugging and broad PHP error reporting. |
WP_DEBUG_LOG |
true, or a valid file path |
Writes errors, warnings, notices, and messages sent through PHP error_log() to a log. With true, the default is wp-content/debug.log. |
WP_DEBUG_DISPLAY |
false |
Prevents diagnostic messages from being printed in generated page HTML. |
display_errors |
Off via @ini_set( 'display_errors', 0 ) |
Adds a PHP-level safeguard so errors are not rendered to visitors while they are being logged. |
Logging and display are separate decisions. You can collect a detailed record while keeping the public response clean, which is the appropriate arrangement for a live-facing site during diagnosis.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Before changing wp-config.php
Editing the configuration file affects the whole WordPress installation. Make a backup first, or perform the change on staging when that is available. You also need an authenticated way to inspect files, such as SSH, SFTP, or your hosting file manager. Do not rely on viewing the log through an unauthenticated web address.
- Record the symptom and the request that triggers it: a page load, form submission, Ajax action, REST request, or scheduled task.
- Know which installation you are editing if the server hosts more than one site.
- Plan to revert the settings and handle the log securely after the investigation.
These precautions matter because debug output and log entries can contain implementation details or other information that should not be public.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Enable WP_DEBUG with the safe logging configuration
Open wp-config.php and place the following block before /* That's all, stop editing! Happy blogging. */:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Use the literals true and false, not quoted strings. In PHP, 'false' is a non-empty string and therefore truthy; writing it in quotes can enable behavior you intended to disable.
With this block, WordPress records diagnostics in wp-content/debug.log by default but does not insert those messages into the HTML sent to visitors. The log includes PHP errors, warnings, notices, and messages emitted through error_log(), provided the relevant code runs while debugging is enabled.
Choosing a custom log path
WP_DEBUG_LOG may be a valid file path instead of true. A custom location is useful when the default file would be publicly reachable or when your hosting layout provides a protected directory. The path must be valid for the server and writable by the process that runs PHP. If you configure a custom path, inspect that file rather than looking for wp-content/debug.log.
Reproduce the failure deliberately
Saving the configuration does not explain an existing error by itself. Perform the exact action that fails after the settings are active. Reproduction gives each log entry a useful time relationship and helps you separate the current problem from older messages.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
- Save the edited
wp-config.php. - Open the page or feature that produces the problem.
- For a form or checkout-style workflow, submit the form again.
- For an Ajax feature, repeat the interaction that sends the background request.
- For a REST request, call the same endpoint again.
- For a scheduled task, allow the task to run or trigger it through the normal mechanism used by the site.
- Note the time and the exact symptom, including whether the browser showed a blank response, a critical-error screen, or a partially rendered page.
Background requests are a major reason to use logging. An Ajax or WP-Cron failure may never be rendered in the page HTML, even though the server records it in the log.
Find and open the WordPress debug log
Default location
When WP_DEBUG_LOG is true, the standard destination is wp-content/debug.log inside the WordPress installation. Open it through an authenticated SSH session, SFTP connection, or hosting file manager. A browser request to the file is not a safe diagnostic method because a reachable log can disclose details.
Custom location
If you supplied a path in WP_DEBUG_LOG, use that exact path. A common mistake is to configure a custom destination and then continue checking the default file, concluding incorrectly that logging is broken.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →If no file appears
First confirm that WP_DEBUG is literally true and that the constants are before the stop-editing line. Then reproduce the error again rather than checking only an old request. Verify that the configured path is valid and that PHP can write there. If the site has more than one WordPress installation, confirm that the edited configuration belongs to the site generating the failure.
Read the newest entry first
Start at the end of the log, where the entries generated by your latest reproduction normally appear. For each relevant entry, record four pieces of information:
- Timestamp: Match the entry to the request you just repeated.
- Severity: Distinguish a
PHP Fatal errorfrom aWarning,Notice, or deprecation message. - File and line: This identifies the location at which PHP reported the problem.
- First implicated component: In a stack trace, look for the first plugin or theme function that belongs to a component you can isolate.
A file and line number identify where PHP noticed the problem, not automatically who introduced it. A WordPress core file can be the place where an incompatible plugin or theme value finally fails. Use the trace and the request context to map the report to the component that ran immediately beforehand.
How severity changes your next step
A fatal error usually stops the current request and deserves immediate attention. A warning or notice may leave the page usable but can reveal an incompatibility that later becomes fatal. Deprecation messages indicate code using an interface that should be updated; treat them as useful compatibility evidence rather than dismissing every non-fatal line.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Do not diagnose from one old line in isolation. Reproduce the failure, locate the newest matching entry, and compare it with the entries immediately around it. The first relevant component in the trace is generally more actionable than a later cascade of secondary errors.
Confirm the cause by isolating components
Once the log points to a plugin, theme, file, function, or line, confirm the connection instead of changing several things at once. Use staging whenever possible.
- Copy or reproduce the issue in a staging environment.
- Deactivate the implicated plugin, or switch away from the implicated theme, one component at a time.
- Repeat the same request that produced the log entry.
- Check whether the original error disappears.
- Reactivate or restore the component and repeat once more if you need a controlled confirmation.
Changing several plugins, the theme, and configuration simultaneously removes the evidence needed to identify the cause. One-at-a-time isolation preserves a clear before-and-after comparison. Only after confirmation should you decide whether the component needs an update, a configuration change, replacement code, or support from its developer.
Keep diagnostics out of visitor-facing pages
For a public site, leave WP_DEBUG_DISPLAY set to false and keep PHP display_errors off while collecting the evidence. If display is enabled, PHP warnings and paths can appear in generated HTML, expose implementation details, and make a failure more visible to visitors.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Logging-only mode still gives you the information needed to investigate. It is especially important for Ajax and WP-Cron, where the message may be invisible in the browser but present in debug.log or your custom file.
Fatal errors, critical-error screens, and Recovery Mode
WordPress introduced Recovery Mode in version 5.2. It can intercept a fatal plugin or theme error and provide a way to regain access instead of leaving every user locked out. A critical-error screen therefore does not always mean the whole installation is permanently inaccessible; the failing extension may be isolated by Recovery Mode.
For development diagnosis, you may need the complete fatal to remain visible. WordPress documents the following setting:
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
Use that development setting only when you understand the consequence. It disables the fatal-error handler that provides Recovery Mode behavior, so it is not a casual production switch. Keep public sites on the safer default behavior and use staging when you need unrestricted fatal details.
When the browser shows no useful error
Ajax requests
An Ajax action can fail after the page itself has loaded. The response may contain no readable PHP message, while the corresponding warning or fatal is written to the debug log. Reproduce the click or submission, note its time, and inspect the newest log entry.
REST requests
A REST client may return a generic error object or status without exposing the PHP cause. Repeat the same request with debugging enabled and correlate the request time with the log.
WP-Cron and scheduled tasks
Scheduled work runs outside a visitor’s normal page render. Logging is the practical way to capture errors that never appear in HTML. Reproduce or wait for the task, then search the newest entries for the responsible hook, plugin, or theme function.
Additional tools for deeper diagnosis
The basic constants answer “what failed and where?” For more specialized questions, the WordPress debugging handbook also covers additional techniques:
SCRIPT_DEBUGfor working with non-minified script and style assets during development.SAVEQUERIESfor collecting database-query information.- Debugging plugins that provide an interface for examining requests and hooks.
- Automated tests for reproducing behavior consistently.
- Step debugging for following code execution in detail.
These tools expand the investigation; they do not replace the master-switch requirement. WP_DEBUG must still be enabled for WP_DEBUG_LOG and WP_DEBUG_DISPLAY to have an effect.
Choosing a debugging approach
| Approach | Where errors appear | Best environment | Important trade-off |
|---|---|---|---|
| Debugging with display enabled | Inside generated HTML | Local development or controlled staging | Fast visual feedback, but output can expose sensitive paths and details. |
| Logging with display disabled | In wp-content/debug.log or a configured file |
Live-facing diagnosis and staging | Visitors do not see the messages, but an authenticated file-access method is required. |
| Logging to a custom path | In the valid path supplied to WP_DEBUG_LOG |
Environments where the default location is not adequately protected | You must know and secure the alternate location. |
| Recovery Mode | A WordPress recovery flow for fatal plugin or theme errors | Public sites that need access restored after a fatal | It isolates the failure rather than providing unrestricted fatal output. |
| Fatal handler disabled | The underlying fatal remains available for development diagnosis | Controlled development environments | Removing the handler can make a public site harder to access safely. |
Protect the log as sensitive data
A debug log can reveal file paths, function names, request details, warnings, and other implementation information. WordPress Site Health treats visitor-visible errors and logs in potentially public locations as security risks. The configuration handbook likewise warns that a publicly reachable log can expose information.
Best Value
- Prefer a protected or non-public custom path when your hosting layout permits it.
- Access the file only through an authenticated server method such as SSH, SFTP, or the hosting file manager.
- Do not paste raw log contents into a public support thread without removing sensitive values and paths.
- Check that temporary diagnostic files are not left accessible after the investigation.
Keeping display disabled does not by itself secure the file. A hidden HTML response and a publicly downloadable debug.log are different risks.
Common failure branches
The page still shows a critical error but the log is empty
Verify that the edited file is the active site’s wp-config.php, that WP_DEBUG is an unquoted true, and that the constants appear before the stop-editing comment. Reproduce the critical error after saving. If WP_DEBUG_LOG uses a custom path, inspect that path rather than the default.
The log contains many unrelated old messages
Use the timestamp from a fresh reproduction and begin with the newest matching entry. Do not treat every historical notice as the cause of the current failure. Controlled isolation on staging helps separate background noise from the component involved in the failing request.
Errors appear in the page despite WP_DEBUG_DISPLAY being false
Check for a quoted value such as 'false', which PHP treats as truthy. Confirm the PHP-level line @ini_set( 'display_errors', 0 ); is present and that another configuration layer has not enabled display output. The intended production-safe combination is a true master switch, logging enabled, WordPress display disabled, and PHP display errors off.
You cannot find the file through a browser
Do not make the log public just to read it. Use SSH, SFTP, or the hosting file manager. If you configured a non-public custom path, that is expected behavior from a security perspective.
A plugin appears in the trace, but disabling it changes nothing
Repeat the test in staging and isolate one component at a time. The reported file may be where PHP detected a bad value rather than where it originated. Check the first plugin or theme function in the trace and reproduce the exact request after each controlled change.
Recommended Free Tools
Restore production-safe settings after diagnosis
Debug mode is intended primarily for local testing and staging, and WordPress does not recommend leaving these tools enabled on live sites. Once you understand the failure and have saved the evidence you genuinely need:
- Set
WP_DEBUGtofalse, or remove the temporary debug block if the site has an established production configuration. - Remove temporary overrides such as
WP_DISABLE_FATAL_ERROR_HANDLER. - Ensure visitor-facing error display is off.
- Delete or securely archive the debug log after removing sensitive information from any retained copy.
- Retest the previously failing request and an ordinary page view.
Do not leave a growing log indefinitely. A finished diagnosis should end with normal production settings, a protected or removed log, and a confirmed retest.
Quick Recap
A repeatable WordPress debugging checklist
- Back up the site or work on staging.
- Identify the exact request that fails.
- Add the four-line logging configuration before the stop-editing comment.
- Use real Boolean values, not quoted strings.
- Reproduce the failure once for each request type that matters.
- Open the default
wp-content/debug.logor the configured custom file through authenticated access. - Start with the newest matching entry.
- Record timestamp, severity, file, line, and the first implicated plugin or theme function.
- Isolate one component at a time on staging and reproduce again.
- Use deeper tools such as
SCRIPT_DEBUG,SAVEQUERIES, tests, debugging plugins, or step debugging only when the basic log is insufficient. - Keep display disabled and the log protected while diagnosing a live-facing site.
- Restore production-safe settings and remove or secure the log when finished.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




