DroidCrunch
  • About
  • Blog
  • Categories
    • Automation
    • Tech
    • SEO
    • WordPress
    • Software
    • Hosting
    • Proxy
  • AI
    • AI Writing
    • AI Image
    • AI Tool
    • AI Video
  • Deals
  • Contact
Subscribe
No Result
View All Result
DroidCrunch
  • About
  • Blog
  • Categories
    • Automation
    • Tech
    • SEO
    • WordPress
    • Software
    • Hosting
    • Proxy
  • AI
    • AI Writing
    • AI Image
    • AI Tool
    • AI Video
  • Deals
  • Contact
Subscribe
DroidCrunch

“There Has Been a Critical Error on This Website”: How to Fix It 2026

Lokesh Kapoor by Lokesh Kapoor
November 14, 2026
3
0

Your site is down, and all it says is There has been a critical error on this website.

It means a plugin, theme or setting hit a PHP fatal error. The fix is to switch off whatever crashed: log in through the recovery mode link WordPress emails you, or rename that plugin’s folder in your file manager.

We broke a test site eight ways to watch each one fail. The surprise? That email often never gets sent.

What does the WordPress critical error actually mean?

It means PHP stopped mid-page and WordPress caught it. Since version 5.2, WordPress swaps the old blank page for this message and returns an HTTP 500 status.

The wording changes with the page that broke. That’s your first clue:

What you seeWhere it happenedWhat it tells you
There has been a critical error on this website.A normal page your visitors loadSomething crashed. WordPress hasn’t sent any email for this hit
…Please check your site admin email inbox for instructions.wp-admin or the login pageWordPress tried to email the admin address a recovery link
…putting it in recovery mode.Inside a recovery sessionYou’re logged in through the link and the culprit is paused for you
A blank white pageAnywhereThe handler is off, or the crash happened before WordPress loaded

A database outage is a different problem. If you see Error establishing a database connection instead, WordPress never reached your plugins at all, and the fixes don’t overlap.

How we tested it (and what we didn’t)

We installed WordPress 7.1.4 on a Linux test server with PHP 8.4 and MariaDB 11.4. Then we broke it on purpose, eight times.

The breaks: a plugin calling a missing function, a plugin using code PHP 8 removed, a typo in functions.php, a memory-hungry job and a broken must-use plugin. We also switched off the error handler, printed errors on screen and broke wp-config.php.

Each time, we logged what a visitor saw, whether the recovery email went out, what debug.log said and which fix worked. The server had no mail system, so we saw what happens when that email fails too.

We didn’t test real inbox delivery, Apache, Nginx or LiteSpeed, a host’s PHP switcher, host memory caps or corrupted core files. Where we cover those, it’s from WordPress’s docs, not our lab.

What usually triggers the critical error?

WordPress’s own troubleshooting docs name four usual causes. Each one leaves a different line in the log.

What usually triggers the WordPress critical error: a plugin conflict or bad update, a theme functions.php error, a PHP version mismatch, or the memory limit
All four end in the same PHP fatal error. Your debug.log tells you which one you’ve got.
  • A plugin conflict or bad update. Our test plugin called a function its own update had removed. Every page, the login screen and even WP-CLI died with Call to undefined function.
  • A theme functions.php error. One snippet pasted from a tutorial, missing a single semicolon, took down the front end and wp-admin together.
  • A PHP version mismatch. An old gallery plugin used create_function(), which PHP 8 removed. It ran for years, then broke the day the host upgraded PHP.
  • The memory limit. A job that needed 150 MB on a server capped at 128 MB stopped dead with Allowed memory size exhausted.

So what changed last? A plugin update, a pasted snippet or a PHP upgrade from your host explains most cases. Start there.

How to fix there has been a critical error on this website

Work through these five steps in order. Stop at the first one that brings the site back.

WordPress critical error fix flow: check the recovery email, turn on WP_DEBUG_LOG, read debug.log, disable the plugin or theme, then raise the memory limit or restore a backup
Steps one to four fix most plugin and theme crashes. Step five is for memory errors and damaged core files.

