<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>WP Maintenane &#8211; Macronimous Blog</title>
	<atom:link href="https://www.macronimous.com/blog/category/wordpress/wp-maintenane/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.macronimous.com/blog</link>
	<description>Web design, web programming, Mobile apps, Opensource , SEO etc</description>
	<lastBuildDate>Thu, 22 Oct 2026 06:48:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</title>
		<link>https://www.macronimous.com/blog/review-wordpress-troubleshooting-2026/</link>
					<comments>https://www.macronimous.com/blog/review-wordpress-troubleshooting-2026/#respond</comments>
		
		<dc:creator><![CDATA[Jeffy Susan]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 06:33:03 +0000</pubDate>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Welcome]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress Maintenance]]></category>
		<category><![CDATA[WP Maintenane]]></category>
		<category><![CDATA[Advanced WordPress]]></category>
		<category><![CDATA[Wordpress development]]></category>
		<category><![CDATA[WordPress Fixes]]></category>
		<guid isPermaLink="false">https://www.macronimous.com/blog/?p=5437</guid>

					<description><![CDATA[<p>To troubleshoot a WordPress problem, work in this order: write down the exact symptom, find out what changed recently, turn on the debug log, reproduce the problem, and read the log. The file path in the error almost always names the plugin or theme at fault. If the log doesn&#8217;t, switch plugins off for your [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/review-wordpress-troubleshooting-2026/">WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<a href="https://www.macronimous.com/blog/wp-content/uploads/2024/01/The-WordPress-Bug-Fixing-Guide.png"><img fetchpriority="high" decoding="async" width="1024" height="576" class="aligncenter size-large wp-image-3897" src="https://www.macronimous.com/blog/wp-content/uploads/2024/01/The-WordPress-Bug-Fixing-Guide-1024x576.png" alt="The WordPress Bug Fixing Guide" /></a>
<div class="mac-direct-answer">
<p>To troubleshoot a <a href="https://www.macronimous.com/blog/wordpress-7-0-ai-the-token-cost-reality-for-site-owners/">WordPress</a> problem, work in this order: write down the exact symptom, find out what changed recently, turn on the debug log, reproduce the problem, and read the log. The file path in the error almost always names the plugin or theme at fault. If the log doesn&#8217;t, switch plugins off for your own session only, then check the server itself. Most WordPress bugs come from a recent change, and the debug log usually points straight at it.</p>
</div>
<div class="mac-toc">
<p class="mac-toc-title">In this post</p>
<ul>
<li><a href="#order">Why the order matters</a></li>
<li><a href="#steps">The troubleshooting steps</a></li>
<li><a href="#symptoms">Common symptoms and where to look first</a></li>
<li><a href="#ai">Using AI to read the log, carefully</a></li>
<li><a href="#stop">When to stop and call someone</a></li>
<li><a href="#checklist">Checklist</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#modern-2026">Addendum: checking your site the 2026 way</a></li>
</ul>
</div>
<h2 id="order">Why the order matters</h2>
<p>Most <a href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">WordPress troubleshooting</a> guides are a list of things to try: clear the cache, deactivate plugins, switch themes, increase the memory limit, contact your host. All of those are reasonable. The trouble is the order people try them in, which is usually whatever the first search result said.</p>
<p>Picture someone deactivating all 34 plugins on a live WooCommerce store at 3 p.m. on a Friday. The checkout breaks for real customers, the original bug is still there (it was in the theme), and now there are two problems. That&#8217;s how a one-problem afternoon becomes a two-problem weekend, and it&#8217;s why this guide is a sequence rather than a list.</p>
<p><strong>A note on this post:</strong> the 2024 version was titled &#8220;11 WordPress troubleshooting techniques&#8221; and then listed twelve. That gives you a fair idea of how carefully it was put together. This is a rewrite from scratch.</p>
<h2 id="steps">The troubleshooting steps</h2>
<p><strong>Before you start.</strong> You need a fresh backup, wp-admin access or hosting file access (the file manager or SFTP), and ideally a staging copy of the site. If the site makes money, do Steps 5 and 6 on staging, not live.</p>
<p><strong>Step 1: Write down the symptom exactly.</strong><br />
Note the exact error text, the URL where it happens, whether it happens logged in or logged out, which browser, and roughly when it started. &#8220;The site is broken&#8221; can&#8217;t be fixed. &#8220;The cart page shows a critical error for logged-out visitors since Tuesday&#8221; usually can.</p>
<p><strong>Step 2: Find out what changed.</strong><br />
Ask what was updated, installed, or edited in the last 48 hours: plugins, the theme, WordPress core, PHP version, hosting plan, DNS, or a code snippet someone pasted into <code>functions.php</code>. Check the site admin&#8217;s inbox for WordPress auto-update emails, which list what was updated and when. Very often the answer to the whole problem is in this step.</p>
<p><strong>Step 3: Turn on the debug log.</strong><br />
Open <code>wp-config.php</code> in the site root, find the line that sets <code>WP_DEBUG</code>, and replace it with these three lines. They write errors to a log file without showing them to visitors.</p><pre class="urvanov-syntax-highlighter-plain-tag">define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );</pre><p>&nbsp;</p>
<p>When this works, nothing visible changes on the site. That&#8217;s correct.</p>
<p><strong>Step 4: Reproduce the problem.</strong><br />
Load the page or repeat the action that breaks, once or twice. This writes the error into the log.</p>
<p><strong>Step 5: Read the log.</strong><br />
Open <code>wp-content/debug.log</code>. Read the newest lines at the bottom first. Look for <code>PHP Fatal error</code> or <code>PHP Warning</code>, then look at the file path in that line. A path containing <code>/wp-content/plugins/plugin-name/</code> points at that plugin, and <code>/wp-content/themes/theme-name/</code> points at the theme. Note the plugin or theme name, because Step 6 uses it.</p>
<p><strong>Step 6: Isolate the cause.</strong><br />
If you can reach wp-admin, deactivate only the plugin named in the log, then retest. If you can&#8217;t reach wp-admin, use the recovery mode link that WordPress emails to the site admin after a fatal error (see the <a href="https://wordpress.org/documentation/article/recovery-mode/" target="_blank" rel="noopener">WordPress recovery mode documentation</a>), or rename that plugin&#8217;s folder in <code>wp-content/plugins</code> using the file manager. Our post on the <a href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">white screen after a plugin update</a> walks through the folder rename in detail.</p>
<p><strong>Step 7: If the log names nothing, test with plugins off for your session only.</strong><br />
The <a href="https://wordpress.org/plugins/health-check/" target="_blank" rel="noopener">Health Check &amp; Troubleshooting</a> plugin has a Troubleshooting Mode that disables all plugins and switches to a default theme for your logged-in user only, until you turn it off or log out. Re-enable plugins one at a time inside that mode until the problem returns. (Its last update was about two years ago, so I&#8217;d run it on staging rather than on a live store.)</p>
<p><strong>Step 8: Check the server.</strong><br />
If the problem survives with every plugin off and a default theme on, it isn&#8217;t WordPress code. Check the hosting error log, the PHP version in the hosting panel, the PHP memory limit, and the disk space. A full disk breaks uploads, caching, and database writes in ways that look like a dozen different bugs.</p>
<p><strong>Step 9: Turn debugging off again.</strong><br />
Set <code>WP_DEBUG</code> back to <code>false</code> in <code>wp-config.php</code>, then delete <code>wp-content/debug.log</code>. The log can contain file paths and other details that are useful to attackers, and on many servers anyone can download it by URL. The <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/" target="_blank" rel="noopener">WordPress debugging documentation</a> also recommends against leaving debug tools on in production.</p>
<p><strong>Check.</strong> The original symptom from Step 1 is gone, logged in and logged out, and <code>debug.log</code> no longer exists.</p>
<h2 id="symptoms">Common symptoms and where to look first</h2>
<table class="styled-table">
<thead>
<tr>
<th>Symptom</th>
<th>Most likely cause</th>
<th>Where to look first</th>
</tr>
</thead>
<tbody>
<tr>
<td>The whole site is a white screen.</td>
<td>A plugin or theme threw a PHP fatal error, usually right after an update.</td>
<td>Check the recovery mode email, then the debug log.</td>
</tr>
<tr>
<td>The site says &#8220;There has been a critical error on this website.&#8221;</td>
<td>This is the same fatal error, shown with WordPress&#8217;s friendlier message.</td>
<td>Check the recovery mode email, then the debug log.</td>
</tr>
<tr>
<td>The site says &#8220;Error establishing a database connection.&#8221;</td>
<td>The database server is down, or the credentials in <code>wp-config.php</code> are wrong.</td>
<td>Check the hosting panel&#8217;s database status before touching any file.</td>
</tr>
<tr>
<td>One page or feature broke, and the rest of the site works.</td>
<td>A plugin conflict or a recent edit affects only that template or shortcode.</td>
<td>Read the debug log while loading that page.</td>
</tr>
<tr>
<td>Changes don&#8217;t show up on the live site.</td>
<td>A caching layer is serving an old copy of the page.</td>
<td>Purge the cache plugin first, then the CDN (content delivery network).</td>
</tr>
<tr>
<td>wp-admin is very slow, and the front end is fine.</td>
<td>The cause is usually autoloaded options or a heavy admin plugin.</td>
<td>Check the database for oversized autoloaded options.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>That last row is a long story of its own, and we wrote it up as a <a href="https://www.macronimous.com/blog/wordpress-admin-slow-read-only-audit-case-study/">read-only audit case study on a slow WordPress admin</a>.</p>
<h2 id="ai">Using AI to read the log, carefully</h2>
<p>This part didn&#8217;t exist in 2024, and it&#8217;s genuinely useful. Pasting the last 30 or so lines of <code>debug.log</code> into an <a href="https://www.macronimous.com/blog/the-code-your-ai-wants-to-delete-is-load-bearing/">AI</a> assistant and asking &#8220;which plugin is causing this, and what does the error mean?&#8221; gets you a plain-English explanation of a stack trace faster than any forum thread will. It&#8217;s very good at that.</p>
<p>Two cautions, though. First, read what you paste. A debug log can contain server paths, email addresses, and occasionally a database error that includes a query with customer data in it. Strip those out first. Second, don&#8217;t let the assistant&#8217;s fix go straight into the live site. A snippet from a chatbot, pasted into <code>functions.php</code>, is one of the easiest ways to cause the exact fatal error this guide started with. A function name that clashes with one the theme already declares is enough to take the site down.</p>
<p>There&#8217;s a better pattern for AI on a WordPress site, and it&#8217;s read-only. An AI agent that can <em>look</em> at the plugin list, versions, cron jobs, and autoloaded options, but can&#8217;t change anything, can do most of Step 2 and part of Step 8 (the PHP version and memory limits) without any risk. That&#8217;s why we built <a href="https://www.macronimous.com/blog/wordpress-plugin-security-visibility/">Auditra, our read-only WordPress inspection tool</a>, the way we did.</p>
<h2 id="stop">When to stop and call someone</h2>
<p>Some problems are a bad idea to fix yourself, however good the guide is. Stop and get help if any of these are true:</p>
<ul class="arrowlist">
<li>You see files, admin users, or redirects that nobody on your team created, because that points to a compromise rather than a bug.</li>
<li>The database connection error persists after the host confirms the database server is running.</li>
<li>The checkout or payment flow is broken on a live store and customers are affected right now.</li>
<li>Nobody can find a recent backup, so any change you make can&#8217;t be undone.</li>
<li>The debug log is empty, the server logs are empty, and the problem is still there.</li>
</ul>
<h2 id="checklist">Checklist</h2>
<ul class="mac-checklist">
<li>Take a fresh backup before changing anything.</li>
<li>Write the symptom down exactly, including the URL and whether you&#8217;re logged in.</li>
<li>List everything that changed in the last 48 hours.</li>
<li>Turn on the debug log with display off, reproduce the problem, and read the newest lines.</li>
<li>Deactivate only the plugin or theme the log names.</li>
<li>Use per-user troubleshooting on staging when the log names nothing.</li>
<li>Check the server&#8217;s error log, PHP version, memory, and disk space.</li>
<li>Turn debugging off and delete <code>debug.log</code> when you&#8217;re done.</li>
</ul>
<h2 id="faq">FAQ</h2>
<div id="wordpress-troubleshooting-faq">
<div class="faq-item">
<h3>How do I find out which plugin is breaking my WordPress site?</h3>
<p>Turn on the debug log in wp-config.php with display off, reproduce the problem, and open wp-content/debug.log. The file path in the newest fatal error or warning names the plugin folder. If WordPress emailed you a recovery mode link, that email names the plugin too.</p>
</div>
<div class="faq-item">
<h3>Where is the WordPress debug log?</h3>
<p>With WP_DEBUG_LOG set to true, WordPress writes errors to debug.log inside the wp-content folder. You can also set WP_DEBUG_LOG to a custom file path, which is safer because the default location can be downloaded by URL on many servers.</p>
</div>
<div class="faq-item">
<h3>Is it safe to deactivate all plugins to troubleshoot?</h3>
<p>Not on a live site that takes orders or bookings, because it breaks those features for real visitors. Use the debug log to find the one plugin at fault, or use a per-user troubleshooting mode on a staging copy instead.</p>
</div>
<div class="faq-item">
<h3>Can I use ChatGPT or another AI assistant to fix WordPress errors?</h3>
<p>It&#8217;s good at explaining an error from the debug log. Remove personal data and server details before pasting, and test any code it suggests on staging first, because pasted snippets are a common cause of fatal errors.</p>
</div>
</div>
<p>That&#8217;s the order we follow. If yours is different and it works, I&#8217;d honestly like to hear it in the comments.</p>
<div class="mac-cta-box">
<h3>Rather not do this at 3 p.m. on a Friday?</h3>
<p>Our WordPress maintenance team handles updates, backups, and troubleshooting on a schedule, so the debug log gets read before your customers notice anything.</p>
<p><a class="mac-cta-button" href="https://www.macronimous.com/services/cms-development/wordpress-maintenance-services/">See WordPress maintenance plans</a>
</div>
<h3 id="modern-2026">Addendum: checking your site the 2026 way</h3>
<p><strong>Added October 2026.</strong> We first wrote this guide in 2024, and the steps above still hold. What&#8217;s changed is how much of the looking you can hand to an AI assistant without giving it the keys. Before you start deactivating anything, try one of these two free tools we built. Both are read-only, so neither can change your site.</p>
<ul class="arrowlist">
<li><a href="https://www.macronimous.com/free-tools/auditra/">Auditra</a> is a WordPress plugin that lets Claude or any MCP-compatible AI assistant inspect your plugins, known vulnerabilities, cron jobs, and autoloaded data, and then explain what it finds in plain English.</li>
<li><a href="https://www.macronimous.com/free-tools/wordpress-security-audit-claude-skill/">The WordPress Security Audit skill</a> is a Claude skill that checks plugin and theme versions against vulnerability databases, core files, wp-config settings, and signs of malware, which is the right first move when a bug might really be a hack.</li>
</ul>
<p>Run either one before Step 6 and you&#8217;ll usually know which plugin to look at before you touch a single setting.</p>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/review-wordpress-troubleshooting-2026/">WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.macronimous.com/blog/review-wordpress-troubleshooting-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress White Screen After a Plugin Update: How to Fix It in 10 Minutes (and When Not To)</title>
		<link>https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/</link>
					<comments>https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/#respond</comments>
		
		<dc:creator><![CDATA[Jeffy Susan]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 04:38:13 +0000</pubDate>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress Development]]></category>
		<category><![CDATA[WordPress Maintenance]]></category>
		<category><![CDATA[WP Maintenane]]></category>
		<category><![CDATA[WordPress Fixes]]></category>
		<category><![CDATA[WordPress Troubleshooting]]></category>
		<guid isPermaLink="false">https://www.macronimous.com/blog/?p=5338</guid>

					<description><![CDATA[<p>A white screen right after a plugin update is almost always that plugin throwing a PHP fatal error. The fix is to deactivate it without going through wp-admin (which you can&#8217;t reach anyway): click the recovery mode link WordPress emailed you, or rename the plugin&#8217;s folder over FTP. The site comes back. Then you decide [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">WordPress White Screen After a Plugin Update: How to Fix It in 10 Minutes (and When Not To)</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="mac-direct-answer">
<p><strong>A white screen right after a plugin update</strong> is almost always that plugin throwing a PHP fatal error. The fix is to deactivate it without going through wp-admin (which you can&#8217;t reach anyway): click the recovery mode link <a href="https://www.macronimous.com/blog/wordpress-7-0-ai-the-token-cost-reality-for-site-owners/">WordPress</a> emailed you, or rename the plugin&#8217;s folder over FTP. The site comes back. Then you decide what to do about the plugin.</p>
</div>
<p><a href="https://www.macronimous.com/blog/wp-content/uploads/2026/09/WordPress-White-Screen-After-a-Plugin-Update.jpg"><img decoding="async" width="1734" height="907" class="aligncenter size-full wp-image-5339" src="https://www.macronimous.com/blog/wp-content/uploads/2026/09/WordPress-White-Screen-After-a-Plugin-Update.jpg" alt="WordPress site showing a white screen after a plugin update" /></a>So your site is a blank white page, wp-admin is a blank white page too, and the last thing you did was click Update on a plugin. I&#8217;m going to assume that&#8217;s you, because that&#8217;s who searches for this. You did <em>not</em> break anything permanent, and this is roughly a ten-minute job if you have hosting-panel or FTP access (or can get it from whoever set the site up).</p>
<h2>Make sure it&#8217;s actually the plugin</h2>
<p>It usually is. But &#8220;usually&#8221; has cost people an afternoon, so spend two minutes checking.</p>
<p>Look in the site admin&#8217;s inbox for an email from WordPress with a subject like &#8220;Your Site is Experiencing a Technical Issue.&#8221; WordPress has sent these since version 5.2 (that&#8217;s 2019, so unless your site is a museum piece, you have it). The email names the plugin that failed and includes a special login link. If it names the plugin you just updated, you&#8217;re done diagnosing. Skip to the fix.</p>
<p>No email? Check spam, then check the hosting error log. cPanel calls it &#8220;Errors&#8221;; on Hostinger it&#8217;s under the site&#8217;s PHP settings; on InMotion it&#8217;s a file called <code>error_log</code> sitting in your site root or in <code>wp-admin</code>. You&#8217;re looking for a line that starts with <code>PHP Fatal error</code> and contains a path with <code>/wp-content/plugins/</code> in it. The folder name after that is your culprit.</p>
<p>If the log points at <code>/wp-content/themes/</code> instead, it&#8217;s the theme (same fix, rename the theme folder). If it says &#8220;Allowed memory size exhausted,&#8221; the update tipped a tight PHP memory limit over the edge, and raising it in <code>wp-config.php</code> fixes that. Those are the other two suspects. This post is about the plugin case, which is by far the most common as far as I can tell from the tickets that reach us.</p>
<h2>The fix, three ways, easiest first</h2>
<p>Pick the first one you can do. You don&#8217;t need all three.</p>
<h3>Way 1: the recovery mode link</h3>
<p>This is the one WordPress built for exactly this situation, and almost nobody uses it, which I think is because the email goes to whatever address was typed into Settings, General back when the site was built, which was often the developer&#8217;s address, or a mailbox that was created for the launch and never opened again, so the link sits there unread while the owner is on a forum reading about FTP.</p>
<ul class="mac-checklist">
<li>Find the &#8220;technical issue&#8221; email and click the recovery mode link. It&#8217;s valid for 24 hours by default, so don&#8217;t sit on it.</li>
<li>Log in as normal. You&#8217;ll see a &#8220;Recovery Mode Initialized&#8221; notice, and the broken plugin will be listed as paused.</li>
<li>Go to Plugins, deactivate the paused one, then click &#8220;Exit Recovery Mode&#8221; in the admin bar.</li>
</ul>
<p>The <a href="https://wordpress.org/documentation/article/recovery-mode/" target="_blank" rel="noopener noreferrer">WordPress.org recovery mode page</a> has screenshots if the admin screen looks unfamiliar.</p>
<h3>Way 2: rename the plugin folder</h3>
<p>No email, or the link expired. This is what I&#8217;d do anyway; it takes a minute and it&#8217;s hard to get wrong.</p>
<ul class="mac-checklist">
<li>Open your hosting file manager (cPanel, hPanel, whatever your host calls it) or connect with an FTP client like FileZilla.</li>
<li>Go to <code>wp-content/plugins/</code> and find the folder named after the plugin. It&#8217;s usually obvious: <code>woocommerce</code>, <code>elementor</code>, <code>wordfence</code>.</li>
<li>Rename it. Add <code>-off</code> to the end, so <code>elementor</code> becomes <code>elementor-off</code>. Reload the site.</li>
</ul>
<p>WordPress can&#8217;t find the plugin&#8217;s main file anymore, so it quietly deactivates it and carries on. Your site is back. Once you&#8217;ve sorted the plugin out, rename the folder back and reactivate.</p>
<h3>Way 3: WP-CLI</h3>
<p>Only if you have SSH access and that sentence made sense to you. If it did:</p><pre class="urvanov-syntax-highlighter-plain-tag">cd /path/to/your/wordpress   # the folder that contains wp-config.php
wp plugin list --status=active
wp plugin deactivate the-plugin-slug</pre><p>&nbsp;</p>
<h2>It&#8217;s back. Don&#8217;t walk away yet.</h2>
<p>Clear every cache you have, in this order: the caching plugin (WP Rocket, LiteSpeed Cache, W3 Total Cache), then the hosting cache (most managed hosts have a purge button in the panel), then Cloudflare if the site runs through it. Skip this and you&#8217;ll get a call in an hour from someone still seeing the white page while you&#8217;re looking at a working site. Been there.</p>
<p>Then click three things. The homepage. One inner page that matters, a product page or a services page. The contact form, and actually send it. A site that renders but can&#8217;t take an inquiry is still down as far as your business is concerned.</p>
<p>Now the plugin. You have three options, and I&#8217;d rank them like this:</p>
<ol>
<li>Roll it back to the version that worked. The WP Rollback plugin does this from the Plugins screen for anything on WordPress.org. For a premium plugin, download the previous version from the vendor&#8217;s account area and upload it over FTP.</li>
<li>Leave it deactivated and wait. If the update broke you, it broke a few hundred other people too, and there&#8217;s often a patch within days.</li>
<li>Replace it. If this is the second or third time the same plugin has done this, that&#8217;s your answer.</li>
</ol>
<h2>When you shouldn&#8217;t do this yourself</h2>
<p>This is the part I&#8217;d rather write honestly than write well. Everything above assumes a simple case: one plugin, one update, one error. Some white screens aren&#8217;t simple, and the DIY route makes them worse.</p>
<div class="mac-key-point">
<p>Stop and get a developer in if any of these is true: the error log names a <em>different</em> plugin from the one you updated (that&#8217;s a conflict, and deactivating the wrong one costs you a feature without fixing anything); the site is WooCommerce with orders coming in (a botched rollback can leave orders half-written in the database); there was no backup taken before the update; or the white screen arrived together with a &#8220;this site may be hacked&#8221; warning from Google or your host.</p>
</div>
<p>The last one is a different problem wearing the same symptom. Renaming a plugin folder won&#8217;t help, and poking around in the file system while a site is compromised can destroy the evidence someone needs to clean it properly. That&#8217;s <a href="https://www.macronimous.com/services/cms-development/enterprise-wordpress-website-security-services/">a security cleanup</a>, not a maintenance job, and it&#8217;s the one case where I&#8217;d say close the FTP window and pick up the phone.</p>
<p>On the WooCommerce one, I&#8217;ll admit I&#8217;m more cautious than most Reddit answers. A store that stays white for twenty more minutes while a developer checks the order tables is cheaper than a store that comes back with a broken checkout nobody notices until Monday.</p>
<h2>So it doesn&#8217;t happen again</h2>
<p>Three habits. Nothing clever. Test the update on a staging copy first; most hosts give you one for free now. Take a backup right before you click Update, not the nightly one from twelve hours ago. And update one plugin at a time, so when something breaks you know which one did it. That&#8217;s the whole prevention plan.</p>
<h2>Quick questions</h2>
<div id="ai-wordpress-faq">
<div class="faq-item">
<h3>Will renaming the plugin folder delete my settings?</h3>
<p>No. A plugin&#8217;s settings live in the database. The folder only holds its code. Rename it back, reactivate, and everything is where you left it.</p>
</div>
<div class="faq-item">
<h3>I don&#8217;t have FTP or hosting access. What now?</h3>
<p>Try the recovery mode email first, since that needs no FTP at all. Otherwise, whoever pays the hosting bill can log in to the host&#8217;s panel and either use the file manager or reset the FTP password. The hosting welcome email usually has the panel link.</p>
</div>
<div class="faq-item">
<h3>Can I just delete the plugin folder instead of renaming it?</h3>
<p>You can, and the site will come back the same way. But deleting throws away the code you might want to compare against the old version, and it makes the rollback harder. Renaming is reversible. Deleting isn&#8217;t.</p>
</div>
</div>
<div class="mac-cta-box">
<h3>Site white right now, or tired of holding your breath on every update?</h3>
<p>We fix this same day and set up the staging-first process so it doesn&#8217;t recur. Send us the URL and the name of the plugin you updated.</p>
<p><a class="mac-cta-button" href="https://www.macronimous.com/services/cms-development/wordpress-maintenance-services/">Get the site back today</a></p>
</div>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">WordPress White Screen After a Plugin Update: How to Fix It in 10 Minutes (and When Not To)</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</title>
		<link>https://www.macronimous.com/blog/wordpress-bug-fixing-guide/</link>
					<comments>https://www.macronimous.com/blog/wordpress-bug-fixing-guide/#respond</comments>
		
		<dc:creator><![CDATA[Benny]]></dc:creator>
		<pubDate>Mon, 08 Apr 2024 06:32:17 +0000</pubDate>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Welcome]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress Maintenance]]></category>
		<category><![CDATA[WP Maintenane]]></category>
		<category><![CDATA[Advanced WordPress]]></category>
		<category><![CDATA[Wordpress development]]></category>
		<category><![CDATA[WordPress Fixes]]></category>
		<guid isPermaLink="false">https://www.macronimous.com/blog/?p=3764</guid>

					<description><![CDATA[<p>To troubleshoot a WordPress problem, work in this order: write down the exact symptom, find out what changed recently, turn on the debug log, reproduce the problem, and read the log. The file path in the error almost always names the plugin or theme at fault. If the log doesn&#8217;t, switch plugins off for your [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/wordpress-bug-fixing-guide/">WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<a href="https://www.macronimous.com/blog/wp-content/uploads/2024/01/The-WordPress-Bug-Fixing-Guide.png"><img decoding="async" width="1024" height="576" class="aligncenter size-large wp-image-3897" src="https://www.macronimous.com/blog/wp-content/uploads/2024/01/The-WordPress-Bug-Fixing-Guide-1024x576.png" alt="The WordPress Bug Fixing Guide" /></a>
<div class="mac-direct-answer">
<p>To troubleshoot a <a href="https://www.macronimous.com/blog/wordpress-7-0-ai-the-token-cost-reality-for-site-owners/">WordPress</a> problem, work in this order: write down the exact symptom, find out what changed recently, turn on the debug log, reproduce the problem, and read the log. The file path in the error almost always names the plugin or theme at fault. If the log doesn&#8217;t, switch plugins off for your own session only, then check the server itself. Most WordPress bugs come from a recent change, and the debug log usually points straight at it.</p>
</div>
<div class="mac-toc">
<p class="mac-toc-title">In this post</p>
<ul>
<li><a href="#order">Why the order matters</a></li>
<li><a href="#steps">The troubleshooting steps</a></li>
<li><a href="#symptoms">Common symptoms and where to look first</a></li>
<li><a href="#ai">Using AI to read the log, carefully</a></li>
<li><a href="#stop">When to stop and call someone</a></li>
<li><a href="#checklist">Checklist</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#modern-2026">Addendum: checking your site the 2026 way</a></li>
</ul>
</div>
<h2 id="order">Why the order matters</h2>
<p>Most <a href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">WordPress troubleshooting</a> guides are a list of things to try: clear the cache, deactivate plugins, switch themes, increase the memory limit, contact your host. All of those are reasonable. The trouble is the order people try them in, which is usually whatever the first search result said.</p>
<p>Picture someone deactivating all 34 plugins on a live WooCommerce store at 3 p.m. on a Friday. The checkout breaks for real customers, the original bug is still there (it was in the theme), and now there are two problems. That&#8217;s how a one-problem afternoon becomes a two-problem weekend, and it&#8217;s why this guide is a sequence rather than a list.</p>
<p><strong>A note on this post:</strong> the 2024 version was titled &#8220;11 WordPress troubleshooting techniques&#8221; and then listed twelve. That gives you a fair idea of how carefully it was put together. This is a rewrite from scratch.</p>
<h2 id="steps">The troubleshooting steps</h2>
<p><strong>Before you start.</strong> You need a fresh backup, wp-admin access or hosting file access (the file manager or SFTP), and ideally a staging copy of the site. If the site makes money, do Steps 5 and 6 on staging, not live.</p>
<p><strong>Step 1: Write down the symptom exactly.</strong><br />
Note the exact error text, the URL where it happens, whether it happens logged in or logged out, which browser, and roughly when it started. &#8220;The site is broken&#8221; can&#8217;t be fixed. &#8220;The cart page shows a critical error for logged-out visitors since Tuesday&#8221; usually can.</p>
<p><strong>Step 2: Find out what changed.</strong><br />
Ask what was updated, installed, or edited in the last 48 hours: plugins, the theme, WordPress core, PHP version, hosting plan, DNS, or a code snippet someone pasted into <code>functions.php</code>. Check the site admin&#8217;s inbox for WordPress auto-update emails, which list what was updated and when. Very often the answer to the whole problem is in this step.</p>
<p><strong>Step 3: Turn on the debug log.</strong><br />
Open <code>wp-config.php</code> in the site root, find the line that sets <code>WP_DEBUG</code>, and replace it with these three lines. They write errors to a log file without showing them to visitors.</p><pre class="urvanov-syntax-highlighter-plain-tag">define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );</pre><p>&nbsp;</p>
<p>When this works, nothing visible changes on the site. That&#8217;s correct.</p>
<p><strong>Step 4: Reproduce the problem.</strong><br />
Load the page or repeat the action that breaks, once or twice. This writes the error into the log.</p>
<p><strong>Step 5: Read the log.</strong><br />
Open <code>wp-content/debug.log</code>. Read the newest lines at the bottom first. Look for <code>PHP Fatal error</code> or <code>PHP Warning</code>, then look at the file path in that line. A path containing <code>/wp-content/plugins/plugin-name/</code> points at that plugin, and <code>/wp-content/themes/theme-name/</code> points at the theme. Note the plugin or theme name, because Step 6 uses it.</p>
<p><strong>Step 6: Isolate the cause.</strong><br />
If you can reach wp-admin, deactivate only the plugin named in the log, then retest. If you can&#8217;t reach wp-admin, use the recovery mode link that WordPress emails to the site admin after a fatal error (see the <a href="https://wordpress.org/documentation/article/recovery-mode/" target="_blank" rel="noopener">WordPress recovery mode documentation</a>), or rename that plugin&#8217;s folder in <code>wp-content/plugins</code> using the file manager. Our post on the <a href="https://www.macronimous.com/blog/wordpress-white-screen-after-plugin-update/">white screen after a plugin update</a> walks through the folder rename in detail.</p>
<p><strong>Step 7: If the log names nothing, test with plugins off for your session only.</strong><br />
The <a href="https://wordpress.org/plugins/health-check/" target="_blank" rel="noopener">Health Check &amp; Troubleshooting</a> plugin has a Troubleshooting Mode that disables all plugins and switches to a default theme for your logged-in user only, until you turn it off or log out. Re-enable plugins one at a time inside that mode until the problem returns. (Its last update was about two years ago, so I&#8217;d run it on staging rather than on a live store.)</p>
<p><strong>Step 8: Check the server.</strong><br />
If the problem survives with every plugin off and a default theme on, it isn&#8217;t WordPress code. Check the hosting error log, the PHP version in the hosting panel, the PHP memory limit, and the disk space. A full disk breaks uploads, caching, and database writes in ways that look like a dozen different bugs.</p>
<p><strong>Step 9: Turn debugging off again.</strong><br />
Set <code>WP_DEBUG</code> back to <code>false</code> in <code>wp-config.php</code>, then delete <code>wp-content/debug.log</code>. The log can contain file paths and other details that are useful to attackers, and on many servers anyone can download it by URL. The <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/" target="_blank" rel="noopener">WordPress debugging documentation</a> also recommends against leaving debug tools on in production.</p>
<p><strong>Check.</strong> The original symptom from Step 1 is gone, logged in and logged out, and <code>debug.log</code> no longer exists.</p>
<h2 id="symptoms">Common symptoms and where to look first</h2>
<table class="styled-table">
<thead>
<tr>
<th>Symptom</th>
<th>Most likely cause</th>
<th>Where to look first</th>
</tr>
</thead>
<tbody>
<tr>
<td>The whole site is a white screen.</td>
<td>A plugin or theme threw a PHP fatal error, usually right after an update.</td>
<td>Check the recovery mode email, then the debug log.</td>
</tr>
<tr>
<td>The site says &#8220;There has been a critical error on this website.&#8221;</td>
<td>This is the same fatal error, shown with WordPress&#8217;s friendlier message.</td>
<td>Check the recovery mode email, then the debug log.</td>
</tr>
<tr>
<td>The site says &#8220;Error establishing a database connection.&#8221;</td>
<td>The database server is down, or the credentials in <code>wp-config.php</code> are wrong.</td>
<td>Check the hosting panel&#8217;s database status before touching any file.</td>
</tr>
<tr>
<td>One page or feature broke, and the rest of the site works.</td>
<td>A plugin conflict or a recent edit affects only that template or shortcode.</td>
<td>Read the debug log while loading that page.</td>
</tr>
<tr>
<td>Changes don&#8217;t show up on the live site.</td>
<td>A caching layer is serving an old copy of the page.</td>
<td>Purge the cache plugin first, then the CDN (content delivery network).</td>
</tr>
<tr>
<td>wp-admin is very slow, and the front end is fine.</td>
<td>The cause is usually autoloaded options or a heavy admin plugin.</td>
<td>Check the database for oversized autoloaded options.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>That last row is a long story of its own, and we wrote it up as a <a href="https://www.macronimous.com/blog/wordpress-admin-slow-read-only-audit-case-study/">read-only audit case study on a slow WordPress admin</a>.</p>
<h2 id="ai">Using AI to read the log, carefully</h2>
<p>This part didn&#8217;t exist in 2024, and it&#8217;s genuinely useful. Pasting the last 30 or so lines of <code>debug.log</code> into an <a href="https://www.macronimous.com/blog/the-code-your-ai-wants-to-delete-is-load-bearing/">AI</a> assistant and asking &#8220;which plugin is causing this, and what does the error mean?&#8221; gets you a plain-English explanation of a stack trace faster than any forum thread will. It&#8217;s very good at that.</p>
<p>Two cautions, though. First, read what you paste. A debug log can contain server paths, email addresses, and occasionally a database error that includes a query with customer data in it. Strip those out first. Second, don&#8217;t let the assistant&#8217;s fix go straight into the live site. A snippet from a chatbot, pasted into <code>functions.php</code>, is one of the easiest ways to cause the exact fatal error this guide started with. A function name that clashes with one the theme already declares is enough to take the site down.</p>
<p>There&#8217;s a better pattern for AI on a WordPress site, and it&#8217;s read-only. An AI agent that can <em>look</em> at the plugin list, versions, cron jobs, and autoloaded options, but can&#8217;t change anything, can do most of Step 2 and part of Step 8 (the PHP version and memory limits) without any risk. That&#8217;s why we built <a href="https://www.macronimous.com/blog/wordpress-plugin-security-visibility/">Auditra, our read-only WordPress inspection tool</a>, the way we did.</p>
<h2 id="stop">When to stop and call someone</h2>
<p>Some problems are a bad idea to fix yourself, however good the guide is. Stop and get help if any of these are true:</p>
<ul class="arrowlist">
<li>You see files, admin users, or redirects that nobody on your team created, because that points to a compromise rather than a bug.</li>
<li>The database connection error persists after the host confirms the database server is running.</li>
<li>The checkout or payment flow is broken on a live store and customers are affected right now.</li>
<li>Nobody can find a recent backup, so any change you make can&#8217;t be undone.</li>
<li>The debug log is empty, the server logs are empty, and the problem is still there.</li>
</ul>
<h2 id="checklist">Checklist</h2>
<ul class="mac-checklist">
<li>Take a fresh backup before changing anything.</li>
<li>Write the symptom down exactly, including the URL and whether you&#8217;re logged in.</li>
<li>List everything that changed in the last 48 hours.</li>
<li>Turn on the debug log with display off, reproduce the problem, and read the newest lines.</li>
<li>Deactivate only the plugin or theme the log names.</li>
<li>Use per-user troubleshooting on staging when the log names nothing.</li>
<li>Check the server&#8217;s error log, PHP version, memory, and disk space.</li>
<li>Turn debugging off and delete <code>debug.log</code> when you&#8217;re done.</li>
</ul>
<h2 id="faq">FAQ</h2>
<div id="wordpress-troubleshooting-faq">
<div class="faq-item">
<h3>How do I find out which plugin is breaking my WordPress site?</h3>
<p>Turn on the debug log in wp-config.php with display off, reproduce the problem, and open wp-content/debug.log. The file path in the newest fatal error or warning names the plugin folder. If WordPress emailed you a recovery mode link, that email names the plugin too.</p>
</div>
<div class="faq-item">
<h3>Where is the WordPress debug log?</h3>
<p>With WP_DEBUG_LOG set to true, WordPress writes errors to debug.log inside the wp-content folder. You can also set WP_DEBUG_LOG to a custom file path, which is safer because the default location can be downloaded by URL on many servers.</p>
</div>
<div class="faq-item">
<h3>Is it safe to deactivate all plugins to troubleshoot?</h3>
<p>Not on a live site that takes orders or bookings, because it breaks those features for real visitors. Use the debug log to find the one plugin at fault, or use a per-user troubleshooting mode on a staging copy instead.</p>
</div>
<div class="faq-item">
<h3>Can I use ChatGPT or another AI assistant to fix WordPress errors?</h3>
<p>It&#8217;s good at explaining an error from the debug log. Remove personal data and server details before pasting, and test any code it suggests on staging first, because pasted snippets are a common cause of fatal errors.</p>
</div>
</div>
<p>That&#8217;s the order we follow. If yours is different and it works, I&#8217;d honestly like to hear it in the comments.</p>
<div class="mac-cta-box">
<h3>Rather not do this at 3 p.m. on a Friday?</h3>
<p>Our WordPress maintenance team handles updates, backups, and troubleshooting on a schedule, so the debug log gets read before your customers notice anything.</p>
<p><a class="mac-cta-button" href="https://www.macronimous.com/services/cms-development/wordpress-maintenance-services/">See WordPress maintenance plans</a>
</div>
<h3 id="modern-2026">Addendum: checking your site the 2026 way</h3>
<p><strong>Added October 2026.</strong> We first wrote this guide in 2024, and the steps above still hold. What&#8217;s changed is how much of the looking you can hand to an AI assistant without giving it the keys. Before you start deactivating anything, try one of these two free tools we built. Both are read-only, so neither can change your site.</p>
<ul class="arrowlist">
<li><a href="https://www.macronimous.com/free-tools/auditra/">Auditra</a> is a WordPress plugin that lets Claude or any MCP-compatible AI assistant inspect your plugins, known vulnerabilities, cron jobs, and autoloaded data, and then explain what it finds in plain English.</li>
<li><a href="https://www.macronimous.com/free-tools/wordpress-security-audit-claude-skill/">The WordPress Security Audit skill</a> is a Claude skill that checks plugin and theme versions against vulnerability databases, core files, wp-config settings, and signs of malware, which is the right first move when a bug might really be a hack.</li>
</ul>
<p>Run either one before Step 6 and you&#8217;ll usually know which plugin to look at before you touch a single setting.</p>
<p>The post <a rel="nofollow" href="https://www.macronimous.com/blog/wordpress-bug-fixing-guide/">WordPress Troubleshooting: How to Find and Fix the Bug, in the Right Order</a> first appeared on <a rel="nofollow" href="https://www.macronimous.com/blog">Macronimous Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.macronimous.com/blog/wordpress-bug-fixing-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
