How to Fix the 504 Gateway Timeout Error on Your WordPress Site

    The 504 Gateway Timeout error is one of the most common HTTP 5xx errors faced by website owners and site visitors. For many WordPress blogs and eCommerce platforms, knowing how to fix server errors like this is crucial to keep their hard-earned visitors from bouncing to competitor sites.

    As the 504 Gateway Timeout error doesn’t tell you why it occurred, it’s hard to pinpoint what’s causing the server timeout. This article will help you understand it in-depth, learn how to diagnose its cause, and then fix it.

    After trying all the various solutions mentioned in the post, your site should be up and running in no time.

    Sounds interesting? Let’s dive in!


    What Is the 504 Gateway Timeout Error?

    Every time you visit a website in your browser, the browser sends a request to the webserver where the site is hosted. The server processes the request and responds with the requested resources.

    Illustration of how HTTP requests and responses work

    How HTTP requests and responses work

    The server response includes one of many HTTP status codes to indicate the status of the response to the browser. But not all these HTTP status codes are errors. For instance, a 200 OK status code means that the server processed the request successfully, and “Everything is OK.”

    The 5xx class of HTTP status codes indicates that something’s wrong with the server, the server is aware about it, and it cannot carry out the client request. As a result, they’re also referred to as Server Error 5xx status codes.

    Officially, five status codes are specified under the 5xx class (500, 501, 502, 503, 504). You may come upon many unofficial codes too (506, 507, 509, 520, etc.).

    The Internet Engineering Task Force (IETF) defines the 504 Gateway Timeout error as:

    The 504 (Gateway Timeout) status code indicates that the server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request.

    To simplify it further, this error occurs when two servers are involved in processing a request, and the first server (typically the main server) times out waiting for a response from the second server (upstream server).

    The 504 Gateway Timeout error manifests itself in various forms. Here are some ways it usually shows up:

    The HTTP ERROR 504 in Chrome browser

    The ‘HTTP ERROR 504’ in Chrome browser

    The 504 Gateway Timeout error is similar to the 502 Bad Gateway error, which indicates that the first server received an invalid response from the second server (upstream server).

    504 GATEWAY TIMEOUT status code in Chrome DevTools

    The ‘504 GATEWAY TIMEOUT’ status code in Chrome DevTools

    Variations of the 504 Gateway Timeout Error

    The browser displays any 504 Gateway Timeout error inside it, just like any other error. As there exist a variety of operating systems, web servers, browsers, and user agents, it can show up in multiple ways.

    Below are a few common 504 error message variations that you may run into:

    • 504 Gateway Timeout
    • 504 Gateway Timeout NGINX
    • NGINX 504 Gateway Timeout
    • Gateway Timeout Error
    • Error 504
    • HTTP Error 504
    • HTTP Error 504 — Gateway Timeout
    • HTTP 504
    • 504 Error
    • Gateway Timeout (504)
    • This page isn’t working — Domain took too long to respond
    • 504 Gateway Time-out — The server didn’t respond in time
    • A blank white screen

    All the above error responses, though worded differently, point to the same 504 Gateway Timeout server error.

    Web servers and websites can customize how they show the 504 Gateway Timeout error to users. Some of them can be cool! It’s an excellent tactic to quell their visitors’ disappointment.

    GitHub’s customized HTTP 504 error page

    SEO Impact of the 504 Gateway Timeout Error

    All 5xx errors prevent a webpage from loading, making them detrimental to user experience. Hence, search engines like Google take these errors seriously. If the error persists for a long duration, it may even lead to deindexing the webpage from the search engine results.

    For example, when Google spiders stumble upon a 503 Service Unavailable error, they’ll understand that it’s a temporary issue as it’s mostly used to enable site maintenance mode. Thus, they’ll try to crawl the page again later.

    A 504 Gateway Timeout error isn’t necessarily temporary as it can be due to multiple reasons. If your site is down for just a few minutes, and if the spiders are trying to crawl it multiple times every minute, they’ll try to serve the page from their cache.  They wouldn’t even notice it.

    But if your site is down for 6+ hours or more, then Google will consider the 504 error as a serious site-wide issue that you need to fix as soon as possible. This can impact your SEO negatively.

    Viewing the crawl errors in Google Search Console

    Viewing the crawl errors in Google Search Console

    Google Search Console is one of the best SEO tools to monitor your website’s HTTP 5xx errors.

    Causes of the 504 Gateway Timeout Error

    As the 504 error is due to a timeout between servers, the problem probably isn’t with the client’s device or internet connection. That also includes your device and connection.

    A 504 Gateway Timeout error indicates that the webserver is waiting too long for a response from another server and “timing out.” There can be many reasons for this timeout: the other server is not functioning properly, it’s overloaded, or it’s down.

    The other server needs not always be an external server (e.g. CDN, API gateway). It can also be a server-like entity within the main web server (e.g. reverse proxy server, database server).

    How to Fix the 504 Gateway Timeout Error

    Without knowing exact details about the WordPress site such as its server configuration, hosting plan, third-party plugins, and the traffic it attracts, you may find it frustrating and overwhelming to fix a 504 Gateway Timeout error.

    Since many variables are involved, I recommend you to start by fixing client-side issues, which are pretty rare, and then move towards fixing server-side problems, which are usually the culprits with 504 errors.

    Try Reloading the Webpage

    One of the first things you can try when encountering a 504 Gateway Timeout error is to wait a few minutes and try reloading the page.

    You can press the F5 keyboard shortcut to refresh/reload the webpage in most browsers. To remove the page’s browser cache before reloading, you can press the CTRL+F5 shortcut combo instead.

    Refreshing a webpage in Chrome browser

    Refreshing a webpage in Chrome browser

    While you’re at it, you can also try loading the site in a different browser to rule that out as an issue. As most 504 errors are due to temporarily overloaded servers, using this solution should make your site come right back.

    If waiting and reloading the site doesn’t fix the 504 error issue, you can check whether a site is down for everyone or just you. The two great online tools to test a site for downtime are Down for Everyone or Just Me and Is It Down Right Now?

    Testing on Down for Everyone or Just Me

    Testing on Down for Everyone or Just Me

    Reboot Your Network Devices

    Sometimes, problems with your network devices like modem or router could lead to a 504 Gateway Timeout error. Rebooting these devices could help you with fixing the problem.

    While you can switch off all these networking devices in any order, the order in which you switch them back on is important. Typically, turn these devices on from the “outside-in,” following the connection order from the internet service provider to your main client device.

    Check Your Proxy Settings

    A proxy server sits between your device and the internet. It’s mostly used to enhance online privacy by hiding private information (e.g. device location) from websites and webservers (e.g. using a VPN).

    While it’s rare for proxy servers to cause a 504 error, incorrect proxy server settings can sometimes be the reason. You can disable the proxy server and try reloading the webpage to see whether it’ll fix the error.

    Changing the ‘Proxy’ settings in Windows 10

    Changing the ‘Proxy’ settings in Windows 10

    Most clients don’t use a proxy service, so you can skip this step if you’re confident that you don’t use any proxy server. However, you might have set it without you even knowing about it. I’d suggest you check your device’s and browser’s proxy settings to rule this cause out.

    DNS Issues

    A 504 Gateway Timeout error can also be caused by DNS issues on the server-side or the client-side (or both).

    The most probable reason for a server-side DNS issue is the FQDN (fully qualified domain name) not resolving to the correct IP address. Usually, this occurs when you’ve just migrated your WordPress site to a new server or host. Hence, it’s important to wait for the domain’s DNS records to propagate fully, which can take up to 24 hours.

    You can use free tools like DNS Checker or DNSMap to see if your DNS has propagated around the globe.

    Checking DNS propagation for your domain on

    Checking DNS propagation for your domain on

    For fixing client-side DNS issues, you could try flushing your local DNS cache. It’s like clearing your browser cache, except here you’re flushing the DNS cache from the operating system.

    If you’re using Windows, you can flush the DNS cache by opening the Command Prompt and entering the following directive:

    ipconfig /flushdns

    Flushing the DNS Cache with Command Prompt

    Flushing the DNS Cache with Command Prompt in Windows

    You should see a “Successfully flushed the DNS resolver Cache.” message if it worked.

    For the latest macOS versions, you can open the Terminal and run the following command:

    sudo killall -HUP mDNSResponder

    You won’t see any notification in macOS when the process finishes, but you can change that by appending the command with your custom message.

    sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

    If you’re using older macOS versions, the command you need to enter varies based on which version of macOS you’re running. For more details, you can refer to the macOS section in Kinsta’s in-depth flush DNS tutorial.

    If you’re using the Linux operating system, then the process is quite similar to macOS as even Linux uses the Terminal as its command-line interface. Since there exist many distributions of Linux, the exact command you need to run may vary from one distro to another. Finally, you can change your client-side DNS servers temporarily. By default, your ISP assigns the DNS servers automatically to you. But you can change these to public DNS IPs temporarily.

    Some reliable ones that you can try out are Google Public DNS, Cloudflare, Quad9 DNS, and Cisco OpenDNS.

    Settings custom DNS servers in Windows 10

    Settings custom DNS servers in Windows 10

    Disable Your Site’s CDN Temporarily

    Sometimes, the issue could also be with your content delivery network (CDN). If a site’s origin server isn’t reachable, most CDNs will try to serve the full webpage from their cache.

    But most CDNs don’t enable this feature by default as it’s complex to cache dynamic assets on most sites (e.g. the WordPress admin dashboard).

    Setting the ‘Cache Everything’ page rule in Cloudflare

    Setting the ‘Cache Everything’ page rule in Cloudflare

    A straightforward way to troubleshoot this is to disable your CDN temporarily. For example, if you’re using the free CDN Enabler WordPress plugin to link your site assets to the CDN URLs, then you can deactivate the plugin and test reloading your site.

    The same goes for using any other plugin you may use to connect to your CDN (e.g. WP Rocket, Breeze, W3 Total Cache).

    If you can’t access your site’s admin dashboard, you can disable the plugin via SFTP by renaming the plugin’s folder name.

    Disable all plugins via SFTP by renaming the plugins folder name

    Disable all plugins via SFTP by renaming the plugins folder name

    CDNs like Cloudflare or Sucuri which provide full proxy services have extra firewalls between their edge servers and your origin server. Hence, you may encounter HTTP 5xx errors more frequently while using them. Most of them cache 5xx errors returned by your origin server, so it’s easy to troubleshoot them.

    Cloudflare’s free plan is prone to throw up a 5xx error. Unfortunately, since it’s a full proxy service, there’s no quick way to disable it. But before you blame Cloudflare for it, know that Cloudflare shows two variations of the 504 Gateway Timeout error.

    504 Gateway Timeout at Cloudflare (Variation 1)

    Cloudflare will show you a custom 504 Gateway Timeout error screen when your site’s origin server responds with a standard HTTP 504 response.

    Cloudflare’s custom Error 504 screen

    Cloudflare’s custom Error 504 screen

    Here, the issue lies with your web server and not Cloudflare. You can try fixing it with the other solutions mentioned below or contact your hosting provider’s support for technical help.

    504 Gateway Timeout at Cloudflare (Variation 2)

    If Cloudflare causes the 504 Gateway Timeout error, the error screen will mention “Cloudflare,” which is currently the standard server name for all Cloudflare assets. Usually, the error screen will appear as below:

    504 Gateway Timeout error caused by Cloudflare

    Error screen for 504 Gateway Timeout caused by Cloudflare

    Since Cloudflare itself is unresponsive, you’ll not see any Cloudflare-branded error screen here.

    Most likely, Cloudflare is already aware of the issue and is working on a fix already. You can confirm this by checking the Cloudflare System Status webpage. Alternatively, you can get in touch with Cloudflare support for a quicker resolution.

    Check Cloudflare System Status at

    Check Cloudflare System Status at

    504 Gateway Timeout at Cloudflare Due to Large Uploads

    The size of your uploads to your site can also be a reason for the server timeouts. Cloudflare limits upload file size (per HTTP POST request) to just 100 MB on both Free and Pro plans.

    Cloudflare’s ‘Maximum Upload Size’ limits for various plans

    Cloudflare’s ‘Maximum Upload Size’ limits for various plans

    The issue can be on your host’s end or with Cloudflare. You can find out the exact cause by bypassing Cloudflare with your DNS hosts file and trying your upload again.

    If you’re using Cloudflare with WordPress, I recommend you to use their free plugin and exclude critical URLs from caching (such as the WordPress admin dashboard). You can refer to Kinsta’s detailed post on how to configure Cloudflare settings for WordPress.


    Server Issues (Check With Your Host)

    Server issues are one of the most common reasons for facing a 504 Gateway Timeout error. Since most WordPress sites are hosted on Nginx or Apache webservers, it means that Nginx or Apache is waiting for a response from something and timing out.

    Many clients come to Kinsta for exactly this problem they’re facing at other WordPress hosts. The conversation goes something like this:

    We’re getting around 100k visitors per month with more than 200k views. Currently, we’re hosting with ____ and we experience 504 errors constantly due to server overload. I don’t like how ____ handled the problem, and we were also advised that we will have to move to their dedicated plans soon, which I believe is not necessary.

    High-traffic and ecommerce sites are more prone to getting 504 errors because of server overload as they generate a lot of uncacheable requests. However, this issue can crop with any site, including simple blogs. Many hosts will ask you to upgrade to a high-tier plan to fix the issue, which in most cases is unnecessary.

    Kinsta uses LXD managed hosts and orchestrated LXC software containers for each site. Thus, every WordPress site is housed in its own isolated container with access to all the software required to run it (Linux, Nginx, PHP, MySQL). The resources are 100% private and aren’t shared with any other site, even your sites.

    Most WordPress hosts providing shared hosting plans don’t have this capability. Hence, a high-traffic site hosted on the same server as yours may cause your site to throw up a 504 error too.

    Apart from isolating each site in its container, Kinsta has also designed its infrastructure to easily handle thousands of concurrent connections. Kinsta even hosts the MySQL databases at the localhost, not a remote server. This means no latency between machines, resulting in faster queries and fewer chances of timeouts occurring.


    A 212.5% increase in performance after switching to C2.

    A 212.5% increase in performance after switching to C2.

    An overloaded server isn’t the only cause for a server timeout. There can be many other reasons for the 504 error:

    Slow Server Infrastructure

    The server you use to host your WordPress site may not have enough resources to handle the load. It’s like playing a modern, graphics-intensive videogame on a decade-old PC.

    The server just hangs up trying to serve the website. The only solution to this problem is to upgrade to a server with better infrastructure. For this reason, even Kinsta’s most basic WordPress hosting plan will handle a static site with medium traffic.

    Needs More PHP Workers

    PHP workers are used to executing the code on your WordPress site. An eCommerce site that gets 50,000 visitors per month needs a lot more resources than a simple blog with the same amount of traffic. If all the server’s PHP workers are busy, they’ll build up a queue.

    When the queue gets too big, the server disregards old requests, which may cause the server to throw up a 504 gateway error. You can ask your host about increasing your number of PHP workers. This’ll allow your site to execute multiple requests simultaneously.

    Firewall Issues

    Your server’s firewall could have some errors or an improper configuration. Perhaps, a few of its rules prevent the server from establishing a connection properly. To know if your firewall is the culprit, you can check your server’s error logs.

    Network Connectivity Problems

    Connectivity issues between the proxy server and the webserver could cause delays in responding to HTTP requests. If you use a load balancer, there could also be network connectivity issues with it.

    HTTP Timeouts

    HTTP timeouts can occur when a connection between the web server and the client is kept open for too long. With WordPress sites, this usually happens when running WordPress imports. One way to resolve this issue is to switch to a faster internet connection.

    You can also use a tool with support for WP-CLI to run the scripts directly on the server, bypassing the HTTP connection entirely. For instance, you can use the wp import WP-CLI command to run the WordPress Importer plugin directly through the command-line interface.

    Important: 504 Gateway Timeout errors look similar to 503 Service Unavailable errors or 502 Bad Gateway errors. But they’re all different. If you’re experiencing a 504 error at Kinsta, open a support ticket to get your issue fixed immediately.

    For monitoring your site’s downtime on your own, you can use a tool like It’ll check your website’s status (or any URL) periodically by sending an HTTP request to it. You can set the check frequency from 15 seconds to 1 hour. If your website isn’t responding correctly, it’ll notify you with an email or an SMS.

    Monitor your website with

    Monitor your website easily with

    You’ll get a generous quantity of free credits with every account of, but if you’re looking for cheaper alternatives, you can check out WebGazer or UptimeRobot. Both these tools will help you monitor your site’s uptime every 5 minutes, for free. That’s decent enough for most website owners.

    WebGazer website monitoring tool's dashboard

    WebGazer website monitoring tool’s dashboard

    Monitoring your website will give you an idea of how often it’s down. This is especially helpful if you’re using a shared hosting provider. Most managed WordPress hosts take care of this automatically for you, hence it’s always recommended going with them.

    For a detailed explanation, check out Kinsta’s post on the importance of managed WordPress hosting.

    Spam, Bots, or DDoS Attacks

    Malicious attackers can bring your webserver to a crawl by sending too many requests, or by sending resource-intensive requests. If your site is getting spammed by bots or undergoing a DDoS attack, it can overwhelm your server and result in 504 Gateway Timeout errors for many genuine users.

    You can look at your server traffic and analytics to see if you can spot any irregular patterns in the site traffic. If you’re using Kinsta to host your site, you can view this data easily by going to your MyKinsta Analytics dashboard.

    MyKinsta Analytics dashboard

    MyKinsta Analytics dashboard

    Start your investigation by looking at the top client IPs. It’ll give you an idea of who is generating the maximum number of requests, and from where. If your server suddenly uses up enormous bandwidth or attracts a lot of traffic, then this report will come in super handy.

    Viewing ‘Top Client IPs’ in MyKinsta dashboard

    Viewing ‘Top Client IPs’ in MyKinsta dashboard

    Next, you can check out the Cache Analysis report. Here, you can see how many requests are bypassing or missing the cache, or being served from the cache. For performance and stability reasons, you want to cache as many requests as possible, but it’s not always possible to achieve that.

    For example, WooCommerce sites generate a lot of uncacheable requests for features such as the shopping cart and the checkout process.

    The ‘Cache Analysis’ screen in MyKinsta

    The ‘Cache Analysis’ screen in MyKinsta

    Finally, you can use a WordPress security plugin to beef up your website’s security by spotting and blocking worrisome traffic/IPs. You can ask your host to block certain IPs too.

    Struggling with downtime and WordPress issues? Kinsta is the hosting solution designed with performance and security in mind!

    Depending upon the length and scale of the attack, this could be a never-ending process of blacklisting IPs as many attackers change their IPs and proxy addresses after getting blocked.

    Note: Kinsta doesn’t allow its clients to install WordPress security plugins as they can have a huge effect on the site’s performance, especially its scanning capabilities. As Kinsta uses load balancers with Google Cloud Platform, blocking IPs wouldn’t always work as intended.

    You can use dedicated security solutions such as Cloudflare or Sucuri to protect your sites from DDoS attacks and spambots. For more, you can check out Kinsta’s articles on how to install Cloudflare on your WordPress site and how Sucuri helped stop a DDoS attack in its tracks.

    Corrupted WordPress Database

    Sometimes, a 504 Gateway Timeout error can be because of a corrupt database, especially in WordPress sites. Typically, this is due to corrupted database tables or files. Sometimes, it can also be caused by a serious security issue like your site or database being hacked.

    Repairing a corrupted WordPress database depends on the problem. Plugins like WP-DBManager make it easy to diagnose database issues and repair them. I recommend you to read Kinsta’s detailed walkthrough on repairing WordPress database issues to get started.

    Check Your Site’s Plugins and Themes

    In most cases, third-party plugins and themes don’t cause 504 errors. But there’s a slight chance that they might cause server timeouts, usually by queuing up a lot of uncached requests generated by the plugin/theme. As this ties up a lot of your server’s PHP workers, it can cause 504 errors.

    A great example of this issue is WooCommerce, which is a plugin installed to add eCommerce functionality to WordPress sites.

    The simplest way you can troubleshoot this problem is by deactivating all your plugins. Remember, you won’t lose any data if you just deactivate a plugin.

    If you can access your admin dashboard, you can go to the Plugins screen, select Deactivate from the bulk actions menu, checkmark all the plugins, and then hit the Apply button. This will disable all of your plugins.

    Deactivate plugins in WordPress

    Deactivating all the WordPress plugins through WP admin dashboard

    If you can’t access your admin area, then you can disable plugins via SFTP using the method described before. Just rename the main plugin folder name to disable all the plugins in bulk.

    Once you’ve deactivated all the plugins, check whether your site loads properly. If it works, then you must activate each plugin one by one, testing the site after enabling every plugin.

    Finally, make sure that your plugins, themes, and WordPress core are up to date. Also, ensure that your server is running the recommended version of PHP.

    If you feel this to be too overwhelming, you can always reach out to your host for help. Kinsta uses New Relic and other troubleshooting techniques to help clients narrow down what plugin, query, or script might cause the error.

    In the worst-case scenarios, like an inefficient query or bad code in a plugin/theme, you can bring in a WordPress developer to fix the issue.

    Check Error Logs

    Viewing error logs can be very helpful when troubleshooting and debugging 504 errors on your WordPress site. This can help you narrow down an issue on your site quickly, especially if it’s resulting from a demanding plugin on your site.

    If you’re a Kinsta customer, you can easily see errors in the log viewer in your MyKinsta dashboard.

    Checking error logs inside MyKinsta dashboard

    Checking error logs inside MyKinsta dashboard

    If your host doesn’t have a logging tool, then you can enable WordPress debug mode by adding the following code to your wp-config.php file:

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

    The WP_DEBUG constant enables or disables the WordPress debug mode. It has two optional companion constants that can extend its features. The WP_DEBUG_LOG constant direct all errors to be saved to a debug.log file within the /wp-content/ directory. If you don’t see this file, you can always create one.

    The WP_DEBUG_DISPLAY constant controls whether debug logs show up on the HTML page. Setting this to false will hide all errors, but you can review the errors later as you’ve also defined WP_DEBUG_LOG as true.

    Important: If you have WP_DEBUG enabled in the Kinsta environment, it’ll route all errors to the debug.log file and not the error.log in the MyKinsta dashboard.

    You can also download the raw WordPress error log files via SFTP. Typically, you can find error logs in your server’s root directory in a folder named “logs.”

    Accessing the WordPress error logs folder via SFTP

    Accessing the WordPress error logs folder via SFTP

    Kinsta users can also enable WordPress to ug mode from their MyKinsta dashboard. To do that, navigate to Sites > Tools > WordPress Debugging and click the Enable button. This will allow you to see PHP errors and notices without having to enable debug mode via SSH or SFTP.

    Lastly, you can check the server log files. Depending on which server you’re using to host your WordPress site, they’re commonly found in these locations:

    • Apache: /var/log/apache2/error.log/
    • Nginx: /var/log/nginx/error.log/


    Configure Apache or Nginx Settings Properly

    You can edit your server config files to increase resource limits for specific directives. This can help you resolve the 504 Gateway Timeout error.

    For Apache Webservers

    First, add the following code to your httpd.conf:

    TimeOut 600

    This setting defines how long the server will wait for certain requests before marking it as a network timeout issue. Its default value is 60 seconds (Apache 2.4 version).

    You can only add this directive in your httpd.conf file, not in your .htaccess file. Since most shared hosting providers don’t allow you to modify the httpd.conf file, you can try increasing the value of the LimitRequestBody directive in your .htaccess file instead.

    Then add the following line to your php.ini file:

    max_execution_time 300

    The default value of PHP’s max_execution_time directive is 30 seconds. Increasing it will allow your site’s PHP scripts to run longer.

    For Nginx Webservers

    If you’re running your WordPress sites on Nginx + FastCGI Process Manager (PHP-FPM) or using Nginx as a reverse proxy for Apache, you can tweak the server settings to help prevent 504 Gateway Timeout errors.

    504 Gateway Timeout Error on Nginx + FastCGI (PHP-FPM)

    First, you must edit your PHP-FPM pool config file. You can find it at the /etc/php7.4/fpm/pool.d/www.conf location in your Nginx server (exact path may vary based on PHP version). Alternately, you can run the following command in your terminal to edit the PHP-FPM pool config file:

    sudo nano /etc/php/7.2/fpm/pool.d/www.conf

    Next, set the following directive:

    request_terminate_timeout = 300

    After this, you must edit your php.ini file. You can locate it at /etc/php.ini. Open the file and add/change the value for the max_execution_time directive to 300 seconds.

    max_execution_time = 300

    Finally, add the following code to your nginx.conf file’s location block:

    location ~ .php$ {
    fastcgi_read_timeout 300;

    Reload Nginx and PHP-FPM for the changes to take effect.

    sudo service nginx reload
    sudo service php7.4-fpm reload

    The exact code to reload PHP-FPM will vary based on the PHP version installed on your server. Test your site to see whether it has fixed the issue.

    504 Gateway Timeout Error on Nginx Proxy

    If you’re using Nginx as a reverse proxy server for Apache, then you can make it more lenient towards server timeouts by adding the following directives to your nginx.conf file:

    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
    send_timeout 600;

    Don’t forget to reload Nginx after making your changes.

    sudo service nginx reload

    Other HTTP Errors Like 504 Gateway Timeout

    As mentioned earlier in the article, there are many other HTTP 5xx errors that are just like the 504 Gateway Timeout error. It’s because of the fact that they all happen on the server-side. These errors include:

    • 500 Internal Server Error
    • 501 Not Implemented Error
    • 502 Bad Gateway Error
    • 503 Service Unavailable Error

    Other HTTP errors caused due to client-side issues, like the 404 Not Found error, are also like the 504 error. You can refer to Kinsta’s detailed guide and list of HTTP status codes for more information.



    Your WordPress site can be affected by the 504 Gateway Timeout error because of multiple reasons. In this article, you learned how to troubleshoot them all. Typically, these errors are caused due to server-side issues, in which case you can reach out to your host and get it resolved quickly.

    However, you must also understand that this error may be caused because of third-party plugins, themes, services, inefficient database queries, or a combination of two or more of these. If you’re maxing out your server’s resources (e.g. PHP workers), it’s recommended to optimize your site for performance.

    If you still find that your website is timing out, then it might very well be that you need to upgrade your hosting plan or the number of PHP workers. I recommend you to consider this option only after you’ve exhausted all the other solutions described in this article.


    Recent Articles

    Related Stories

    Stay on op - Ge the daily news in your inbox