Troubleshooting
Troubleshooting
Fix DNS, root/www, origin, cache, and crawler visibility issues.
Troubleshooting
Use this page when verification fails, DNS stays pending, crawler output looks thin, or rendered pages are stale.
Read the result first
Most setup issues are one of these:
- No Prerender Buddy request detected: check DNS, middleware, and the exact hostname.
- DNS pending: check the CNAME or ALIAS record and remove conflicting records.
- HTTPS pending: add the TXT validation record using the host format your DNS provider expects.
- Thin crawler response: compare root vs
www, then check whether middleware or managed proxy is active. - Render timeout: check whether the origin URL is public, fast enough, and not behind login.
Verify says no Prerender Buddy request detected
This means the crawler request reached the website, but it did not pass through Prerender Buddy.
Most likely causes:
- DNS still points to the original host.
- You protected
www.example.combut testedexample.com. - You protected
example.combut testedwww.example.com. - Developer integration was added inside browser-only React code.
- Middleware or worker changes were not deployed.
- The API key was not added as a server-side secret.
Fix in this order:
- Open the site in Prerender Buddy.
- Confirm the exact hostname, including root vs
www. - Test that exact hostname only.
- If using Easy setup, check DNS records.
- If using Normal or Advanced setup, confirm the middleware is deployed.
- Confirm
PRERENDER_BUDDY_API_KEYexists as a server-side secret. - Run Verify Installation again.
DNS status is pending
DNS can stay pending when the public hostname does not point to Prerender Buddy yet.
For a www hostname, check:
1www.example.com CNAME customers.prerenderbuddy.comCommon issues:
- The record was added at the wrong DNS provider.
- The record name is wrong.
- A previous A record or CNAME still conflicts.
- The root domain was added as a normal CNAME on a provider that does not support it.
- DNS propagation has not finished.
Fix in this order:
- Find the active DNS provider for the domain.
- Remove conflicting records for the same hostname.
- Add the exact record from Prerender Buddy.
- Wait a few minutes.
- Click Refresh status.
HTTPS status is pending
HTTPS can stay pending when certificate validation records are missing or not visible yet.
Common issues:
- TXT validation record is missing.
- TXT record was added with the wrong name.
- TXT record was added in a different DNS zone.
- The DNS provider appended the root domain twice.
- DNS propagation has not completed.
Fix in this order:
- Copy the TXT record from Prerender Buddy.
- Add it at the same DNS provider as the CNAME.
- If the DNS provider auto-appends the root domain, use the short host name. For
www.example.com, enter_acme-challenge.www, not_acme-challenge.www.example.com. - If the DNS provider expects full names, enter the full host shown in Prerender Buddy.
- Remove old or duplicate TXT values for the same validation.
- Wait 5-15 minutes for DNS propagation.
- Refresh status.
Wrong auto-appended example:
1_acme-challenge.www.example.com.example.comRoot works but www does not
Root and www are separate hostnames.
1example.com
2www.example.comIf one version works and the other does not, choose one canonical version.
Recommended:
1example.com -> redirect to https://www.example.com
2www.example.com -> Prerender BuddyThen test both versions in the visibility checker. The root version should redirect. The www version should show Prerender Buddy headers or render logs.
If the root domain must also be protected directly, your DNS provider needs ALIAS, ANAME, or CNAME flattening support.
www works but the root domain bypasses Prerender Buddy
This is a common no-code setup issue.
Example:
1www.example.com -> Prerender Buddy, working
2example.com -> original host, thin app shellSymptoms:
- Googlebot gets rendered HTML on
www.example.com. - Googlebot gets the original JavaScript shell on
example.com. - The root response has original host headers such as Lovable, Netlify, Vercel, or Cloudflare.
- The root response does not include
x-prerender-cache.
Fix:
- Keep
www.example.compointed at Prerender Buddy. - Redirect
example.comtohttps://www.example.com. - Make sure the redirect preserves the path.
- Submit the
wwwsitemap in Google Search Console. - Re-test the same article or page on both hostnames.
Good redirect:
1https://example.com/blog/post
2 -> https://www.example.com/blog/postBad redirect:
1https://example.com/blog/post
2 -> https://www.example.com/If your DNS provider cannot preserve paths, use a Cloudflare Redirect Rule or a small worker/edge redirect.
Origin URL points back to the public domain
This causes a proxy loop.
Wrong:
1Public website address: www.example.com
2Current website location: https://www.example.comUse the real origin instead:
1https://example.netlify.app
2https://example.vercel.app
3https://project-name.lovable.app
4https://example-production.up.railway.app
5https://origin.example.comThe origin must keep loading the normal human website after the public domain is pointed to Prerender Buddy.
Crawler response is thin
Thin means crawlers can access the URL, but they receive too little readable text.
Symptoms:
1Crawler received: 55 chars
2Result: ThinCommon causes:
- crawler traffic still hits the original SPA
- only root or only
wwwis protected - developer middleware is not running
- crawler User-Agent is not detected
- the page requires login
- the page has very little public content
Fix in this order:
- Compare root and
www. - Check Verify Installation.
- Confirm the Logs tab shows crawler traffic.
- Test a public page that does not require login.
- Clear cached render for the exact URL.
- Run the test again.
Render engine timeout
A timeout means the render engine could not finish loading the page in time.
Common causes:
- the origin is slow
- the page keeps network requests open
- third-party scripts delay page load
- the page blocks headless browsers
- the page requires login
- the origin URL is unavailable from the internet
Fix in this order:
- Open the origin URL directly.
- Test a simpler public page on the same domain.
- Remove login requirements from the page being rendered.
- Check whether third-party scripts are blocking load.
- Retry after clearing cache.
Cache looks stale
Cache clearing is exact-URL based.
These are different cache entries:
1https://www.example.com/page
2https://www.example.com/page/
3https://example.com/pageFix:
- Open the site Test tab.
- Enter the exact URL.
- Clear cached render.
- Run Test again.
The site Settings tab controls the default freshness window. Lower values refresh more often. Higher values make repeat crawler visits faster.
Lovable, Bolt, and static builders
Do not add crawler detection inside the React app.
That runs too late because the crawler has already received the original HTML shell.
Use managed DNS setup instead.
1Public domain -> Prerender Buddy
2Normal visitors -> original builder origin
3Crawler visitors -> rendered HTMLManual debug commands
Normal browser-style request:
1curl -L https://www.example.comGooglebot:
1curl -L -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://www.example.comGPTBot:
1curl -L -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" https://www.example.comClaudeBot:
1curl -L -A "Mozilla/5.0 (compatible; ClaudeBot/1.0; +https://anthropic.com)" https://www.example.comSearch for a page heading:
1curl -L -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://www.example.com | grep -i "<h1"Save two responses and compare them:
1curl -L https://www.example.com > browser.html
2curl -L -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" https://www.example.com > gptbot.html
3diff browser.html gptbot.htmlIf the crawler response only contains <div id="root"></div>, the crawler is still seeing the JavaScript shell.
Check whether Prerender Buddy is in the request path:
1curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://www.example.com/pageLook for headers like:
1x-prerender-cache
2x-prerender-cache-ttl
3x-prerender-timeCompare root and www:
1curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/page
2curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://www.example.com/pageStill stuck
If setup still fails after checking the exact hostname, DNS provider, HTTPS status, and crawler logs, email support@prerenderbuddy.com.
For billing questions, use billing@prerenderbuddy.com. For security or privacy questions, use security@prerenderbuddy.com.
Still blocked?
Open the site dashboard, refresh setup status, then run Verify Installation on the exact hostname you changed.
Still stuck? Email support@prerenderbuddy.com.