The fix, in order

Each step either fixes the site or tells you what to do next.

  1. 1
    Step 1 of 5

    Check your admin email for the recovery link

    Look for Your Site is Experiencing a Technical Issue in the inbox of the admin email address, spam folder included. It names the plugin or theme and holds a one-day login link that pauses it for you.

  2. 2
    Step 2 of 5

    Turn on WP_DEBUG_LOG

    No email? Open wp-config.php in your host’s file manager and add the three debug lines below, above the stop editing comment.

  3. 3
    Step 3 of 5

    Reload the page, then read debug.log

    Load the broken page once. Open wp-content/debug.log and find the newest line that starts with PHP Fatal error or PHP Parse error. The file path in it names the culprit.

  4. 4
    Step 4 of 5

    Disable the plugin or theme it names

    Rename that folder inside wp-content/plugins or wp-content/themes, for example to slider-pro.off. Then open the Plugins or Themes screen so WordPress records the change.

  5. 5
    Step 5 of 5

    Raise the memory limit or restore a backup

    If the log says Allowed memory size exhausted, raise WP_MEMORY_LIMIT. If the log points at core files or you can’t find a cause, restore yesterday’s backup.

Step one is where most people get stuck, so let’s start with why that email so often never shows up.

Why the recovery email didn’t arrive

WordPress only sends it when the crash happens in wp-admin or on the login page. We loaded our broken homepage six times as a visitor, and WordPress didn’t try to send a single email.

Then we opened the login page. WordPress tried, but our server had no working mail, so the message failed. It still saved the send time first.

The catch? Every reload after that was treated as already sent. WordPress waits 24 hours before trying again, even though nothing ever reached an inbox.

Two more traps showed up in testing:

  • The shortcut URL doesn’t help here. Some guides say to visit /wp-login.php?action=entered_recovery_mode without the email. With a plugin that crashes every request, that page returned the same 500 error, and so did the login form.
  • Must-use plugins never trigger it. When a file in wp-content/mu-plugins crashed, the admin page still said to check the inbox. No email was sent, because recovery mode only handles normal plugins and themes.

Real-world tip: Install an SMTP plugin while your site is healthy and send yourself a test email. If WordPress can’t email you on a good day, the recovery link won’t reach you on a bad one.

Turn on WP_DEBUG_LOG and read debug.log

When there’s no email, the log is the next best witness. Add these lines to wp-config.php, above the line that says That’s all, stop editing:

wp-config.php PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Reload the broken page once. Here’s the line our old gallery plugin wrote:

wp-content/debug.log Plain text
PHP Fatal error:  Uncaught Error: Call to undefined function create_function()
in /wp-content/plugins/lab-old-gallery/lab-old-gallery.php:8

Skip the long stack trace below it. The folder name after /plugins/ or /themes/ is your suspect, and the number after the colon is the line.

Parse errors point one line late. Our missing semicolon sat on line 3 of functions.php, and the log blamed line 4. Look at the line above the one it names.

Warning: Every failed visit added about 2.9 KB to our debug.log, server paths included. Our test server let anyone download it at /wp-content/debug.log, and yours may too unless your host blocks it. Delete the file and set WP_DEBUG back to false once you’re fixed.

The Debugging in WordPress handbook page lists the other options, such as saving the log outside your public folder.

Rename the folder, then open the Plugins screen

Renaming a plugin’s folder stops WordPress from loading it. In our test, the homepage came back the moment we renamed it, with no dashboard needed.

But WordPress still listed the plugin as active. When we renamed the folder back before opening the Plugins screen, the site crashed again.

Opening the Plugins screen fixed that. WordPress showed Plugin file does not exist and deactivated it. After that, renaming the folder back was safe, and the plugin stayed off.

Themes work the same way. When we renamed our broken child theme, WordPress fell back to the parent theme. Opening the Themes screen then switched the site to the default theme for good.

