How to Fix the Hostinger 503 Service Unavailable Error
A 503 on Hostinger is almost always resource exhaustion. Diagnose PHP workers, memory, plugins and bot floods, and know when to upgrade.
Live:Hostinger's 48-month pricing is down to$2.99/mo— free domain + SSL included.
See the dealA blank WordPress page is almost always a hidden fatal PHP error. Turn on WP_DEBUG, raise the memory limit, disable plugins and restore from a backup.
A white screen is not a broken site. It is a site that stopped executing before it produced any output. PHP hit a fatal error, and WordPress is configured not to display errors to visitors — which is the correct setting for a live site, and also the reason you cannot see what went wrong.
The fix always has two parts: make the error visible, then fix what it names. If you skip the first part you will be reinstalling things at random, which is how a ten-minute problem becomes an evening.
Never start by reinstalling WordPress. The error message tells you which file failed, and in most cases it names a plugin. You lose nothing by looking first and a great deal by guessing.
Edit wp-config.php in the file manager in hPanel. Look for the WP_DEBUG
line and set it to true. If the line does not exist, add it above the line that
says to stop editing.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
Reload the site. Instead of a blank page you will get a fatal error message naming a file and a line number. That message is the whole diagnosis.
Two cautions:
WP_DEBUG_DISPLAY on permanently. On a busy site the
constant writing to a log file adds load, and on a small plan that is
measurable.If you cannot get the site to load even with debugging on, check the error log in hPanel instead. Hostinger keeps per-site error logs, and a fatal error is written there whether or not display is enabled.
The message tells you what you need. A few patterns:
| Error message | What it means |
|---|---|
Allowed memory size of X bytes exhausted |
PHP memory limit reached |
Call to undefined function |
A plugin needs a PHP extension that is not enabled, or an update failed midway |
Cannot redeclare function |
Two plugins define the same function |
Maximum execution time exceeded |
A request is looping or waiting on an external call |
Parse error: syntax error |
A file was corrupted, usually by a partial upload or a bad edit |
Failed opening required file |
A plugin or theme file is missing |
If the message says memory was exhausted, the fix is a limit change, not a plugin change. In hPanel, open the website’s management area and find the PHP configuration section. Raise the memory limit within the plan maximum.
| Plan | PHP memory limit | PHP workers | Backups |
|---|---|---|---|
| Premium | 1,536 MB | 40 | Weekly |
| Unlimited | 2,048 MB | 60 | Daily + easy restore |
| Cloud Startup | 3,072 MB | 100 | Daily + on-demand |
| Cloud Professional | 6,144 MB | 200 | Daily + on-demand |
You can also set a limit from wp-config.php, but the server-side maximum wins.
Setting 512 MB in a config file when the plan allows 1,536 MB does not raise
anything; the lower value applies.
If you are already at the plan maximum and still exhausting memory, the plugin causing it needs to go, or the plan needs to change. A single page that needs more than 1,536 MB is not a WordPress page — it is a plugin doing something it should not.
You cannot reach the WordPress admin if the site is white-screening, so you cannot deactivate plugins from the dashboard. Use the file manager instead.
wp-content.plugins folder to something like plugins-disabled.WordPress looks for plugins in wp-content/plugins. When the folder is not
there, it finds no plugins and boots without them. If the site loads, the cause
is a plugin.
To find which one, rename the folder back and then rename individual plugin folders one at a time, reloading between each. Start with the plugin you updated most recently — updates cause most of these.
Some themes also run plugin-like code, and a corrupted theme produces the same
symptom. Rename the active theme folder inside wp-content/themes. WordPress
will fall back to a default theme, and if the site loads you have found the
culprit.
A plugin that was written for an older PHP release can throw a fatal error on a newer one, and vice versa. If you changed the PHP version recently and the white screen appeared at the same time, that is your answer.
In hPanel’s PHP configuration area, set the version back to what it was and reload. If the site returns, the plugin needs updating before you move the PHP version forward again.
This is the one case where rolling back is the right first move rather than diagnosing further. Get the site up, then plan the upgrade.
If the site is blank with no plugins and a default theme, the WordPress core itself may be damaged — usually by a partial upload, a failed update, or a file permission problem.
Download a fresh copy of WordPress, then upload the wp-admin and wp-includes
folders and the files in the root directory, overwriting what is there. Do not
overwrite wp-config.php and do not touch wp-content — your uploads, themes
and plugins live there.
Check file permissions afterwards. Directories should generally be writable by the owner and not world-writable, and files should not be executable unless they need to be.
When you cannot identify the cause and the site needs to be live, restore.
This is where your plan matters, and it is the point people discover too late:
Find the backup area in hPanel’s file or website management section, select a restore point, and restore. Then re-apply any changes made since.
The upgrade from Premium to Unlimited costs $1/mo more on the 48-month term and changes backups from weekly to daily. If you run anything that takes orders, that dollar is the cheapest insurance on the whole pricing page.
WP_DEBUG and read the actual error.wp-content/plugins to disable everything at once.WP_DEBUG off when the site is working.If the symptom is a 503 rather than a blank page, the 503 error guide covers resource exhaustion, which is a different problem with a different fix. If the page shows a database error, start with the database connection guide. And if the site loads but slowly, work through the performance checklist. For what changes between tiers, the Unlimited plan breakdown and the full pricing comparison are the quickest reference.
Enable WP_DEBUG to reveal the error
Edit wp-config.php in the file manager and set WP_DEBUG to true. WordPress will print the fatal error instead of hiding it. Turn it back off once you have the message.
Read the error and note the file it names
The message names the file and line where execution stopped. That usually identifies the plugin, theme or core file responsible.
Raise the PHP memory limit
In the site's PHP configuration area in hPanel, raise the memory limit within the plan maximum — 1,536 MB on Premium, 2,048 MB on Unlimited, 3,072 MB on Cloud Startup.
Deactivate all plugins via the file manager
Rename the wp-content/plugins folder. WordPress deactivates every plugin at once and falls back to a default theme. If the site loads, the cause is a plugin.
Switch to a default theme
If the site is still blank with plugins disabled, rename the active theme folder so WordPress falls back to a default theme.
Replace corrupted core files
If the site is still blank with no plugins and a default theme, re-upload a fresh copy of the WordPress core files, keeping wp-content and wp-config.php.
Restore from a backup if nothing else works
Hostinger Premium includes weekly backups, while Unlimited and above include daily backups with one-click restore. Restore the most recent good copy and re-apply recent changes.
Priya Nair
Ecommerce & WordPress editor
Priya builds WooCommerce stores for independent brands and covers WordPress tooling, checkout performance and email deliverability.
Last updated
HostScope tests hosting hands-on and publishes the renewal prices, resource limits and limitations that most review sites leave out. Read ourtesting methodologyandeditorial policy.
A 503 on Hostinger is almost always resource exhaustion. Diagnose PHP workers, memory, plugins and bot floods, and know when to upgrade.
Why WordPress loses its database on Hostinger and how to fix it: credentials, user permissions, host name, size limits, corrupted tables and phpMyAdmin repair.
Twelve fixes for a slow Hostinger site, in priority order, from the built-in CDN and LiteSpeed Cache to PHP version, images, database bloat and plan limits.
Six reasons a Hostinger SSL certificate fails, from provisioning delays and DNS mismatches to Cloudflare proxy conflicts, mixed content and a stale site URL.