Verify Your Prerender Integration
Overview
Once you've integrated Prerender.io into your tech stack, it's important to verify that it works as expected—especially that bots are receiving pre-rendered HTML as expected.
Method 1: Chrome DevTools
Simulate a bot visit manually and inspect response headers.
Method 2: Prerender App
Run a one-click domain check from inside Prerender.
Method 1: Chrome DevTools
This guide walks you through how to simulate a crawler visit and confirm that your Prerender integration is responding correctly. We recommend using Google Chrome for this process, though you can adapt the same steps in other browsers with developer tools.
Detailed Explanation / How It Works
The Prerender integration works by detecting bots through their user agent and serving them a static, pre-rendered HTML version of your page. To verify this behavior:
- You simulate a bot visit by changing your browser’s user agent in DevTools.
- You inspect the network response to confirm whether it’s coming from Prerender.
- If correct, the HTML will be static, and the response headers will include
x-prerender-request-id.
Steps
1. Open the Page You Want to Test
Navigate to the URL you want to test.
2. Open Developer Tools
- Windows: Press
Ctrl + Shift + J - Mac: Press
Option + ⌘ + J
3. Show Network Conditions Panel
- Windows: Press
Ctrl + Shift + P - Mac: Press
Command + Shift + P - Type “Show Network Conditions” and select it
.png?width=506&height=78&name=1(2).png)
4. Modify the User Agent
- In the Network Conditions tab, uncheck “Use browser default”
- Select Googlebot from the dropdown list
- If your integration uses a custom allowlist, choose a bot included in your config

5. Reload and Inspect the Response
- Refresh the page to simulate a prerendered crawler visit
- Switch to the Network tab in DevTools
- Select the main document (usually the URL you visited)
- Check for the presence of
x-prerender-request-idin the response headers
.png?width=600&height=276&name=2(1).png)
How to Know When You’re Done
If you see the x-prerender-request-id header after simulating a crawler visit, it confirms that Prerender is working correctly, and serving cached HTML to bots.
Note: If the header doesn't appear right away, wait a few minutes and refresh. Changes can take a little time to propagate. Once validated, new entries will appear in the Prerender app under CDN Analytics.
Bot Validation Scenario
Some sites block simulated bot requests. If you're not seeing the expected response even after following the steps above, try:
- Adding a custom user agent to your Prerender allowlist
- Selecting a user agent not blocked by your server or CDN
- Using your SEO tool's actual crawler user agent in your test
More details: How to add additional bots
Method 2: Prerender App
The Prerender platform has a built-in domain verification tool accessible from two places. Both run the same check — use whichever you have open.
Option A — Get Started tab
- Click Get started in the left sidebar.
- Navigate to the Verify Integration step.
- Enter your domain and click Verify Domain.

- Click Domain Manager in the left sidebar.
- Add your domain and submit.

Common Issues and Solutions
Empty HTML Response
If you're getting only:
<html><head></head><body></body></html>
You may be using a framework (like Rails) that blocks I/O when rendering. Use a server that supports non-blocking behavior (e.g., Unicorn, Puma) to avoid render-time deadlocks.
JavaScript Still Showing
If you're seeing JavaScript in the returned page, your Prerender middleware might be running too late. Move the middleware config earlier in your route handling to ensure it runs before other logic.
Partial Page Rendering
Sometimes, your page may begin rendering before all assets load. You can use the window.prerenderReady flag to delay cache capture until content is ready:
- Add this to your HTML:
<script>window.prerenderReady = false;</script>
- Set it to true when your page is ready (for example after an AJAX call):
window.prerenderReady = true;
This ensures Prerender captures your page only after it has fully loaded.