If you’re seeing 429 errors on your Pressable site, don’t panic. There are two different reasons this might happen, and once you figure out which one applies to you, fixing it becomes much more straightforward.
The first cause is request rate limiting. This happens when something (like a monitoring service or bot) is sending requests to your site too quickly. The second cause is resource exhaustion, which means your site is using more server resources than your plan includes, even after tapping into the shared burst capacity we make available.
This article will help you figure out which one you’re dealing with and what to do about it. You can also contact the Pressable support team 24/7 to request we review logs and point you in the right direction.
How to Figure Out Which Type of 429 You’re Seeing
Use the following clues to identify what’s going on:
- Primary method: Review your site’s server logs and check whether true 429 errors (rate limiting) are being logged or if there are 599 errors (resource limiting) logged at the time 429s show up in-browser
- If only one external service or integration is getting the error (like your uptime monitor or a specific API), you’re probably looking at rate limiting.
- If your uncached pages or WooCommerce endpoints are loading intermittently or failing, resource exhaustion is more likely the culprit.
- If the errors show up during traffic spikes and go away when things calm down, that’s usually a sign of resource exhaustion.
Reviewing Server Logs
Your server logs can give you helpful details about what’s happening. You can filter for 429 responses and look at which user-agents or URLs are involved. Pay attention to patterns: when do the requests happen, which IP addresses or user-agents are affected, and which parts of your site are throwing errors?
If you don’t see any 429 errors logged, that means you should check for 599 errors.
The following guide explains how to access your site’s server logs:

If you’re having trouble pinpointing the cause, reach out to Pressable support. If you can, include timestamps for when the errors happen (it makes troubleshooting much faster).
Request Rate Limiting (True 429 Errors)
What Triggers It
Rate limiting kicks in when a single source sends more than two requests per second to your site. We don’t just look at IP addresses to figure this out; we use several signals to identify traffic coming from the same origin.
Common Scenarios
- Bots or scrapers hitting your site rapidly
- Uptime monitors that check your site too often
- Plugins making repeated API calls
- External services that poll your site too frequently
How to Fix It
The solution here is pretty straightforward: slow down the requests. Make sure the affected source is sending no more than two requests per second (spacing them at least 0.5 seconds apart).
You might need to adjust your monitoring service’s check interval, or update integrations to use caching or webhook notifications instead of constantly polling your site.
Resource Exhaustion (599 Errors Behind The Scenes)
What Triggers It
Resource exhaustion happens when your site uses up its dedicated CPU resources plus the shared burst capacity (up to 110 PHP workers spread across the server pool). This is usually about PHP worker saturation, though occasionally database cores can be involved too.
One way to tell resource exhaustion apart from rate limiting is that these 429s often show up alongside slow page loads or timeouts and will be listed as 599s in the actual logs. Rate limiting 429s, on the other hand, typically return quickly.
Common Scenarios
- Heavy traffic on pages or endpoints that aren’t cached
- Database queries that are slow or resource-intensive
- Large amounts of autoloaded data in your database
- Excessive use of admin-ajax.php or REST API endpoints
- Themes or plugins causing unexpected resource spikes
- Bots crawling parts of your site that are expensive to generate
- WooCommerce handling too many simultaneous requests
How to Fix It
This one requires some detective work. You’ll need to track down and fix the underlying performance issue. The following articles are a great starting point:
- Troubleshooting performance issues
- Optimizing autoloaded data
- Troubleshooting excessive
admin-ajax.phpuse - Improving cache coverage
- Understanding PHP workers
- Diagnosing PHP worker saturation
- Using Query Monitor to diagnose heavy or slow database queries
Key Takeaways
When you encounter a 429 error on Pressable, your first step is figuring out whether it’s caused by request frequency or resource exhaustion.
If it’s rate limiting, you’ll need to space out requests from the affected source to no more than two per second.
If it’s resource exhaustion, you’ll need to optimize your site’s performance to reduce PHP worker usage. Getting this right from the start will save you time and help you resolve the issue faster.