Common WP errors and what they mean

Most WP errors point to one broken thing. Get your site back by hand first. Then add the free plugin: next time, its chat finds the cause.

Is your site down right now?

  1. Copy the exact words on the screen. Write down what you changed last: an update, a new plugin, a setting.
  2. Open the file manager in your host's control panel, then wp-content/plugins. Add -off to the folder of the plugin you changed last.
  3. Seeing “Error establishing a database connection”? Open wp-config.php in your site's main folder. Check DB_NAME, DB_USER, DB_PASSWORD and DB_HOST against your host's database page.
  4. Stuck on “Briefly unavailable for scheduled maintenance”? Delete the file named .maintenance in your site's main folder, then reload.
  5. Still down? Ask your host to check your site's error log. Tell them when it broke and what you changed last.

CMSHands can't be installed into a site that won't load. These steps come first.

A person approves every repair. Install it before anything breaks.

Install it before it breaks

Needs WP 6.3 to 7.1 and PHP 8.0 or newer. What it installs

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

Plugins are installed from a computer. Get the plugin here instead

  • No account, no password to share

What it means

A WP error means code on your site, or the server under it, hit a problem it can't get past. So part of a page, or all of it, stops.

  • A plugin update with a bug, or one that clashes with another plugin or your theme.
  • A wrong database name, user or password in wp-config.php, or a database server that's down.
  • An update that stopped halfway and left its .maintenance file behind.
  • Your site ran out of memory, because a plugin or page needs more than it was given.
  • Your host moved to a newer PHP version (the language WP runs on; your host sets its version), and an older plugin can't run on it.
  • The two site addresses in Settings › General disagree, so visitors get sent around in a loop.
  • A file upload bigger than your host allows, or a form left open too long.

How to tell which error you have

The words on screen are your best clue. Copy them exactly before you change anything.

Some errors stop every page, your dashboard too (the screens you log in to at yoursite.com/wp-admin). Others break one page, or one button.

Then ask what changed last. Did it start right after an update, a new plugin or a host change? That change is the first thing to undo.

Can you still log in? Open Tools › Site Health. Its Status tab lists problems WP found, and Info shows your PHP version and memory limit.

The errors you'll see most

“There has been a critical error on this website.”

Code in a plugin, your theme or WP itself crashed, so WP stopped. Rename the plugin's folder in wp-content/plugins to switch it off. Our page on the critical error walks through each cause.

On our test site (a WP site we run to try every task before we write about it), we broke a plugin on purpose. CMSHands read the error log and switched the plugin off once a person at CMSHands approved it. Watch that site come back.

That only works on a site that had CMSHands before it broke. Tried on our test sites; hosts differ.

“Error establishing a database connection”

WP can't reach the database that holds your posts and settings, so every page shows this one line. Your posts are still there.

Most often the login details in wp-config.php no longer match your database, say after a move or a password change. Sometimes your host's database server is down.

Open wp-config.php and compare DB_NAME, DB_USER, DB_PASSWORD and DB_HOST with the database page in your host's control panel. If they match, ask your host whether the database server is running.

We broke this one on our test site on Oct 14, 2026, with a wrong password in wp-config.php. A person at CMSHands approved the fix, and CMSHands put back the copy of that file from before the change. The site loaded again 10 minutes after CMSHands saw it was down. See that fix. That only works on sites that had CMSHands before they broke.

“Briefly unavailable for scheduled maintenance. Check back in a minute.”

WP shows this while it updates. It puts a file named .maintenance in your site's main folder and deletes it when the update ends.

If the update stopped halfway, the file stays behind. Delete .maintenance with the file manager. Then run the update that stopped once more, from Dashboard › Updates.

WP stops showing this message 10 minutes after the file was made. If it lasts longer, ask your host to check your error log. Our page on a site stuck in maintenance has more.

A blank white page

Some hosts show a white page with no words when code crashes. Treat it like the critical error: read the error log, then switch off the plugin you changed last.

“Allowed memory size of … bytes exhausted”

A plugin or page needed more memory than WP was given. Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php, above the line with “That's all, stop editing!”.

Your host may set a lower cap than that. If the error stays, ask them to raise it.

500 Internal Server Error

Your server sent this, not WP. A broken .htaccess file in your site's main folder is a common cause. Rename it to .htaccess-off and reload.

If the site loads, open Settings › Permalinks and press Save Changes. WP writes a fresh .htaccess file for you.

Too many redirects

Your browser says the page “redirected you too many times”. Most often, WordPress Address (URL) and Site Address (URL) in Settings › General disagree, say one with https and one without.