Got a recovery email? Use it instead. Inside recovery mode, the Plugins screen labels the culprit Paused, and one click on Deactivate fixed the site for everyone. Until you do, your visitors still see the error, because the pause only covers your own login.

Running a network? A broken plugin that’s network-activated takes down every site at once, as our WordPress Multisite test network showed.

Raise the memory limit only when the log says so

WordPress asks for at least 40 MB on normal pages and 256 MB in wp-admin. Your host’s PHP limit can be higher, and ours was 128 MB.

A log line like Allowed memory size of 134217728 bytes exhausted means PHP hit that 128 MB. Raise the limit in wp-config.php:

wp-config.php PHP
define( 'WP_MEMORY_LIMIT', '256M' );

Our 150 MB job worked as soon as we added that line. WordPress can’t go past a hard cap your host sets, though, and we didn’t test one. If the error stays, raise the PHP memory limit in your hosting panel or ask support.

Memory is rarely the root cause. A plugin that eats 150 MB on every page load has a bug. Raising the limit buys you time to find it.

PHP version errors: update the plugin, not PHP

An error about create_function() or each() means the plugin was written for PHP 7. Rolling PHP back gets the site up. It also leaves you on a version with no security fixes.

Update the plugin first. If there’s no update, replace it. Most hosting panels let you switch PHP per site, and our Hostinger review shows where that setting sits in hPanel.

No message at all, just a blank page? That’s a different symptom.

White screen of death: when there’s no message at all

A blank page means the crash was never caught. In our tests, that happened in two ways.

  • The handler was off. With WP_DISABLE_FATAL_ERROR_HANDLER set to true, the same broken plugin returned an empty 500 page. No message, no recovery mode, no email.
  • The crash came before WordPress loaded. A missing semicolon in wp-config.php gave a blank 500 page. Nothing reached debug.log either, because the debug settings live in the file that broke. The error showed up only in the server’s own PHP log.

Check your host’s error log in that case. It’s usually under Logs or Error log in the hosting panel. Then look at wp-config.php and anything you edited last.

It’s not the same as a 502 Bad Gateway error. That one comes from the server in front of PHP.

Warning: Don’t switch WP_DEBUG_DISPLAY on for a live site to see the error. When we tried it, every visitor saw the full error and server path. The page also returned HTTP 200, so caches and crawlers treat it as a normal page.

Is it a WordPress core file, or your host?

If the log path points into wp-admin or wp-includes rather than a plugin or theme, a core file is damaged or missing. That’s often down to a failed update.

Upload fresh copies of those two folders from the same WordPress version, and leave wp-config.php and wp-content alone. Our WordPress install guide shows where to get the official zip.

No clue in any log? Restore the most recent backup from before the error started. A host backup works, and so does a backup plugin like Jetpack. Our roundup of WordPress backup plugins compares the restore options.

Last, ask your host’s support for the PHP error log from when the error began. Managed hosts are quick at this, and our managed vs shared WordPress hosting comparison explains why that help costs more. If you’re picking a host, Hostinger‘s hPanel lets you change the PHP version and memory limit without touching code.

Disclosure: the Hostinger and Jetpack links on this page are affiliate links, so we may earn a commission at no extra cost to you.

Frequently asked questions

Does there has been a critical error on this website mean I was hacked?

Usually not. The message means PHP hit a fatal error, and a bad update or pasted snippet is the usual cause. Hacked sites can crash the same way, though. If debug.log names a file you don’t recognise, scan the site and change your passwords.

Will I lose my posts or content when I fix the critical error?

No. Your posts, pages and settings sit in the database, which a plugin crash doesn’t touch. Renaming or deactivating a plugin keeps its settings too, so they come back when you switch it on again. Only restoring an older backup rolls content back.

Is the WordPress critical error bad for SEO?

Only if it lasts. Search engines see an HTTP 500 and come back later, so a few hours rarely hurts rankings. Days of errors can push pages out of results. Fix it first, then check the Page indexing report in Google Search Console.

Can I fix the critical error without FTP or a file manager?

