Excessive amounts of errors
In this article I'll review why an excessive amount of errors coming from your website, can have a negative impact on your account's resource usage.
What is a website error?
For the transmition of websites, servers and web-browsers use certain status codes to relay information quickly. For example if you ask a server for an image file and the server finds that file, it will respond to your web-browser with a 200 - OK HTTP response. This tells your web-browser the file was found and transferred successfully.
Certain types of responses indicate an error, and these error codes can give you insight as to what's going on with your website's traffic, and how some visitors might not be seeing your full website as expected.
403 - Forbidden
When a 403 forbidden error is encountered, this is the server denying access to the requested file from the visitor. This is usally caused by either permissions, or by rules placed inside a .htaccess file.
Typically when someone is causing a 403 error, it won't directly cause a lot of resource usage, since they are being denied access to have the server run the script they might be requesting. However if they are trying to crawl your website and do find some sections that are not denying them access that could lead to extra usage.
404 - Not Found
If the server was unable to find the image file that you requested, then it would instead respond with a 404 - Not Found response. You can read more about 404 error not found pages to see why it can be a problem for a server to dynamically handle these types of errors.
Seeing a large amount of 404 errors is usually bad, you typically want to block users that are randomly guessing at URLs that don't exist, or update incorrect links that are pointing to files that no longer exist.
406 - Not Acceptable
Most commonly a 406 not acceptable error will happen when a ModSecurity rule has been triggered. This can indicate a known malicious type of request against your site, or also commonly a false alarm being triggered by a plugin you might have enabled.
You can disable ModSecurity completely on your shared hosting account using our ModSec manager plugin mentioned in the link above. If you're on a VPS or dedicated server you can also find and disable specific ModSecurity rules that might be getting triggered by a legitimate request you are trying.
500 - Internal Server Error
The 500 internal server error is encountered when there is a unexpected condition in the request, and it prevents the server from serving the expected data. This is typically caused when there is a problem in the code of one of your PHP or other server-side scripts.
When an unexpected error like this is happening, it can lead to multiple unessary executions of code, and it can also cause 100% CPU usage for extended periods of time. Because of this, it's always good practice to ensure your website isn't getting a large number of errors to cut down on resource usage.
Checking your site for errors
Using the steps below you can easily find if one of your websites has been encountering a large amount of any errors.
- Login to your cPanel.
- Under the Logs section, click on Awstats.
- Click on the magnifying glass next to the domain you'd like to check for errors.
- Toward the very bottom of the left column, click on the HTTP Status codes link.
- In this case we can see the most common error encountered was 404, if we click on it we can see which requests caused the most 404 errors too.
You should now understand why an excessive amount of errors on your website could lead to resource usage issues, and possible cause an account suspension under extreme circumstances.