Optimizing cPanels
Why Your Website Should Have 403.shtml, 404.shtml, and 500.shtml (and Why It Saves Server Resources)
If your cPanel error logs are getting flooded with “missing 403/404/500 page” entries, this page explains the fix and why it matters.
The quick explanation
Bots and automated scanners constantly probe common error-document paths like /403.shtml, /404.shtml, and /500.shtml.
When those files do not exist on your site, every probe generates extra 404 responses and gets recorded in logs—creating noise and wasting resources.
When the files do exist (even as tiny static HTML), the server can respond cleanly and efficiently.
What these files do
These are “error document” files. Many hosting setups and control panels (including cPanel/Apache configs) may reference them as fallback pages:
- 403.shtml — shown when access is forbidden (403)
- 404.shtml — shown when a page is not found (404)
- 500.shtml — shown for server errors (500)
Why missing error files cause log spam
Scanners try these paths because many servers historically used them. If the files aren’t present, the server produces:
- Extra 404 responses (even when the original request was already an error)
- More web server work per request (routing + error handling + logging)
- More disk writes (logs grow rapidly)
- More noise when diagnosing real problems
How this wastes real server resources
A single scanner can hit many URLs repeatedly. If each request creates multiple log entries and missing-file lookups, the costs add up:
- CPU: more web-server processing and log handling
- Disk I/O: frequent log writes and larger log files
- Storage/Inodes: logs grow faster, backups get heavier
- Signal-to-noise: legitimate errors get buried
Best practice (recommended)
Create tiny static error files in each site’s document root so the server always finds them and stops logging “missing 403/404/500 page” repeatedly.
Even a simple HTML page that says “Site Error” is enough.
Where the files should live
Place these three files in the site’s docroot (the folder that contains public_html for that domain or the domain’s configured document root):
/home/USERNAME/path-to-docroot/403.shtml /home/USERNAME/path-to-docroot/404.shtml /home/USERNAME/path-to-docroot/500.shtml
Minimal error file template (safe + efficient)
Use a tiny static HTML file. This avoids running heavy application code just to render an error page, and keeps bots from indexing it.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="robots" content="noindex,nofollow" />
<title>Site Error</title>
</head>
<body>
SiteError
</body>
</html>
What you’ll notice after adding them
- Your error logs stop filling up with “missing 403/404/500 page” entries
- Less wasted server work responding to repetitive probes
- Cleaner logs that make real issues easier to spot