Yes, if you get the recovery email, which lets you log in and deactivate the culprit from the dashboard. Without it, you need some way to reach your files: your host’s file manager, FTP or SSH. A host’s support team can also rename the folder for you.

How do I find which plugin causes the critical error if debug.log is empty?

Check WP_DEBUG and WP_DEBUG_LOG are both true, then reload the broken page. Still empty? Check your host’s PHP error log, or rename the whole plugins folder. If the site returns, rename it back, then switch plugins on one at a time until it breaks.

Why does the critical error only appear on some pages?

Because the broken code only runs there. Our old gallery plugin hooked into post content, so posts failed while wp-admin worked. A crash only on checkout or one page template points at the plugin or template that builds that page. Check debug.log after loading it.

What does the WordPress recovery mode link expire after?

One day. If it expires, WordPress emails a new link the next time the error hits wp-admin or the login page. It sends at most one email per day, so a failed send still blocks a new one until 24 hours pass.

Should I update PHP to fix the critical error?

Only if a plugin’s error says it needs a newer version, which is rare. Most PHP-related critical errors happen right after an upgrade, when old plugin code stops working. Update that plugin or replace it, and keep PHP current for security.

The bottom line

There has been a critical error on this website is WordPress catching a PHP fatal error. It’s usually the last plugin, theme or snippet you touched. Use the recovery mode email if it arrives. If it doesn’t, the debug.log names the folder to rename.

The warning from our lab: don’t wait for that email. It only sends when wp-admin breaks, and one failed attempt blocks the next for a day.

Next step: once you’re back online, set up SMTP and send yourself a test email. Then the next recovery link will reach you.

Share4Tweet2Share1Share
Previous Post

WordPress Multisite: What It Is and When to Use It 2026

Lokesh Kapoor

Lokesh Kapoor

I am Lokesh Kapoor who loves to write blogs, create videos and watch sci-fi movies on Netflix and Jio Cinema. DroidCrunch is my first love and a crucial part of my life.

Related Posts

WordPress Multisite explained: one install running a whole network of sites from a single Network Admin

WordPress Multisite: What It Is and When to Use It 2026

November 14, 2026
297
How to install WordPress: a laptop showing the WordPress setup form connected to a web server and database

How to Install WordPress (Step by Step): 3 Ways, From One-Click to Manual 2026

November 13, 2026
299
Web hosting statistics: server racks, a globe linked to data centers and a market share chart

Web Hosting Statistics 2026: Who Really Hosts the Web (Plus Our 2,000-Site Scan)

November 13, 2026
303
What is a VPS: one physical server split into isolated virtual servers, one highlighted with root access and guaranteed RAM

What Is a VPS? How Virtual Private Servers Work (and What They Cost) 2026

November 13, 2026
298
Load More

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

I agree to the Terms & Conditions and Privacy Policy.

Youtube Instagram Telegram Discord Facebook Whatsapp Twitter LinkedIn

About

DroidCrunch Logo Dark

DroidCrunch is your trusted blog & YouTube channel dedicated to SAAS lovers, WordPress enthusiasts, and Technology Freaks.

Quick Links

  • About Us
  • Editorial Policy
  • Contact Us
  • Help & Support
  • RSS Feed

© 2026 DroidCrunch - Best Place for Tech NomadPrivacy PolicyTerms & ConditionsCookie PolicyGDPR RightsAffiliate Disclosure

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

No Result
View All Result
Subscribe
  • About
  • Blog
  • Categories
    • Automation
    • Tech
    • SEO
    • WordPress
    • Software
    • Hosting
    • Proxy
  • AI
    • AI Writing
    • AI Image
    • AI Tool
    • AI Video
  • Deals
  • Contact

© 2026 DroidCrunch - Best Place for Tech NomadPrivacy PolicyTerms & ConditionsCookie PolicyGDPR RightsAffiliate Disclosure

DroidCrunch Giveaway

Amazon Gift Card worth $15

Participate now and get a chance to become a lucky winner to receive the reward.​

Join Giveaway