{"id":22635,"date":"2026-08-28T13:27:29","date_gmt":"2026-08-28T11:27:29","guid":{"rendered":"https:\/\/www.curiaweb.ch\/?post_type=docs&#038;p=22635"},"modified":"2026-08-28T13:27:30","modified_gmt":"2026-08-28T11:27:30","password":"","slug":"website-unreachable","status":"publish","type":"docs","link":"https:\/\/www.curiaweb.ch\/en\/hilfe\/webhosting-cpanel\/website-nicht-erreichbar\/","title":{"rendered":"Website unreachable: systematically diagnosing hosting errors"},"content":{"rendered":"<p class=\"wp-block-paragraph\">If your website suddenly becomes unreachable, it can have very different causes. Examples include DNS problems, incorrect domain assignment, SSL issues, PHP errors, a faulty <code>.htaccess<\/code>, WordPress issues, or reached resource limits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, the crucial thing is not to change settings immediately, but first to determine, <strong>at which technical level the error occurs<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide walks you through the most important checks in CURIAWEB web hosting step by step and helps you narrow down the cause.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> \u201eWebsite not reachable\u201c is initially just the visible symptom. Note the exact error message before you make any changes to DNS, PHP, WordPress, or your hosting.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">What does \u201ewebsite not reachable\u201c actually mean?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To visitors, many technical problems look similar: the desired website is not displayed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Technically, however, completely different errors could be behind this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Domain not resolving\n        \u2193\nDNS problem\n\nDomain points to wrong server\n        \u2193\nDNS\/configuration problem\n\nHTTPS connection fails\n        \u2193\nSSL\/certificate problem\n\n403 Forbidden\n        \u2193\nAccess denied\n\n404 Not Found\n        \u2193\nResource not found\n\n500 Internal Server Error\n        \u2193\nServer-side processing fails\n\n503 Service Unavailable\n        \u2193\nService temporarily unavailable\n\n508 Resource Limit Is Reached\n        \u2193\nCloudLinux resource limit reached<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That is why we do not begin the diagnosis with a repair, but with an assessment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Note down the exact error message<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open the website and note down exactly what is displayed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Server not found\n\nDNS_PROBE_FINISHED_NXDOMAIN\n\nERR_NAME_NOT_RESOLVED\n\nERR_CONNECTION_TIMED_OUT\n\nERR_CONNECTION_REFUSED\n\nERR_TOO_MANY_REDIRECTS\n\n403 Forbidden\n\n404 Not Found\n\n500 Internal Server Error\n\n503 Service Unavailable\n\n508 Resource Limit Is Reached<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should not simply summarize a certificate warning as \u201ewebsite offline\u201c either.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The more precise the report, the faster the cause can be narrowed down.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Note the affected URL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Also note the complete URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/example.ch\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.example.ch\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/shop.example.ch\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is important because it's the main domain, <code>www<\/code>-hostname and subdomains can use different DNS records or configurations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Check if the entire website is affected<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Test several areas of the website.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:\/\/example.ch\/\nhttps:\/\/example.ch\/kontakt\/\nhttps:\/\/example.ch\/wp-admin\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Is no URL reachable at all?<\/li>\n\n\n\n<li>Does the home page work, but a subpage does not?<\/li>\n\n\n\n<li>Does the frontend work, but the admin area does not?<\/li>\n\n\n\n<li>Is only one subdomain affected?<\/li>\n\n\n\n<li>Is only a specific function affected?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If only a single page fails, a complete hosting outage is much less likely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Check if only you are affected<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Test the website in a private browser window and, if possible, also via a different internet connection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A simple comparison might look like this, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WLAN \u2192 Website not reachable\nMobile network \u2192 Website works<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then you should consider that the problem might only affect your connection, your DNS resolver, or your public IP address.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Practical Tip:<\/strong> A mobile network test is particularly useful because it typically gives you a different internet connection and a different public IP address.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">5. Check if cPanel is accessible<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your website is not working, but cPanel is still accessible, you can start troubleshooting right there immediately.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Working cPanel access doesn't prove that the website is configured correctly, but it does show that your hosting account is basically reachable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That helps narrow it down.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Check domain and DNS as the first technical layer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before a website can be accessed, the domain name must be resolved.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplified:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>example.ch\n    \u2193\nDNS\n    \u2193\nIP address\n    \u2193\nWeb server\n    \u2193\nWebsite<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If DNS resolution already fails, the request does not even reach the website.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Typical signs of a DNS problem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Messages such as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DNS_PROBE_FINISHED_NXDOMAIN\n\nERR_NAME_NOT_RESOLVED\n\nServer not found<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">point more toward name resolution than PHP or WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, you shouldn't disable plugins or change PHP settings first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Account for recent DNS changes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If DNS records or nameservers were changed immediately before the problem occurred, this temporal connection is particularly important.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DNS changes cannot become visible everywhere at the same time due to caches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, check:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Have the nameservers been changed?<\/li>\n\n\n\n<li>Has an A or AAAA record been changed?<\/li>\n\n\n\n<li>Has a CNAME been changed?<\/li>\n\n\n\n<li>Has the domain recently been switched to different hosting?<\/li>\n\n\n\n<li>Has a new subdomain been set up?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to control DNS records within cPanel under <a href=\"\/en\/help\/web-hosting-cpanel\/dns-zoneneditor-verwenden\/\">Using the DNS Zone Editor in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Check if cPanel is even responsible for DNS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The DNS zone in your cPanel is only relevant if the domain is actually using the corresponding authoritative nameservers or this DNS infrastructure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If DNS management is handled by an external provider, you must make changes there.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> A change in the cPanel Zone Editor has no effect on public DNS resolution if a different DNS infrastructure is authoritative for the domain.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">9. Check domain mapping in cPanel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the domain points correctly to the hosting server, it must also be set up correctly within the hosting account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Domains \u2192 Domains<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check if the affected domain exists and which document root is being used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the complete instructions at <a href=\"\/en\/help\/web-hosting-cpanel\/add-and-manage-domain\/\">Add and manage a domain in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Check Document Root<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The document root defines the directory from which the web server serves the website for a domain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Domain:\nexample.ch\n\nDocument Root:\n\/public_html\/example\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the actual website is located in a different directory, the domain may deliver incorrect content or no content at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, check whether the configured Document Root actually contains the website files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Check start file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Files \u2192 File Manager<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Change to the document root of the affected domain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check if there is a suitable start file available, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>index.php\nindex.html<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the website files are missing or located in an incorrect subdirectory, the web server cannot serve the expected website correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to use it at <a href=\"\/en\/help\/web-hosting-cpanel\/use-cpanel-file-manager\/\">Use cPanel File Manager<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">12. Check if files have been recently moved or deleted<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the website went down immediately after work in the file manager, check in particular:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Were files moved?<\/li>\n\n\n\n<li>Has a directory been renamed?<\/li>\n\n\n\n<li>Was a <code>index.php<\/code> Deleted?<\/li>\n\n\n\n<li>Was an archive extracted to the wrong directory?<\/li>\n\n\n\n<li>Has the <code>.htaccess<\/code> Changed?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Always start troubleshooting with the most recent change.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">13. Check HTTPS and SSL separately<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the domain is basically reachable, but the browser displays a certificate warning, it is a different error class than a 500 or 503 error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typical notices include, for example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Certificate expired<\/li>\n\n\n\n<li>Certificate does not match the hostname<\/li>\n\n\n\n<li>Certificate is not recognized as trusted<\/li>\n\n\n\n<li>Cannot establish a secure HTTPS connection properly<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, specifically check the SSL configuration and not PHP, WordPress, or CloudLinux on suspicion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test www and domain without www separately<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Test:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/example.ch\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">and<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.example.ch\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If only one variant works, you should check DNS, SSL, and redirects for the affected hostname.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A working main domain does not automatically prove that also <code>www<\/code> correctly configured.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">15. Detect redirection loops<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the browser displays a message like:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ERR_TOO_MANY_REDIRECTS<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">is displayed, the request is repeatedly redirected between URLs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplified:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>URL A \u2192 URL B\n          \u2193\n        URL A\n          \u2193\n        URL B\n          \u2193\n        ...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, check redirects in cPanel, the <code>.htaccess<\/code> and, if applicable, within your web application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to set up cPanel redirects at <a href=\"\/en\/help\/web-hosting-cpanel\/domain-umleitung-einrichten\/\">Set up domain redirection in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">16. Using HTTP status codes as guides<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the domain resolves and the web server returns a specific HTTP error message, you should base your further diagnosis on the status code.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Status<\/th><th>Further diagnosis<\/th><\/tr><\/thead><tbody><tr><td><code>403<\/code><\/td><td>Access rights and security rules<\/td><\/tr><tr><td><code>404<\/code><\/td><td>URL, file, or rewrite\/permalink configuration<\/td><\/tr><tr><td><code>500<\/code><\/td><td>Error log, PHP, application, and .htaccess<\/td><\/tr><tr><td><code>503<\/code><\/td><td>Service, application, processes and resources<\/td><\/tr><tr><td><code>508<\/code><\/td><td>CloudLinux resource limits<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">17. 403 Forbidden<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>403 Forbidden<\/code> means that access to a resource is denied.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typical inspection areas are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>File permissions<\/li>\n\n\n\n<li><code>.htaccess<\/code><\/li>\n\n\n\n<li>IP blocks<\/li>\n\n\n\n<li>ModSecurity<\/li>\n\n\n\n<li>Safety features<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Use this for it <a href=\"\/en\/help\/web-hosting-cpanel\/fehler-403-forbidden-beheben\/\">Fix 403 Forbidden<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">18. 404 Not Found<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>404 Not Found<\/code> basically means that the requested resource was not found.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the homepage works, but individual WordPress pages generate a 404, the permalink or rewrite rules, for example, may be involved.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For WordPress, you can find the appropriate guide under <a href=\"\/en\/help\/wordpress\/wordpress-fehler-404-beheben\/\">Fix WordPress 404 error<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">19. 500 Internal Server Error<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>500 Internal Server Error<\/code> indicates an error in server-side processing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The status code itself does not yet state the cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check in particular:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cPanel Error Log<\/li>\n\n\n\n<li>PHP Fatal Errors<\/li>\n\n\n\n<li><code>.htaccess<\/code><\/li>\n\n\n\n<li>PHP version<\/li>\n\n\n\n<li>PHP extensions<\/li>\n\n\n\n<li>Plugins and Themes<\/li>\n\n\n\n<li>PHP limits<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the complete diagnosis at <a href=\"\/en\/help\/web-hosting-cpanel\/fehler-500-internal-server-error\/\">Fixing a 500 Internal Server Error<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">20. 503 Service Unavailable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>503 Service Unavailable<\/code> means that a service is currently unable to successfully process the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of particular importance in the case of recurring 503 errors are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Error Log<\/li>\n\n\n\n<li>CloudLinux resources<\/li>\n\n\n\n<li>PHP processes<\/li>\n\n\n\n<li>Cron jobs<\/li>\n\n\n\n<li>WordPress and WooCommerce background tasks<\/li>\n\n\n\n<li>Maintenance states<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Use this for it <a href=\"\/en\/help\/web-hosting-cpanel\/error-503-service-unavailable\/\">Fix 503 Service Unavailable<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">21. Resource Limit Is Reached<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a message such as:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>508 Resource Limit Is Reached<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">is displayed, you should investigate the CloudLinux resource usage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the appropriate instructions at <a href=\"\/en\/help\/web-hosting-cpanel\/resource-limit-is-reached\/\">Resource Limit Is Reached: Identify and Fix CloudLinux Limits<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">22. Check cPanel Error Log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the case of server-side errors, the error log is one of the most important diagnostic points.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Measured values \u2192 Errors<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reproduce the error and then compare the timestamp with the latest relevant entries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find our detailed guide at <a href=\"\/en\/help\/web-hosting-cpanel\/read-cpanel-error-log\/\">Read cPanel Error Log and find website errors<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Practical Tip:<\/strong> The newest log entry doesn't automatically have to be related to your problem. Compare the timestamp, URL, file path, and error message with each other.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Use recent changes as a diagnostic aid<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a website used to work, ask yourself:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What was changed immediately before the outage?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress is updating<\/li>\n\n\n\n<li>Plugin updated<\/li>\n\n\n\n<li>Theme changed<\/li>\n\n\n\n<li>PHP version changed<\/li>\n\n\n\n<li><code>.htaccess<\/code> edited<\/li>\n\n\n\n<li>DNS changed<\/li>\n\n\n\n<li>Domain redirected<\/li>\n\n\n\n<li>Files moved<\/li>\n\n\n\n<li>Website migrated<\/li>\n\n\n\n<li>Cron job set up<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A close temporal correlation is often more valuable than a long list of theoretically possible causes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">24. Check .htaccess<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A faulty <code>.htaccess<\/code> can cause various issues, including redirect loops, 403, or 500 errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the problem started immediately after making a change to this file, check that exact change first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to do this safely at <a href=\"\/en\/help\/web-hosting-cpanel\/htaccess-explained-edited\/\">.htaccess explained and safely edited<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">25. Check file permissions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If files or directories are not provided with appropriate permissions, the web server may not be able to access them correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For typical websites, the following values can often be found:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Files:       644\nDirectories: 755<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">However, these values should not be blindly applied to all content.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the complete instructions at <a href=\"\/en\/help\/web-hosting-cpanel\/file-permissions-644-755\/\">How to correctly set file permissions 644 and 755 in cPanel<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Attention:<\/strong> Do not set files and directories globally to <code>777<\/code>, just because the website is not working. That is not clean troubleshooting and can cause security risks.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">26. Check PHP version<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a PHP-based website stops working after a PHP version change, check the version being used and the compatibility of the application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In CURIAWEB, you generally manage the PHP version via:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Software \u2192 MultiPHP Manager<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the instructions under <a href=\"\/en\/help\/web-hosting-cpanel\/change-php-version\/\">Change PHP version in cPanel<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do not switch PHP versions randomly. Check the error log and your application's requirements first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">27. Consider PHP extensions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After a PHP version change or a migration, an application may require functions that are not available in the PHP environment being used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typical error messages include, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Call to undefined function ...\n\nClass ... not found\n\nrequires ext-...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can find more information at <a href=\"\/en\/help\/web-hosting-cpanel\/enable-php-extensions\/\">Enabling and Managing PHP Extensions in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">28. Check PHP limits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If an error occurs only during certain resource-intensive actions, PHP limits may be relevant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples are:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>memory_limit\nupload_max_filesize\npost_max_size\nmax_execution_time\nmax_input_time<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the error log, for example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Allowed memory size exhausted<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">reports, that is a concrete indication of the PHP memory limit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain the settings under <a href=\"\/en\/help\/web-hosting-cpanel\/set-php-limits\/\">Set PHP memory limit, upload size, and execution time<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">29. Controlling CloudLinux Resources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the website is only intermittently unavailable, you should check the resource utilization at the same time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Metrics \u2192 Resource Usage<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check in particular whether faults or conspicuous values are present.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to interpret the data at <a href=\"\/en\/help\/web-hosting-cpanel\/cloudlinux-resource-usage\/\">Understanding CloudLinux Resource Usage in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">30. Check storage space<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A fully occupied hosting account can impair various writing processes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depending on the application, this can include, for example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uploads<\/li>\n\n\n\n<li>Updates<\/li>\n\n\n\n<li>Cache files<\/li>\n\n\n\n<li>temporary files<\/li>\n\n\n\n<li>Logs<\/li>\n\n\n\n<li>Backups<\/li>\n\n\n\n<li>Email storage<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can check the storage space usage under:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Files \u2192 Storage usage<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find more information at <a href=\"\/en\/help\/web-hosting-cpanel\/check-storage-space-and-bandwidth\/\">Check disk space and bandwidth in cPanel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">31. Isolate WordPress as a potential source of errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If other content or domains work in the hosting, but a specific WordPress installation does not, you should investigate the application itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typical areas are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Plugins<\/li>\n\n\n\n<li>Themes<\/li>\n\n\n\n<li>WordPress Core<\/li>\n\n\n\n<li><code>.htaccess<\/code><\/li>\n\n\n\n<li>PHP compatibility<\/li>\n\n\n\n<li>Database<\/li>\n\n\n\n<li>individual code<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">32. WordPress critical error<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When WordPress reports:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>There has been a critical error on your website.<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">there is often a PHP error within WordPress, a plugin, theme, or custom code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use this for it <a href=\"\/en\/help\/wordpress\/wordpress-critical-error-white-screen\/\">Fix WordPress critical error or white screen<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">33. Check WordPress plugins and themes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the problem began immediately after the installation, activation, or update of a plugin or theme, this chronological correlation is important.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check the error log for paths like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/wp-content\/plugins\/...\n\/wp-content\/themes\/...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">We explain the systematic diagnosis at <a href=\"\/en\/help\/wordpress\/wordpress-plugin-theme-conflicts\/\">Identify and resolve WordPress plugin and theme conflicts<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">34. Using WordPress debugging<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the standard error log does not provide enough information, controlled WordPress debug logging can provide additional clues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress can find errors, for example, under:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">log.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We explain the secure setup at <a href=\"\/en\/help\/wordpress\/wordpress-debugging-fehlerprotokolle\/\">Using WordPress debugging and error logs<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">35. Test WordPress login separately<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If only the registration at:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/example.ch\/wp-admin\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">or rather<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/example.ch\/wp-login.php\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">not working, but the public website is accessible, it is not a complete website outage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use in this case <a href=\"\/en\/help\/wordpress\/wordpress-login-is-not-working\/\">WordPress login is not working<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">36. Consider cron jobs and background tasks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the website regularly shows problems at the same time, you should check scheduled processes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Advanced Options \u2192 Cronjobs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compare the time with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cron jobs<\/li>\n\n\n\n<li>Important<\/li>\n\n\n\n<li>Export<\/li>\n\n\n\n<li>Backups<\/li>\n\n\n\n<li>Synchronizations<\/li>\n\n\n\n<li>WordPress background tasks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For problems with a cron job, you can find the appropriate guide under <a href=\"\/en\/help\/web-hosting-cpanel\/cron-job-is-not-working\/\">Cron job not working: Causes and solutions<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Website only temporarily unavailable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For sporadic outages, the exact time is particularly important.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Document multiple events:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>09:14 \u2192 unreachable\n11:37 \u2192 unreachable\n15:02 \u2192 unreachable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then compare these points in time with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Error Log<\/li>\n\n\n\n<li>CloudLinux resources<\/li>\n\n\n\n<li>Cron jobs<\/li>\n\n\n\n<li>Background tasks<\/li>\n\n\n\n<li>unusual traffic<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Without timestamps, sporadic issues are significantly harder to diagnose.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Website always unreachable at the same time<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A recurring time pattern often indicates a planned or regularly occurring process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>02:00 \u2192 Backup\n02:00 \u2192 Import\n02:00 \u2192 Synchronization\n02:01 \u2192 Website not responding<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That doesn't prove yet which process is the cause, but it provides a concrete starting point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">39. Website unreachable after update<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the problem starts immediately after an update, check the updated component first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This applies in particular to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress<\/li>\n\n\n\n<li>Plugins<\/li>\n\n\n\n<li>Themes<\/li>\n\n\n\n<li>PHP version<\/li>\n\n\n\n<li>individual application components<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, check the error log for a matching error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">40. Website not accessible after migration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Following a migration, multiple layers could be the cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check in a logical order:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Domain\n  \u2193\nDNS\n  \u2193\ncorrect server\n  \u2193\ndomain in cPanel\n  \u2193\ndocument root\n  \u2193\nfiles\n  \u2193\nSSL\n  \u2193\nPHP version\n  \u2193\nPHP extensions\n  \u2193\napplication\n  \u2193\ndatabase<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Do not jump straight to WordPress plugins if the domain still points to the old server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">41. Check database connection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many content management systems and web applications require a database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the application explicitly reports a database error, check:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Database name<\/li>\n\n\n\n<li>Database user<\/li>\n\n\n\n<li>Assigning the user to the database<\/li>\n\n\n\n<li>Permissions<\/li>\n\n\n\n<li>application configuration file<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We explain how to merge users and databases in cPanel at <a href=\"\/en\/help\/web-hosting-cpanel\/create-and-assign-mysql-user\/\">Create MySQL user and assign to a database<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Do not modify the database on suspicion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A general website outage is no reason to delete, empty, or manually modify database tables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do not modify the database until there is a specific indication of a database problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">42. Check if only a single domain is affected<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If multiple domains are operated in the same hosting account, a comparison can be very helpful.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>domain-a.ch \u2192 works\ndomain-b.ch \u2192 works\ndomain-c.ch \u2192 unreachable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then a complete failure of the hosting account is less likely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Focus the diagnosis on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS of domain-c.ch<\/li>\n\n\n\n<li>Domain mapping<\/li>\n\n\n\n<li>Document Root<\/li>\n\n\n\n<li>SSL<\/li>\n\n\n\n<li>Files<\/li>\n\n\n\n<li>Application of this domain<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">43. Check if all domains are affected<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If all websites in a hosting account go down simultaneously, the diagnosis broadens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then check in particular:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>whether cPanel is accessible<\/li>\n\n\n\n<li>what error message the domains return<\/li>\n\n\n\n<li>whether all domains use the same nameservers<\/li>\n\n\n\n<li>CloudLinux resources<\/li>\n\n\n\n<li>Storage space<\/li>\n\n\n\n<li>shared changes to PHP or configurations<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If several independent websites show the exact same error pattern at the same time, you should definitely mention this circumstance in a support request.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">44. Properly categorizing connection timeouts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A message like:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ERR_CONNECTION_TIMED_OUT<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">is not the same as an HTTP 500.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With an HTTP 500, an HTTP response has already been received from the server. In contrast, in the event of a connection timeout, the connection or request could not be completed in time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, note the exact browser error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">45. Correctly Classify Connection Refused<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A message like:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ERR_CONNECTION_REFUSED<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">also differs from a normal application error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The browser was unable to establish the requested connection as expected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The same applies here: Do not change WordPress plugins or PHP settings before it is clear that the request even reaches the corresponding web application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">46. Isolate browser cache as a source of error<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Test the website additionally in a private browser window.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If necessary, use a second browser or another device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With that you can rule out certain local effects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, a browser cache does not cause a genuine server-side PHP fatal error and does not lift a server-side access restriction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">47. Consider local DNS cache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After DNS changes, your device or DNS resolver may still have older information cached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the website is already reaching the new server via mobile data, but not yet via your normal internet connection, a DNS cache may be playing a role.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, do not automatically wait for any fixed number of hours. The actual cache duration depends, among other things, on the respective DNS record and its TTL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">48. Do not change DNS immediately when an HTTP error appears<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For example, if your website already:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>500 Internal Server Error<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">is displayed, a web server was reached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Although DNS can still point to the wrong server after a migration, a real HTTP error should first be diagnosed on the server actually reached.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">49. Do not change PHP immediately if DNS is not working<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Conversely:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the domain does not resolve at all, switching from PHP 8.x to another PHP version will have no effect on this DNS issue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The sequence of the diagnosis therefore saves a lot of time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">50. Do not disable all security features<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When access is denied, you should not disable ModSecurity, security plugins, or other protection mechanisms across the board.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the event of a 403, it should first be determined which specific rule or access control is involved.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">51. Do not change multiple things at the same time<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A typical bad debugging process looks like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Website unreachable\n        \u2193\nChange DNS\nSwitch PHP\nDelete .htaccess\nDeactivate plugins\nChange permissions\nInstall cache<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the website works again after that, you don't know which change was relevant \u2013 and you may have created new problems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The better approach:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Determine the error precisely\n        \u2193\nNarrow down the technical layer\n        \u2193\nCheck logs and metrics\n        \u2193\nFormulate a concrete hypothesis\n        \u2193\nMake a change\n        \u2193\nTest again<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Basic rule:<\/strong> Work from the outside in: domain and connection first, then web server and HTTP status, and finally PHP and application. This way, you avoid making changes at a technical level that have nothing to do with the actual problem.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Website unreachable: Diagnosis in the correct order<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Note the complete URL and exact error message.<\/li>\n\n\n\n<li>Check multiple pages or areas of the website.<\/li>\n\n\n\n<li>Test using a private browser window.<\/li>\n\n\n\n<li>Test via a second internet connection if possible.<\/li>\n\n\n\n<li>Check if cPanel is reachable.<\/li>\n\n\n\n<li>Classify a potential DNS error.<\/li>\n\n\n\n<li>Account for recently made DNS or nameserver changes.<\/li>\n\n\n\n<li>Check the domain under <strong>Domains \u2192 Domains<\/strong>.<\/li>\n\n\n\n<li>Check the document root.<\/li>\n\n\n\n<li>Check the file manager to see if the website files are there.<\/li>\n\n\n\n<li>Distinguish SSL issues from HTTP errors.<\/li>\n\n\n\n<li>Check the actual HTTP status code.<\/li>\n\n\n\n<li>Open on server-side errors <strong>Measured values \u2192 Errors<\/strong>.<\/li>\n\n\n\n<li>Compare the error with recently made changes.<\/li>\n\n\n\n<li>Check if necessary <code>.htaccess<\/code> and file permissions.<\/li>\n\n\n\n<li>Check PHP version, extensions, and limits in PHP applications.<\/li>\n\n\n\n<li>Check WordPress plugins, themes, and debug logs.<\/li>\n\n\n\n<li>Check the CloudLinux resources in case of sporadic issues.<\/li>\n\n\n\n<li>Take cron jobs and background tasks into account.<\/li>\n\n\n\n<li>Check the storage space.<\/li>\n\n\n\n<li>Always change only one possible cause at a time.<\/li>\n\n\n\n<li>Then test the exact same error pattern again.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Quick diagnosis: Where should you start?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Error pattern<\/th><th>First checkpoint<\/th><\/tr><\/thead><tbody><tr><td><code>DNS_PROBE_FINISHED_NXDOMAIN<\/code><\/td><td>Check domain and DNS<\/td><\/tr><tr><td>Website shows wrong content after DNS change<\/td><td>Check DNS target and document root<\/td><\/tr><tr><td>Certificate warning<\/td><td>Check SSL certificate and hostname<\/td><\/tr><tr><td><code>ERR_TOO_MANY_REDIRECTS<\/code><\/td><td>Check redirects and .htaccess<\/td><\/tr><tr><td><code>403 Forbidden<\/code><\/td><td>Check permissions and security rules<\/td><\/tr><tr><td><code>404 Not Found<\/code><\/td><td>Check URL, files, or rewrite rules<\/td><\/tr><tr><td><code>500 Internal Server Error<\/code><\/td><td>Check error log and PHP\/application errors<\/td><\/tr><tr><td><code>503 Service Unavailable<\/code><\/td><td>Check error log, application, and resources<\/td><\/tr><tr><td><code>508 Resource Limit Is Reached<\/code><\/td><td>Check CloudLinux resources<\/td><\/tr><tr><td>only WordPress admin area broken<\/td><td>Check WordPress, plugins and error log<\/td><\/tr><tr><td>only unreachable at certain times<\/td><td>Check resources and background tasks<\/td><\/tr><tr><td>only unreachable via own internet connection<\/td><td>Check local network, DNS and potential IP block<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What you shouldn't do during a website outage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avoid in particular:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Change DNS records on suspicion<\/li>\n\n\n\n<li>Switch PHP versions randomly<\/li>\n\n\n\n<li><code>.htaccess<\/code> delete without backup<\/li>\n\n\n\n<li>File permissions across the board to <code>777<\/code> put<\/li>\n\n\n\n<li>disable all security features<\/li>\n\n\n\n<li>delete multiple plugins at once<\/li>\n\n\n\n<li>modifying database tables on suspicion<\/li>\n\n\n\n<li>reconfigure SSL certificates even though there is a PHP error<\/li>\n\n\n\n<li>perform multiple technical changes simultaneously<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What information helps CURIAWEB support?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you cannot isolate the cause yourself, as precise information as possible will help with the technical analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>affected domain<\/li>\n\n\n\n<li>full affected URL<\/li>\n\n\n\n<li>exact error message<\/li>\n\n\n\n<li>Date and exact time<\/li>\n\n\n\n<li>whether the website is permanently or sporadically unavailable<\/li>\n\n\n\n<li>whether only one page or the entire website is affected<\/li>\n\n\n\n<li>whether other domains work in the same hosting<\/li>\n\n\n\n<li>whether the website can be reached via another internet connection<\/li>\n\n\n\n<li>relevant error log entries<\/li>\n\n\n\n<li>Unusual CloudLinux values or faults<\/li>\n\n\n\n<li>recent changes<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For a reproducible error, you should also provide the exact steps that can be used to trigger the issue.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a website is down, you shouldn&#x27;t immediately make changes to WordPress, PHP, or DNS. First, you need to determine at what technical level the error is occurring.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start with the exact error message and the affected URL. Then check whether only you, a single page, a domain, or the entire hosting account is affected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In case of DNS errors, name resolution must be investigated first. If the web server is reached, HTTP status codes such as 403, 500, 503, or 508 serve as guides for further diagnosis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For server-side issues, the cPanel Error Log and\u2014in the case of sporadic errors\u2014CloudLinux resource usage are among the most important diagnostic tools. For PHP applications, the PHP version, extensions, and limits also come into play. For WordPress, you should additionally consider plugins, themes, and debug logs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The temporal context is always particularly valuable: when the website [crashes\/stops working] immediately after a DNS change, a PHP switch, plugin update, or a change to the <code>.htaccess<\/code> has failed, begin the investigation right there.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most important rule is: <strong>First determine where the request fails \u2013 then investigate precisely that technical layer.<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Wenn deine Website pl\u00f6tzlich nicht mehr erreichbar ist, kann das sehr unterschiedliche Ursachen haben. M\u00f6glich sind beispielsweise DNS-Probleme, eine falsche Domain-Zuordnung, SSL-Probleme, PHP-Fehler, eine fehlerhafte .htaccess, WordPress-Probleme oder erreichte Ressourcenlimits. Entscheidend ist deshalb, nicht sofort Einstellungen zu ver\u00e4ndern, sondern zuerst festzustellen, auf welcher technischen Ebene der Fehler entsteht. Diese Anleitung f\u00fchrt dich Schritt f\u00fcr Schritt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"doc_category":[78],"doc_tag":[],"class_list":["post-22635","docs","type-docs","status-publish","hentry","doc_category-webhosting-cpanel"],"year_month":"2026-09","word_count":3584,"total_views":"10","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Silvio Mazenauer","author_nicename":"admin-curia","author_url":"https:\/\/www.curiaweb.ch\/en\/author\/admin-curia\/"},"doc_category_info":[{"term_name":"Webhosting &amp; cPanel","term_url":"https:\/\/www.curiaweb.ch\/en\/hilfe-kategorie\/webhosting-cpanel\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/docs\/22635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/comments?post=22635"}],"version-history":[{"count":1,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/docs\/22635\/revisions"}],"predecessor-version":[{"id":22637,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/docs\/22635\/revisions\/22637"}],"wp:attachment":[{"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/media?parent=22635"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/doc_category?post=22635"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.curiaweb.ch\/en\/wp-json\/wp\/v2\/doc_tag?post=22635"}],"curies":[{"name":"WP","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}