Caching
Caching is a key SeoRend feature. When a page is already in cache, bots get instant responses, and you don’t use up your render limit.
How Cache Works
Section titled “How Cache Works”-
Bot requests a page for the first time → Cache MISS
- SeoRend renders the page
- HTML is saved to cache
- Render counter increases by 1
-
Bot requests the same page again → Cache HIT
- SeoRend serves HTML from cache
- No rendering performed
- Free — doesn’t count against limit
-
TTL expires → page is removed from cache
- Next request will be a Cache MISS again
Cache Settings
Section titled “Cache Settings”Cache settings are in the dashboard: Settings → Cache.
Cache TTL
Section titled “Cache TTL”Cached page lifetime.
| TTL | When to use |
|---|---|
| 1 hour | News sites, catalogs with frequent price updates |
| 24 hours | Standard option for most sites |
| 7 days | Documentation, static pages |
| 30 days | Content that rarely changes |
Ignore Query Params
Section titled “Ignore Query Params”URL parameters that don’t affect page content. SeoRend ignores them when forming the cache key.
Ignored by default:
utm_source,utm_medium,utm_campaign,utm_content,utm_termfbclid,gclid,msclkidref,referrer
This means URLs:
https://example.com/page?utm_source=googlehttps://example.com/page?utm_source=facebookhttps://example.com/page
Will be cached as the same URL.
You can add your own parameters to the ignore list via the dashboard.
Cache Invalidation
Section titled “Cache Invalidation”Sometimes you need to force a cache update — for example, after publishing important changes to the site.
Invalidation Methods
Section titled “Invalidation Methods”In the dashboard, go to Settings → Cache → Purge Cache.
1. By Specific URLs
Section titled “1. By Specific URLs”Enter a list of URLs (one per line):
https://example.com/https://example.com/abouthttps://example.com/products/new-item2. By Domain
Section titled “2. By Domain”Clears cache for all pages of the specified domain:
example.com3. Full Purge
Section titled “3. Full Purge”Clears cache for all your domains. Use carefully — subsequent bot requests will trigger mass re-rendering.
API for Invalidation
Section titled “API for Invalidation”You can also invalidate cache programmatically via API:
curl -X POST https://api.seorend.com/v1/cache/purge \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/updated-page"]}'Or for entire domain:
curl -X POST https://api.seorend.com/v1/cache/purge \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain": "example.com"}'Cache Monitoring
Section titled “Cache Monitoring”Dashboard Statistics
Section titled “Dashboard Statistics”In the Overview section you’ll see:
- Cache Hit Rate — percentage of requests served from cache
- Total Cache Hits — number of free requests from cache
- Cache Misses — number of renders (count against limit)
Response Headers
Section titled “Response Headers”Each request through SeoRend returns headers:
| Header | Value | Description |
|---|---|---|
X-Seorend-Cache | HIT or MISS | Was response from cache |
X-Seorend-Render-Time | 1234 | Render time in ms (for MISS) |
Cache Optimization
Section titled “Cache Optimization”Increase Cache Hit Rate
Section titled “Increase Cache Hit Rate”- Use Warm Bot — warm popular pages in advance
- Configure TTL — longer TTL = more cache hits
- Add tracking params to ignore list — avoid duplicate pages in cache
Reduce Render Count
Section titled “Reduce Render Count”- Exclude unnecessary pages — admin panels, user accounts, auth pages
- Use canonical URLs — avoid duplicates with different query params
- Optimize pages — faster rendering = fewer timeouts
Limits by Plan
Section titled “Limits by Plan”| Plan | Default Cache TTL | Configurable TTL |
|---|---|---|
| Free | 24 hours | No |
| Starter | 24 hours | No |
| Pro | 24 hours | No |
| Business | 1 hour | Yes |
| Enterprise | Custom | Yes |