Maintain
Troubleshooting
Each section is a symptom, what usually causes it, and the fix. Start with Integration Health — it names the failing check — then come here for the why.
522 after changing DNS
- Symptom
- The site returns a Cloudflare 522 (or 52x) page shortly after you pointed DNS at Wrenda.
- Cause
- Almost always one of two DNS mistakes: the CNAME to proxy.wrenda.ai is proxied (orange cloud), or an old A / AAAA record is still present alongside it and resolvers are hitting the wrong place.
- Fix
- Open the DNS editor. Delete every A / AAAA / other CNAME at that name; keep exactly one CNAME to proxy.wrenda.ai set to DNS only (grey cloud). Then Run live check — the DNS CNAME check must be ok.
If DNS is right and the origin check is failing with a timeout, the origin itself is unreachable from Wrenda's edge: a firewall allow-list, an IP-restricted host, or an origin that only accepts its own hostname (see Host-header 404s below).
Certificate stuck pending
- Symptom
- Verification shows the SSL certificate as pending (or pending validation) for more than 30 minutes; browsers may show a certificate error.
- Cause
- Certificate validation is delegated through the _acme-challenge CNAME. If that record is missing, proxied, or replaced by a TXT record, validation never completes.
- Fix
- Add the DCV CNAME exactly as the wizard shows it, DNS only. Remove any TXT record at _acme-challenge. Wait 5–15 minutes and Run live check. Renewals every 90 days use the same record, so leave it in place permanently.
Origin loop
- Symptom
- Probe origin refuses the origin with a loop warning; or after going live, pages time out or return an error page from Wrenda.
- Cause
- The origin URL is the domain itself (https://example.com or the www variant) — once DNS points at Wrenda, Wrenda would be fetching from itself. This also happens when the origin is a CDN hostname that itself resolves to proxy.wrenda.ai.
- Fix
- Set the origin to where the site is really hosted: the platform hostname (your-app.vercel.app, your-store.myshopify.com), the server’s IP, or the host-provided hostname. See Platforms for the value per host.
Host-header 404s (Vercel, Netlify, Pages)
- Symptom
- The origin check reports a 404, Bot Testing shows a “deployment not found” or “site not found” page, or crawlers get 404s while the site loads fine for you.
- Cause
- Managed hosts route by the Host header. Wrenda forwards your domain as the Host; if the host no longer has that custom domain attached, it has no idea which project to serve.
- Fix
- Either keep the custom domain attached to the project on the host (ignore its DNS warning), or set the domain’s Host header override to the platform hostname. Probe origin tells you which is needed and suggests the value; Wrenda stores it with the domain.
# Does the origin serve the site for your domain's Host header?
curl -I -H "Host: your-domain.com" "https://your-app.vercel.app/"
# 404 here = you need the Host header overrideDNS propagation
- Symptom
- Verify says a record is not found even though you added it; or some visitors see the old site and others the new.
- Cause
- DNS changes usually take effect in 5–15 minutes but can take up to 24 hours to propagate fully, and your own machine may cache the old answer even longer.
- Fix
- Check from a public resolver, not your laptop, then retry Verify. Lower the record TTL before future changes if your provider allows it.
dig +short CNAME your-domain.com @1.1.1.1
dig +short CNAME _acme-challenge.your-domain.com @1.1.1.1
dig +short TXT _cf-custom-hostname.your-domain.com @1.1.1.1 # name as shown in the wizard“My page looks blank to Google”
- Symptom
- Search Console’s URL Inspection or Bot Testing as Googlebot shows an empty page, a loading spinner, or only the navigation — while a browser shows the full page.
- Cause
- The content is rendered by JavaScript after load. Googlebot (and every AI crawler) fetches the raw HTML; without a pre-render rule that is what it gets. Wrenda flags such domains as JS-rendered when it detects the gap.
- Fix
- Add (or apply the recommended) “Search engines → pre-render” rule and, if your app needs more time to render, raise the wait time in the domain’s pre-render settings. Confirm with Bot Testing as Googlebot and with the curl below. AI crawlers are covered by the optimize rule, which works from the rendered content.
curl -s -H "User-Agent: Googlebot/2.1" "https://your-domain.com/" | grep -c "<p"
# should be well above zero once pre-render is active; also look for X-Pre-Rendered: trueA related trap on marketing sites: entrance animations that ship opacity: 0 in the HTML and only reveal content after hydration. Text extractors see an empty page. Pre-rendering helps, but the real fix is rendering content visible by default.
401 on the Search Console callback
- Symptom
- Connecting Search Console bounced back with a 401 instead of the property picker.
- Cause
- A previous build applied the subscription gate to the OAuth callback URL as if it were a dashboard request.
- Fix
- Fixed. Hard-refresh the dashboard so you are on the current build and connect again. If you still get a 401, contact support with the time of the attempt and the property — see Integrations → Troubleshooting for the other callback errors.
Quota exceeded
- Symptom
- A usage-limit alert, or Citations runs returning a quota error.
- Uncached requests
- You have used the plan’s monthly uncached optimize / pre-render requests. Requests keep being served (cached copies where we have them, otherwise your original page) and nothing extra is billed; you get a daily email, and after 30 days everything passes through unmodified until you upgrade. Reduce usage by raising Template Optimization TTLs, narrowing which paths are optimized, and not warming pages nobody crawls.
- Citations queries
- A run needs more queries than remain this period. Reduce personas or disabled platforms for the run, remove low-value prompts, or wait for the period to reset. Plan limits are on the Pricing page.
Still stuck?
Switch the domain to Paused if crawlers are getting something wrong right now — it is instant and reversible — then contact us with the domain, the health report and a correlation ID.
- Integration Health: all seven checks ok (route skipped for CDN mode), overall healthy.
curl -I -H "User-Agent: GPTBot/1.0"returns 200 withX-AI-Optimized: truein Active mode.- Analytics show crawler requests within the last day.