Every WordPress site owner meets one of these errors eventually. The site was fine yesterday. Today it shows a scary message — or nothing at all. The good news: WordPress errors are predictable. Each message points at one specific part of your website, and once you know which part, the fix is usually short.

Quick answer: most WordPress errors are caused by the last thing that changed — a plugin update, a theme update, or a new install. Undo that change first. If you can't reach your dashboard, connect over FTP or your hosting file manager and rename the newest plugin's folder inside wp-content/plugins. In most cases, the site comes straight back. The sections below cover each major error one by one.

3D wrench repair icon

1. How to Fix the 500 Internal Server Error

The 500 internal server error means your server tried to load the page and gave up. It doesn't tell you why — which is what makes it frustrating. In practice, three causes explain almost every case.

  1. Reset the .htaccess file. Over FTP, rename .htaccess to .htaccess-old and reload your site. Working again? Go to Settings → Permalinks and click Save to generate a clean file.
  2. Raise the PHP memory limit. A server that runs out of memory often answers with a 500. See the memory section below for the exact line to add.
  3. Deactivate all plugins at once. Rename the wp-content/plugins folder to plugins-off. If the site loads, rename it back and switch plugins off one by one until you find the broken one.

If none of that works, the server error log will name the exact file that's failing — your host can show it to you, or we can pull it for you in minutes.

2. "Error Establishing a Database Connection"

WordPress keeps all your posts, pages, products and settings in a database. This error means WordPress knocked on the database's door and nobody answered. There are three usual reasons:

  • Wrong login details. Open wp-config.php and check DB_NAME, DB_USER, DB_PASSWORD and DB_HOST against what your hosting panel shows. Even one wrong character breaks the connection.
  • The database server is down. On shared hosting this happens when a neighbour's site overloads the machine. Ask your host to confirm MySQL/MariaDB is running.
  • A corrupted database. Add define('WP_ALLOW_REPAIR', true); to wp-config.php, visit yoursite.com/wp-admin/maint/repair.php, run the repair, then remove that line — the repair page needs no login, so it must not stay open.

If this error comes and goes during busy hours, your database is being throttled. That's a hosting capacity problem, and a move to a dedicated VPS fixes it permanently.

3D database cylinder icon

3. Blank Homepage or "There Has Been a Critical Error"

A completely white page — the famous white screen of death — or the newer message "There has been a critical error on this website" both mean the same thing: a fatal PHP error stopped the page from loading. Something in your code crashed, usually a plugin or theme.

  1. Check your email. Modern WordPress emails the admin address a link to open the site in recovery mode, with the failing plugin or theme named in the message.
  2. Turn on debugging. In wp-config.php, set WP_DEBUG and WP_DEBUG_LOG to true, reload the broken page, and read wp-content/debug.log. The last lines name the exact file and line that failed.
  3. Deactivate the culprit. Rename that plugin's folder, or switch to a default theme like Twenty Twenty-Four by renaming your theme's folder. The site returns instantly.

Fatal errors right after a WordPress update usually mean an old plugin isn't compatible with the new version. Our guide on plugin and theme conflicts shows how to prove which one it is without guessing.

4. "Allowed Memory Size Exhausted" — Increase PHP Memory

This error means a page needed more memory than PHP was allowed to use. Big imports, page builders and WooCommerce reports are common triggers. The fix takes one line. Open wp-config.php and add this just above the line that says "That's all, stop editing":

define('WP_MEMORY_LIMIT', '256M');

Still seeing the error? Then your hosting sets a lower ceiling in php.ini, and no WordPress setting can go above it. Raise memory_limit there — or ask your host's support to do it. 256M comfortably runs almost every store; if a site needs more than 512M, something is leaking memory and needs a proper look rather than a bigger limit.

The homepage works, but every post and page shows "404 Not Found"? That's almost never missing content — it's broken permalinks. WordPress rewrites pretty URLs using rules stored in .htaccess (Apache) or the server config (NGINX), and when those rules break, every inner URL 404s.

  1. Go to Settings → Permalinks and click Save Changes without changing anything. This rebuilds the rewrite rules and fixes the majority of cases.
  2. On NGINX servers, confirm the config contains the standard try_files $uri $uri/ /index.php?$args; rule — without it, saving permalinks does nothing.
  3. If only some URLs 404 after a migration, the site is probably mixing old and new URL structures. Set up 301 redirects from the old pattern so visitors and Google land on the right pages.
3D speedometer gauge icon

6. "Connection Timed Out" and Slow-Death Errors

When a page spins forever and finally shows "Connection Timed Out", the server didn't fail — it just couldn't finish in time. It's a symptom of overload: too little memory, a heavy plugin, an overworked shared server, or an external API call that never answers.

  • Raise memory and execution limits — a quick relief valve, but not the cure.
  • Find the slow query or plugin — a profiler like Query Monitor shows exactly which one eats the seconds.
  • Fix the hosting layer — caching, PHP 8, and moving off crowded shared hosting. Our speed optimization guide walks through the full checklist.

When to Stop Guessing and Get It Fixed

You can fix WordPress errors yourself with the steps above — and for a hobby site, you should try. But if the site earns money, every hour it's down costs more than the repair. That's exactly what we do at WordPressFix: identify and troubleshoot WordPress issues, fix critical errors, repair database connections, and get you back online — usually the same day, without touching your design or content.

Start the HELLO FIX live chat in the bottom-left corner of this page, answer five quick questions, and our team gets your details instantly. Or email hello@wordpressfix.org with the error message and your URL.

WordPress Error FAQs

What is the fastest way to fix a WordPress error?

Undo the last change. Most WordPress errors appear right after a plugin update, a theme update, or a new install. Roll that change back — or deactivate the newest plugin over FTP by renaming its folder — and the site usually comes straight back. Then investigate the real cause on a staging copy.

How do I fix a 500 internal server error in WordPress?

Check three things in order: rename the .htaccess file and re-save permalinks, raise the PHP memory limit in wp-config.php, and deactivate plugins by renaming the plugins folder over FTP. One of those three fixes resolves most 500 errors. If not, the server error log will name the exact file that is failing.

Why does my WordPress site say "Error establishing a database connection"?

Either the database login details in wp-config.php are wrong, the database server (MySQL/MariaDB) has crashed or is overloaded, or the database itself is corrupted. Verify DB_NAME, DB_USER, DB_PASSWORD and DB_HOST first, then ask your host to confirm the database service is running, then run the built-in WordPress repair tool.

How do I increase the PHP memory limit in WordPress?

Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php just above the line that says "That's all, stop editing". If the error continues, the real limit is set by the host in php.ini — raise memory_limit there or ask support to do it. 256M is enough for almost every WooCommerce store.

Can you fix my WordPress website for me?

Yes. WordPressFix repairs WordPress errors, bugs and broken websites 24/7 — 500 errors, database connection failures, fatal errors, login problems and more. Open the HELLO FIX live chat in the bottom-left corner or email hello@wordpressfix.org, and most repairs are finished the same day.

Your error, our problem — starting now.

Open the HELLO FIX chat in the bottom-left corner, or email us the error message and your URL. We diagnose first, quote flat, and fix WordPress errors the same day.