My WordPress Site is Down. A Developer's Guide to Resurrecting It Without Going Crazy.

I still remember the first time a major client’s site went dark. That cold sweat on the back of your neck is unmistakable. If you’re here, you’re probably feeling something similar. Take a deep breath. I’ve been working with WordPress for years, and I can promise you one thing: the problem almost always looks much worse than it actually is.
Let’s skip the panic and the frantic Googling of a thousand different solutions. I’m going to walk you through the same mental process I follow to diagnose and fix a down site, starting with the absolute basics.
Tabla de contenidos
First Things First: Is It Actually Down?
Before you dive into the guts of your site, let’s play detective. Sometimes, the problem is closer than you think.
- Ask a friend: Have someone try to access your site from their house or on their phone’s data plan. If they can see it, the problem is on your end (probably your browser’s cache or your network). That’s the happiest possible outcome!
- Use an online “snitch”: Sites like downforeveryoneorjustme.com will tell you if the site is down for everyone or just you.
If they confirm it’s down for everyone, then yes, it’s time to roll up your sleeves. But we’re not going to guess wildly.
Activate WordPress’s “Forensic Mode”
Trying to fix a down site without knowing what’s wrong is like trying to fix a car blindfolded. We need WordPress to tell us where it hurts. To do that, we’re going to activate its “black box”—the error log.
Don’t worry, this sounds more technical than it is. You just need to edit one file:
- Access your site’s files (using FTP or your host’s File Manager).
- Find the file
wp-config.php. Think of it as your site’s ignition key. - Inside, find the line
define( 'WP_DEBUG', false );and changefalsetotrue. - Right below that, add these two lines. This is so errors are saved to a private file instead of being shown publicly:
define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', false ); - Save the file and reload your website. It will still be broken, don’t be alarmed.
Now for the magic. Go back to your files and look in the /wp-content/ folder. You’ll see a new file called debug.log. That file is pure gold. Open it. Whatever it says inside is the culprit, almost always with a name and address.
The Usual Suspects
90% of the time, the debug.log file will point to one of these three culprits.
The Rebel Plugin
This is the most common cause. The log will show you a file path that includes /wp-content/plugins/plugin-name/. Bingo!
The Fix: You don’t even need to delete it. Just go into the plugins folder, find the folder with the culprit’s name, and rename it. I usually just add “_OFF” to the end (e.g., “plugin-name_OFF”). This deactivates it instantly. Reload your site. It has most likely come back to life.
The Broken Theme
Sometimes, the problem isn’t a plugin, but the theme, especially if you just updated it or edited its code. The debug.log will show a path that includes /wp-content/themes/your-theme-name/.
The Fix: Identical to the plugin fix. Go to the themes folder, rename your theme’s folder, and WordPress, unable to find it, will automatically fall back to a default theme. Your site will look weird, but it will be online. From there, you can log in to the admin panel and fix it properly.
The Corrupt Traffic Cop (.htaccess file)
Sometimes the debug.log is empty and all you see is an “Internal Server Error.” That usually smells like a problem with the .htaccess file to me. It’s as if the bouncer at a nightclub went crazy and isn’t letting anyone in.
The Fix: Find the .htaccess file in the main folder. Rename it to .htaccess_old. Try to load your site. If it works, go to your WordPress dashboard, navigate to “Settings” -> “Permalinks,” and just click “Save Changes” without touching anything. This generates a fresh, clean .htaccess file.
The One Time I Call My Host First
There’s one error that’s different: “Error establishing a database connection.” If you see this, my advice is don’t waste your time. Nine times out of ten, it’s a problem with your hosting server. Call them or open a support ticket. It’s the fastest way.
And remember, once everything is back to normal, edit the `wp-config.php` file again and set the `WP_DEBUG` line back to `false` to turn off forensic mode.


