508 Resource Limit Is Reached: fix it on shared hosting
On cPanel hosting, a 508 means your account ran out of processes. How to find which limit you hit, and the fixes: caching, blocking bots and taming WordPress cron.
· 4 min read · By the Spot Downtime team
The HTTP standard defines 508 Loop Detected for an obscure WebDAV case. But if you're seeing a 508, you're almost certainly on shared hosting, looking at a page that says “Resource Limit Is Reached”. Hosts running cPanel with CloudLinux use 508 to say your account used up its share of the server.
What limit you hit
CloudLinux puts each hosting account in a box (an “LVE”) with limits on CPU, memory and, most often, entry processes: how many PHP requests can run at the same time. When all of them are busy, the next visitor gets a 508 instead of waiting.
In cPanel, open Resource Usage. It shows which limit was hit and when. That tells you whether it's a traffic spike, a slow page, or something running in the background.
Common causes
Slow pages hold processes longer
If each request takes 4 seconds instead of 0.4, you need ten times as many processes for the same traffic. A slow database query or a call to an external API that hangs fills the limit with very little traffic.
Bots
Crawlers, scrapers and login brute-force attempts on wp-login.php and xmlrpc.php can use every process. Check the access log for a few IPs or user agents with thousands of requests.
WordPress background work
wp-cron.php runs on page views by default, and heavy plugins (backups, security scans, broken-link checkers) run inside those requests. The admin's admin-ajax.php heartbeat can add a steady stream of requests too.
How to fix it
- Add page caching so most visitors get a static copy and never start a PHP process.
- Block abusive bots at a CDN or firewall, and protect
wp-login.php. - Run WordPress cron from a real cron job: set
DISABLE_WP_CRONto true and callwp-cron.phpevery 5 or 15 minutes. - Find slow plugins with a profiler like Query Monitor, and remove what you don't need.
- Upgrade the plan if it's genuine traffic. Hitting the limit because the site is popular is a good problem.
It usually happens at peak times
If your cron job runs through the web server, consider moving it to the command line and watching it with a heartbeat monitor instead.
Cron expression explainerCheck that a schedule like*/15 * * * * runs when you think it does before you set it up.Keep reading
- HTTP errors · Troubleshooting500 Internal Server Error: how to find the cause and fix itA 500 hides its reason on purpose. Where to look first, the usual causes from unhandled exceptions to full disks, and the extra checks for WordPress and PHP sites.October 5, 2026 · 5 min read
- HTTP errors · Troubleshooting404 Not Found: fix broken pages, missing routes and soft 404sWhich 404s you can ignore, which ones cost you visitors and rankings, and how to fix a whole site or section that suddenly returns Not Found.October 5, 2026 · 4 min read