An error on your WordPress site rarely arrives at a good moment. A customer messages to say the page will not open, or you log in to change a price and get a line of grey text instead of the dashboard. The message itself is usually short, often cryptic, and sometimes not even an error message at all, just a blank page or a spinner that never stops.
This page maps the common WordPress errors, grouped by where they show up, with a plain explanation of each and a link to a longer guide or to the page where we explain how we fix it. Use it to work out what you are dealing with and when to hand it over.
Before anything else: an error, a hack, or the host?
Most WordPress errors come from one of three places. The first is the site itself: a plugin, the theme or a piece of custom code that has stopped working, very often right after an update. The second is the server: PHP settings, memory, the database service or the hosting account. The third is less common but needs a different response: someone has broken in and changed files.
The fixes for these are not interchangeable. Rolling back a plugin will not help if the database server is down, and clearing a cache will not remove injected code. If the site is redirecting visitors to pages you do not recognise, showing content you did not write, or you find admin users you never created, stop reading here and go to our hacked website repair page instead. Everything below assumes the problem is a fault, not an attack.
If you want the longer story of why sites built on plugins and themes tend to break in the first place, why WordPress websites keep breaking covers the usual patterns: delayed updates, overlapping plugins, overloaded shared hosting and PHP changes made by the host.
The first five minutes: safe checks anyone can do
None of these steps changes anything on the server, so they cannot make things worse.
- Copy the exact error text. Select it and paste it into a note, or take a screenshot that shows the whole browser window including the address bar.
- Check from another device and network. Open the site on your phone using mobile data, not office Wi-Fi. If it works there, the problem may be your browser cache, your network or a local DNS issue rather than the site.
- Open a private or incognito window. This rules out stale cookies and cached files.
- Note what changed recently. An update, a new plugin, a theme edit, a hosting renewal, a PHP change in the control panel, a DNS or domain change. Write down the time if you know it.
- Check your admin email inbox. When a plugin or theme causes a fatal error, WordPress usually sends the site’s admin address an email with a recovery mode link. It can let you into the dashboard with the faulty plugin paused.
Things that are not safe to do in a panic: deleting plugins you cannot reactivate, restoring an old backup over a live store that has taken new orders since, editing wp-config.php without a copy of the original, or running “one-click fix” tools you do not understand. If you are going to change any file or the database, take a full backup first, files and database both, and keep it somewhere other than the server.
Site down and server errors
These are the errors where visitors cannot see the site at all. If your site is down right now and you need someone to look at it, our emergency help for a WordPress site that is down page explains what to send us and what we do first.
“There has been a critical error on this website”
This is the friendly face WordPress puts on a PHP fatal error. The cause is nearly always a plugin or theme that crashed, often after an update or a PHP version change. The recovery mode email is your best first step. If it never arrived, the error log will name the file that failed. Our critical error fix page explains how we trace it and get the site back.
The white screen
A completely blank page, with no message, is an older version of the same problem: PHP stopped and nothing was printed. The article on why sites keep breaking, linked near the top of this page, covers it in detail, and the debug log described further down will usually name the file that stopped.
“Error establishing a database connection”
WordPress cannot reach its database. Usually the database details in wp-config.php no longer match (after a password change or a move), the database server is overloaded or down, or a table is damaged. It affects every page at once, including the admin. See fixing the database connection error.
500 Internal Server Error
A general “something failed on the server” response. Common causes are a broken .htaccess file, a PHP fatal error that the host shows as a 500 instead of the WordPress message, or a memory limit being hit. The host’s error log usually says which. Our 500 error repair service covers the full approach.
502, 503 and 504 errors
These three are related but not the same. A 502 Bad Gateway means one server got a bad answer from another, a 503 means the server is refusing requests for now (overload or maintenance), and a 504 means it waited too long for an answer. They point at the hosting stack more than at WordPress. What 502, 503 and 504 errors mean explains how to tell them apart.
ERR_CONNECTION_TIMED_OUT
The browser gave up waiting. That can be a server so busy it cannot answer, a firewall blocking your IP address, or DNS pointing somewhere that is not listening. Connection timed out on WordPress walks through each one.
“Allowed memory size of … bytes exhausted”
A PHP process ran out of the memory it was allowed. Raising WP_MEMORY_LIMIT can help, but only up to the limit the host sets, and a plugin that leaks memory will keep hitting the new ceiling too. Read the memory exhausted error guide before changing values.
“Briefly unavailable for scheduled maintenance”
WordPress puts up this notice while updates run, using a file called .maintenance in the site’s root folder. If an update is interrupted, the file stays and the notice never goes away. Our post on stuck maintenance mode explains how to clear it safely.
403 Forbidden
The server understood the request and refused it. Wrong file or folder permissions, a security plugin rule, a host firewall or a bad line in .htaccess are the usual suspects. The 403 Forbidden error explained goes through them in order.
ERR_TOO_MANY_REDIRECTS
The site keeps sending the browser from one address to another in a circle. Typical causes are a mismatch between the WordPress Address and Site Address settings, an HTTPS rule fighting a CDN or proxy setting, or a redirect plugin. See too many redirects in WordPress.
Admin and login problems
Here the public site may work fine, but you cannot get in or the dashboard misbehaves. If you cannot log in at all and it is not a hack, our help with WordPress login problems page covers how we get you back in without breaking anything else.
The login page just reloads
You enter the right password and land back on the login screen. Cookies, a wrong site URL, caching of the login page or a security plugin are the common causes. The login redirect loop has the step-by-step checks.
“Sorry, you are not allowed to access this page”
WordPress thinks your account does not have permission for that screen. It can follow a plugin removal, a change to user roles, a damaged user record in the database, or a database table prefix that was changed incorrectly. Why WordPress says you are not allowed explains each.
“Are you sure you want to do this?” and “The link you followed has expired”
These come from WordPress security checks called nonces, which expire, and sometimes from an upload that is larger than the server will accept. Plugins that load pages from cache can also trigger them. See the “are you sure you want to do this” error.
A slow dashboard
When the front end is quick but wp-admin crawls, the cause is usually something that only runs in the admin: a heavy plugin dashboard, external calls that time out, or a large options table. Why the WordPress admin is slow covers what to look at. If the whole site slowed down after an update, a site that got slow after an update is the better read.
Media and uploads
Upload problems stop work but rarely take a site down. Most come from server limits or image processing.
- “HTTP error” when uploading an image. A vague message that can mean a timeout, a memory problem during image resizing or a security rule. The HTTP error on image upload goes through the likely causes.
- “exceeds the maximum upload size for this site”. The file is larger than PHP allows. The limit is set on the server, and it can be raised in more than one place. Raising the WordPress upload size limit explains which one to try first.
- A media library that stays blank or keeps spinning. Often a plugin or theme script error in the admin, sometimes a REST API problem. See media library not loading.
- Blurry, stretched or oddly cropped images. Usually the theme is asking for an image size that was never generated, or sizes changed after a theme switch. Wrong image sizes and thumbnails explains regenerating them.
Editors, page builders and layout
This family covers the editing screen breaking, and pages that load but look wrong.
Elementor will not load or save
The editor sticks on its loading screen, widgets disappear or the panel goes grey. Memory, plugin conflicts and version mismatches between Elementor and its add-ons are common causes. Our Elementor repair service covers the fix side, and Elementor’s “preview could not be loaded” explains that specific message.
Divi, WPBakery, Beaver Builder and other builders
Each builder has its quirks, but the pattern is similar: an update leaves layouts broken or the editor unusable. See page builder problem fixing.
The block editor (Gutenberg) misbehaving
A blank editor, blocks marked “This block contains unexpected or invalid content”, or a site stuck between classic and block editing. Common block editor problems explains what each one means.
“Updating failed. The response is not a valid JSON response.”
The editor tried to save and got something back that was not the data it expected. Permalinks, a security rule blocking the request, or a PHP notice mixed into the response are the usual reasons. See the invalid JSON response error.
The page loads but the content is missing
Header and footer appear, but the middle is empty. A builder that failed to render, a shortcode from a removed plugin or a template problem is likely. Pages that load with blank content covers it.
Layout or styling suddenly broken
Everything stacks in one column, fonts change, menus turn into plain lists. Usually the CSS files are not loading, because of a caching or minify plugin, a mixed HTTP/HTTPS setup or a theme update. Our broken layout repair page covers desktop layouts, and fixing a site that looks wrong on phones deals with problems that only show on mobile and tablets.
Icons showing as squares, fonts not loading
Icon fonts and web fonts are often blocked by a cross-origin (CORS) rule after a move to a CDN or a new domain, or simply fail to load from a cached path. See missing fonts and icons.
Your edits are not appearing
You saved the page, but visitors still see the old version. There are often several caches in the way: your browser, a caching plugin, the host and a CDN. Why WordPress changes are not showing explains clearing them in the right order.
WooCommerce, payments and email
A store that cannot take orders loses money every hour, so we treat these as urgent. For ongoing store care rather than a one-off fault, see our WooCommerce support page.
Checkout not working
The Place Order button does nothing, the page spins, or an error appears in red above the form. JavaScript conflicts, caching of checkout pages and payment plugin problems are common. Our WooCommerce checkout repair page explains how we test and fix it without disturbing real orders.
Payment gateway errors
Razorpay, PayU, PayPal, Stripe and other gateways can fail at the payment step, or take the money while the order stays “Pending payment” because a webhook or callback never reached the site. See fixing payment gateway errors.
Orders missing or stuck
Orders that do not appear in the admin, order emails that never arrive and statuses that never move on are covered in WooCommerce orders not showing.
The cart empties itself
Products vanish from the cart on the next page. Session handling and full-page caching of cart pages are the usual causes. See the empty cart problem.
Wrong tax or shipping at checkout
Usually a settings issue: shipping zones in the wrong order, missing shipping classes, or tax rates (including GST setups in India) that do not match the customer’s address. Wrong tax and shipping in WooCommerce explains where to look.
Emails not sending
WordPress sends mail through the server by default, and many hosts and inboxes do not trust that. Order emails, form notifications and password resets go missing or land in spam. Our post on why WordPress is not sending emails explains the do-it-yourself route, and our email delivery fix service covers SMTP and DNS setup when you want it done for you. If the form itself fails before any email is involved, read contact form not working.
Updates, PHP and migration
Many WordPress errors start with a change: an update, a PHP switch or a move.
The site broke after an update
One update, or a batch of them, and now the site shows an error or looks wrong. The usual route back is rolling back the one component responsible. See our help for a site broken after an update. For how to run updates so this happens less, read updating core, plugins and themes in a safe order.
Two plugins that do not get along
A plugin conflict is when two pieces of code each work alone but break together, or a plugin clashes with the theme. Finding the culprit means switching things off one at a time, ideally on a copy of the site. Our plugin conflict troubleshooting page explains how we do it on live business sites. A plugin whose developer has gone quiet is a common source; see what to do about an abandoned plugin.
PHP version changes
Hosts retire old PHP versions, and older themes and plugins can fail on newer ones. Updating the PHP version WordPress runs on explains the checks to make first. If code is already breaking, or you want the upgrade handled end to end, see our PHP upgrade and compatibility service.
“Parse error: syntax error, unexpected …”
Someone edited a PHP file, often functions.php, and left a missing bracket or semicolon. The message names the file and line. Fixing it means editing the file over FTP or the file manager, since the dashboard is usually unreachable. See fixing a parse or syntax error.
“Cannot modify header information – headers already sent”
Some output, often a blank line or space before <?php or after a closing tag, was printed before WordPress could send its headers. The warning names the file that started the output. The headers already sent warning explains reading it.
Plugin or theme install errors
“Destination folder already exists”, “The package could not be installed” and similar messages appear when an earlier install left files behind or the server cannot write to the folder. See plugin and theme installation errors.
Failed automatic updates
WordPress emails the admin address when a background update fails, and sometimes when it succeeds. Failed automatic updates and those emails explains which ones need action.
Errors after moving host or domain
Broken images, login loops, database errors and 404s are common right after a migration, usually because something still points at the old address or old server. Fixing errors after a migration goes through them. If you are planning a move, our WordPress migration service is designed to avoid them.
Every page except the home page shows 404
This almost always means the rewrite rules are missing, often after a move or an .htaccess change. Saving the Permalinks settings screen is the first thing to try. See permalink 404 errors. If old URLs stopped working after a redesign instead, read 404s after a website redesign, and for links that point nowhere, finding and fixing broken links.
Scheduled posts and tasks not running
Posts marked “Missed schedule”, reminders that never send and backups that never run usually trace back to WP-Cron. When WordPress cron is not running explains why.
A backup that will not restore
Restores fail more often than people expect, usually on size limits or mismatched paths. When a WordPress backup restore fails covers the common reasons.
Tools for diagnosing any WordPress error
These turn a vague symptom into a specific cause, and they shorten any conversation with a developer.
- Debug mode. Setting
WP_DEBUGandWP_DEBUG_LOGto true inwp-config.phpmakes WordPress record errors. On a live site, keepWP_DEBUG_DISPLAYfalse so visitors do not see them. Turning on WordPress debug mode safely explains the lines to add and when to turn them off. - Error logs. WordPress writes to
wp-content/debug.logwhen logging is on, and your host keeps its own PHP and web server logs. How to find and read the error log shows what a useful line looks like. - Site Health. Under Tools, Site Health lists problems WordPress can detect itself. Some warnings matter a lot, others very little. The Site Health screen explained sorts them.
- cURL errors. Messages like “cURL error 28” or “cURL error 60” mean your server could not complete a connection to another server, usually because of a timeout or an SSL certificate problem. See cURL errors in WordPress.
- REST API errors. “The REST API encountered an error” in Site Health often explains why the block editor or other admin screens fail. The REST API error in Site Health covers it.
- A staging copy. A private copy of the site where you can switch plugins off and test updates without visitors seeing. Read what a staging site is for.
Finally, how to report a website problem to a developer helps you describe what happened so the fix can start sooner.
When to stop and get help
Plenty of WordPress errors can be fixed by a careful owner. Some cannot, or should not be tried on a live business site. Stop and get help when:
- the site or store has been down long enough that you are losing enquiries or orders;
- you cannot reach wp-admin and do not have FTP, file manager or database access;
- the fix involves editing
wp-config.php,.htaccessor the database and you have no recent backup; - the error keeps coming back after you clear it;
- there is any sign the site may have been hacked;
- it is a client’s site and you cannot afford to experiment.
If that is where you are, send us a message on WhatsApp or through the contact form with the exact error text or a screenshot, the site address, and what changed before it started. We look at the site, tell you honestly what we see and when we can start, and take a backup before touching anything. Where the problem allows, we work on a staging copy rather than the live site, and afterwards we explain what was wrong in plain language. A site that is down or a store that cannot take orders is treated as urgent.
For one-off faults, our bug fixing service is the usual route. If your site breaks often enough that you are reading this page more than once a year, ongoing WordPress support or our website maintenance plans are built to catch problems before visitors do.
A note for businesses in India and abroad
We are based near Kolkata and work in Indian time (IST). WordPress errors are the same everywhere, and we work with owners in India as well as in the USA, the UK and Europe. For clients outside India, payment is by PayPal or Wise. The time difference can help: work that needs the site quiet can often happen while your visitors are asleep.
All WordPress error guides
- WordPress Too Many Redirects: Fix the Loop
- WordPress Memory Exhausted Error: Causes and Fixes
- WordPress “Sorry, You Are Not Allowed” Error Fixed
- WordPress 403 Forbidden Error: Causes and Fixes
- WordPress 502, 503 and 504 Errors Explained
- WordPress Connection Timed Out: What It Means
- “Are You Sure You Want to Do This?” WordPress Error
- WordPress HTTP Error When Uploading Images: How to Fix It
- WordPress Maximum Upload Size: How to Raise It Safely
- WordPress Media Library Not Loading? Causes and Fixes
- WordPress Images Blurry or Cropped? Fixing Image Sizes
- WordPress Login Redirect Loop: Why the Login Page Reloads
- WordPress Admin Slow but the Site Is Fast? Here Is Why
- Cannot Modify Header Information in WordPress: The Fix
- Destination Folder Already Exists: Fix WordPress Installs
- WordPress Automatic Update Failed? Read the Email First
- WordPress cURL Error 28 and 60: What They Mean
- The REST API Encountered an Error: WordPress Fix
- Updating Failed: Not a Valid JSON Response in WordPress
- WordPress Debug Mode: Turn On WP_DEBUG Safely
- How to Find and Read a WordPress Error Log
- Elementor “Preview Could Not Be Loaded”: How to Fix It
- Gutenberg Editor Problems: Blank Editor, Invalid Blocks
- WooCommerce Orders Not Showing? Where They Go and Why
- WooCommerce Cart Empty After Adding Products? Fix It
- WooCommerce Tax or Shipping Wrong at Checkout? Fix It
- WordPress Pages 404 but Homepage Works? Fix Permalinks
- WordPress Changes Not Showing? Clear the Right Cache
- WordPress Page Content Not Showing? Causes and Fixes
- WordPress Icons Showing as Squares or Fonts Missing
- WordPress Errors After Migration: What Broke and Why
- How to Report a Website Problem to a Developer
- WordPress Site Health Explained: Which Warnings Matter
- WordPress Parse Error (Syntax Error, Unexpected) Fix