Render Status Codes
200 - OK
200 - OK
The page was successfully rendered. Search engines and social bots will see the full content.No action needed.
204 - Empty Page
204 - Empty Page
The page rendered but has no meaningful content. This may indicate a loading state that never resolves, a blank page, or content behind authentication.Common causes:
- A loading spinner or skeleton screen that never resolves
- The page requires authentication and shows a blank page to unauthenticated users
- The page renders but produces empty or near-empty HTML
- A client-side redirect that the renderer can’t follow
- Open the page in an incognito window to see what unauthenticated users see
- Check if the page relies on user interaction to display content
- Ensure loading states resolve to actual content within 12 seconds
- If the page requires login, make the content accessible without authentication
- After fixing, click Re-render in the page details to refresh
404 - Not Found
404 - Not Found
The renderer could not find this page. The page returned a 404 error when the renderer tried to load it.Common causes:
- The page was deleted or renamed in your app
- The URL in your sitemap is outdated
- The page requires authentication (bots can’t log in)
- A typo in the sitemap URL
- Verify the page exists by visiting it in your browser
- If the page was removed, remove it from your sitemap
- If the page moved, update your sitemap with the new URL
- If the page requires login, make the content accessible without authentication
- After fixing, click Re-render in the page details to refresh
Hado SEO caches 404 status for 30 days to avoid repeatedly attempting to render pages that don’t exist. Triggering a re-render clears this cache.
408 - Timeout
408 - Timeout
The page took too long to render. Hado SEO waits up to 30 seconds for the renderer to complete, and the renderer itself allows 12 seconds for the page to become ready.Common causes:
- Slow API calls during page load
- Large JavaScript bundles taking too long to parse
- Infinite loading states or unresolved promises
- External resources (fonts, images, scripts) timing out
- Check your page load time in Chrome DevTools (Performance tab)
- Optimize slow API calls - fetch only what’s needed for initial render
- Defer non-essential data loading (comments, recommendations)
- Ensure loading states resolve within 12 seconds
- The system will automatically retry - timeouts are often transient
502 - Render Failed
502 - Render Failed
The page could not be rendered due to JavaScript errors or empty content.Common causes:
- JavaScript runtime errors (broken imports, missing variables)
- Missing environment variables in production
- Uncaught exceptions during render
- Code-split chunks failing to load after a deployment
- Open the page in your browser and check the console for errors
- Look for broken imports or missing modules
- Verify all required environment variables are set
- Add error boundaries to catch and display errors gracefully
- After fixing, click Re-render in the page details
504 - Persistent Timeout
504 - Persistent Timeout
The page consistently fails to render within the time limit. This is similar to a 408 timeout but indicates the issue is persistent rather than transient.Common causes:
- Infinite re-render loops in your component
- Unresolvable loading states (e.g., waiting for user interaction)
- Extremely heavy pages that consistently exceed render limits
- External API that is consistently slow or down
- Review your page’s loading behavior - does it ever finish loading?
- Check for infinite
useEffectloops or recursive state updates - Ensure all loading states have a timeout or fallback
- Test with SEO Bot Crawler Test to see what the renderer sees
500 - Internal Error
500 - Internal Error
An unexpected error occurred in the rendering service. This is typically a transient issue and not caused by your page.What to do:
- The system will automatically retry
- If the error persists for more than a few hours, contact [email protected]
- No action needed on your end in most cases
Pending (no status)
Pending (no status)
The page has been discovered (via sitemap or manual add) but has not been rendered yet. This is normal for newly added pages.What to expect:
- New pages are automatically queued for rendering
- Rendering typically completes within a few minutes
- If a page stays pending for more than an hour, try triggering a manual re-render
Viewing Render Status
In the Pages Table
The Render column in your Pages table shows a color-coded badge for each page:| Badge | Meaning |
|---|---|
| Green 200 | Successfully rendered |
| Yellow 404 | Page not found |
| Red 204 | Empty page, no meaningful content |
| Orange 408 / 504 | Render timed out |
| Red 500 / 502 | Render failed or internal error |
| Dash (—) | Pending, not yet rendered |
In Page Details
Click any page to open the details panel. If the page has a render error, you’ll see an alert at the top with:- The specific error status and description
- Resolution guidance for that error type
- A Re-render button to retry immediately
- Technical details (expandable) showing the exact error message
Fixing Render Issues
The general workflow for fixing render issues:Identify the problem
Filter the Pages table by render status to find pages with issues. Click a page to see the specific error.
Fix the root cause
Follow the resolution guidance for the specific status code. Most issues are in your application code.
Verify the fix
After re-rendering, check that the status changes to 200. Use SEO Bot Crawler Test to verify the rendered output.
Impact on Search Engines
Render status directly affects what search engine bots see:| Render Status | HTTP Response to Bots | SEO Impact |
|---|---|---|
| 200 | 200 with full HTML | Page is indexed normally |
| 204 | 200 with empty/minimal HTML | Page may be indexed with thin content, harming rankings |
| 404 | 404 Not Found | Page is removed from index |
| 408 | 503 Service Unavailable | Bot retries later, no penalty |
| 502/504 | 502 Bad Gateway | Bot retries later, may affect ranking if persistent |
| 500 | 500 Internal Error | Bot retries later |
Bad Pre-renders
Fix loading states and race conditions
SEO Bot Crawler Test
See what bots see on your page