Can't log in to fix them? Add define( 'WP_HOME', 'https://yoursite.com' ); and define( 'WP_SITEURL', 'https://yoursite.com' ); to wp-config.php, with your own address.

“The link you followed has expired.”

WP shows this when an upload is bigger than your host allows, or a form sat open too long. Reload the page and try again. For big files, ask your host to raise the upload limit.

“Sorry, you are not allowed to access this page.”

Your user account doesn't have the role that screen needs, or a plugin moved the screen. Ask the person who runs your site, or switch off the plugin you added last.

When the words don't help

Read the error log

You can ask WP to write every error to a file. Open wp-config.php and, above the line with “That's all, stop editing!”, add these 3 lines:

define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

Reload the broken page. Then open wp-content/debug.log and find the last line that starts with “PHP Fatal error”. The folder after plugins or themes in its file path is what crashed.

When you're done, set WP_DEBUG back to false. Anyone who guesses the log's address can read it.

Undo the last change

Most errors start right after a change. Switch off the plugin you changed last, or put back the wp-config.php you edited.

With CMSHands on a site that still loads, you can ask the chat to switch a plugin off, and undo switches it back on. For plugins from the WP plugin directory, you can also ask it to go back to the version that worked.

How to stop errors coming back

Update one plugin at a time, and open your site after each one. If it breaks, you know which update did it.

When CMSHands updates a plugin for you, it checks your site after, and the old version goes back on its own if the site got worse. That's for plugins from the WP plugin directory, not premium ones. On our test site, we broke a Contact Form 7 update on purpose, and 6.1.7 went back after the check with no extra press. See that update.

Keep the Administration Email Address in Settings › General on an inbox you read. That's where WP sends word of a crash.

Ask for a health report now and then. Ours on the test site answered in 7.6 seconds and changed nothing.

Next time

On a site that had CMSHands before it broke, a crash is reported at once. It finds the cause, and a person at CMSHands approves the fix.
  • While your site loads, ask “What are the errors on my site?” and it lists the errors in your log.
  • Send a screenshot of an error and ask what it means. It reads JPEG, PNG, GIF and WebP pictures.
  • When a site that had CMSHands crashes, it reads the error log to find the cause.
More it does here (2)
  • We prepare the fix, and a person at CMSHands approves it before it runs. Tried on our test sites; hosts differ.
  • It checks once a day on the free plan, at once on a crash, and says in plain English what broke.

Why it won't wreck your site

  • A person checks every repair. When your site is down you can't reach the chat, so a person at CMSHands approves the fix before it runs.
  • It checks your pages after the fix. It loads your home page, login, dashboard and a post again before it calls the repair done.

What it won't do here

  • It can't be installed into a site that is already down.A plugin needs a working dashboard to install. Get your site back with the steps above first, then add it before anything else breaks.
  • A person approves every repairNothing in a repair runs until a person at CMSHands has checked it. It doesn't fix things alone overnight.
  • It can't fix your host or change your PHP versionA server that's down, your PHP version, your domain and your email belong to your host. Ask them about those.
  • It doesn't clean up a hacked siteIf someone broke in and changed your files, ask your host or a security company for help.

Questions

What are the most common WordPress errors?

The critical error, “Error establishing a database connection”, a site stuck in maintenance, a memory error, a 500 server error and too many redirects. Most start right after a change: an update, a new plugin, a host move or a new PHP version. Undo that change first.

How do I fix WordPress errors?

Copy the exact words on screen, then undo your last change. Rename the folder of the plugin you changed last in wp-content/plugins, or put back the wp-config.php you edited. Can't tell what changed? Turn on the error log and read its last “PHP Fatal error” line. It names the file that failed.

Is there a WordPress error checker?

Yes, WP has one built in. Log in and open Tools › Site Health: its Status tab lists problems WP found. For crashes, turn on WP_DEBUG_LOG and read wp-content/debug.log. With CMSHands on your site, you can also ask the chat “What are the errors on my site?”

What does an HTTP error mean?

It's a number your server sends in place of the page. 500 means the server failed, often from a crash or a broken .htaccess file. 503 means it's busy or in maintenance. 404 means the page isn't there. The number tells you where to look first.

Can CMSHands fix an error on my site right now?

Not if your site is already down without it. A plugin can't be installed into a site that won't load, so get it back with the steps above first. With CMSHands on your site, the next crash is reported at once. It finds the cause, and a person at CMSHands approves the fix. Tried on our test sites; hosts differ.

Written by CMSHands team.

Be ready for the next one

  • A person approves every repair
  • No account, no password to share
Install it before it breaks