Error 503 often appears intermittently. If you want to monitor the website and receive information about service availability by email or through other channels, consider using the add-on service EWM ⧉.
In this article you will learn:
Error 503: Service temporarily unavailable
You can recognize Error 503 by the large Service Temporarily Unavailable message at the top of the page. Under the heading, you will find an English description of the error and a link to this article.

You may encounter Error 503 Service Temporarily Unavailable on any website that uses PHP or similar technologies to function. The server is running at full capacity, yet it does not respond to new requests. The cause of the problem is usually the reaching of limits of some webhosting parameters.
Resolving Error 503
Every Webhosting NoLimit ⧉ has up to 25 PHP processes reserved on our server (7 for LowCost ⧉, 30 for Extra ⧉) that can run simultaneously. This means that at any given moment the processor can handle at most the given number of PHP requests. Requests that the processor cannot handle in time due to their time requirements are queued and wait until they are processed. If they do not get a free PHP process within the given time period (called a timeout), they return Error 503.
Under normal circumstances, 25 PHP processes are enough – if you have properly optimized pages, you will not encounter this problem.
Error 503 is most often caused by:
- an ongoing attack on the webserver,
- poor optimization of the website or database,
- insufficient service performance,
- a stuck PHP process.
Attack on the webserver
A common cause of Error 503 is attacks or other forms of overwhelming your website with requests that exhaust processes and block real users from accessing the website. In this situation, the error typically appears intermittently and lasts from a few minutes to dozens of minutes.
You can detect this problem by enabling logging according to the instructions in Webhosting – Logging, for both Accesslog and Errorlog.
- In the Accesslog, you will find a list of accesses to your website, including specific addresses. Nonsensical addresses or parameters (in the address after the ? character) are a common sign of an attack.
- In the Errorlog, you will find the times when Error 503 occurred. If these times match traffic spikes in the Accesslog caused by suspicious activity, the error was most likely caused by an attack.
WEDOS offers effective protection against attacks – the WEDOS Protection ⧉ service. If you are experiencing frequent occurrences of Error 503 due to attacks, consider deploying this protection.
Website and database optimization
If the website is not optimized, even normal traffic can often lead to overload, as can inefficient work with external resources or the database. The error appears intermittently, either during traffic peaks or during automatic maintenance; it lasts from a few minutes to dozens of minutes.
Common causes of Error 503 and their solutions include:
- Improperly optimized PHP application: The application does not send its requests to the processor efficiently. If you use a content management system, find out whether it supports so-called caching. If so, enable it. This will significantly shorten script execution time, reduce the number of SQL queries to the database, and speed up your pages. More information can be found in the article Webhosting – Cache and proxy.
- Large number of records in the database: The application records visitor accesses in the database or similarly extensive data files. Consider which data you really need and adapt either the application or the hosting accordingly.
- Unsuitable database configuration: The application has improperly configured database tables. PHP then waits a very long time for the results of SQL queries.
- The PHP application connects to an unavailable external source: The application downloads external data, but it is not possible to connect to the target server, it does not respond, or it is overloaded. If you encounter this problem frequently, consider changing the source of external data.
- A script called by cron runs too long: If you have a large number of crons, or if crons run for a long time, they can block PHP processes available for your website. Think about which crons the application really needs, how often, and how you can optimize them.
- File downloads mediated through a PHP script: The application mediates the download of large files using a PHP script, thereby occupying a PHP process for the entire duration of the download. Therefore, it is better to handle file downloads by linking or redirecting directly to the file URL.
- Large number of files in an unsuitable directory structure: The application contains more than thousands of items in a single directory. Sort the files into suitable directories.
Error 503 therefore does not have to be related to current traffic or changes on the website at all. You will often encounter loading of data from a slow or unavailable external source, or a cron job that is loading, updating, maintaining, and similar tasks for a long time. A larger number of complex requests may also occur at random, typically searches in extensive databases.
Increasing service performance
If you cannot find a way to optimize the website, you can adapt the service performance to its requests. Consider these options:
- Change of Webhosting plan: You can upgrade the Webhosting plan from LowCost to NoLimit, or from NoLimit to Extra. You can find a comparison of plan performance at this link ⧉. Instructions for changing the plan can be found in the article Webhosting – Change plan.
- Change of service: If your application does not have enough shared webhosting performance, but you do not want to lose management in the customer administration, consider moving the application to the WMS ⧉ service.
- Separation of aliases and subdomains. Aliases and subdomains of webhosting share service performance. If traffic on one or more aliases or subdomains causes Error 503, consider setting up a separate hosting for the given domain or subdomain.
Stuck PHP process
Rarely, Error 503 can also be caused by a stuck PHP process. If you observe Error 503 continuously for several tens of minutes to hours and even clearing the cache does not help (for example with the keyboard shortcut Ctrl+Shift+R), restart PHP on your hosting.
During PHP version changes, PHP errors may occur due to incompatibility of the website with the temporarily selected PHP version.
Proceed with these steps:
- Log in to the customer administration ⧉.
- In the top menu, select Hosting services Webhosting.
- Select the webhosting for which you want to restart PHP.
- In the left menu, select PHP configuration.
- Change the PHP version to another one, ideally as close as possible (e.g. PHP 7.4 7.3, or 8.0 8.1)
- Click the Edit button.
- Wait half an hour for the PHP version change to take effect. Then, in the same way, switch back to the original version.
If error 503 persists even after such a restart, it is likely caused by another issue rather than a stuck process.

Frequently asked questions
Is Error 503 specific to WEDOS servers?
You can encounter error 503 on any web server. When looking for suitable hosting for your application, first familiarize yourself with its requirements and then adjust your search accordingly. In addition to available space for files and databases, pay attention to the RAM and CPU parameters. Keep in mind that service price goes hand in hand with performance.
I took the entire website offline, but I still see Error 503. What is causing it?
Try clearing your browser cache (for example with the keyboard shortcut Ctrl+Shift+R). If that does not help, try restarting PHP according to the procedure in the chapter Stuck PHP process.