Verify AI crawler policy after every deployment
The crawler policy a developer intends to ship and the crawler policy a framework, hosting platform, or CDN actually serves can diverge — and that gap is invisible until someone checks the live, deployed response.
Why the deployed response is the only thing that matters
A robots.txt file committed to a repository, a meta tag written in a template, or a header set
in application code is an intent. What a crawler actually receives is the deployed response —
and frameworks, static-site generators, hosting platforms, and CDNs can all sit between the two.
A build step can generate a different robots.txt than the one in source control. A platform
default can apply when no file is explicitly served. A CDN edge rule or cache can serve a stale or
modified version of what origin actually returns. None of this is unusual or a bug in any single
tool — it’s just several independent layers each capable of affecting the same output, which makes
“check what I wrote” a different question from “check what’s actually live.”
Common technical failure modes
- A framework’s
generateRobotsTxt-style helper (or equivalent) producing different output than expected for a given route or environment. - A preview/staging deployment serving the same crawler policy as production, either too permissive or too restrictive for that environment’s intent.
- A CDN cache serving a previous version of
robots.txtafter a deploy, until the cache expires or is purged. - A meta robots tag or header set at one layer (e.g. application code) being overridden or duplicated by another (e.g. a CMS plugin or CDN rule).
- A rule intended to target one crawler token inadvertently matching, or failing to match, a related token from the same operator (see the crawler directory for exact documented tokens).
Signals CrawlPact checks
CrawlPact fetches the actual public response for a domain — robots.txt, relevant meta
directives, and header signals — the same way a real crawler would encounter them, and evaluates
that against a versioned, source-cited crawler registry. It reports what it found, with the
underlying evidence, and flags conflicts between different signal layers (e.g. robots.txt saying
one thing, a meta tag saying another) as explicit findings.
Evidence and reproducibility
Every finding includes what was actually fetched, so a developer can reproduce the check
independently (curl, a browser, or any other tool) rather than trusting a black-box conclusion.
A manual re-scan (2–20 per domain per month, depending on plan) lets you recheck immediately after
a deploy rather than waiting for the next scheduled monitoring cycle.
Monitoring
Once a domain is saved, automatic monitoring (Solo: monthly, Pro/Agency: weekly) rechecks it on a schedule and flags a change — including one caused by a platform update or CDN change with no corresponding commit. See Platform guides for what’s independently verifiable about how specific hosting platforms and CDNs handle these signals.
Current plan positioning
Solo (1 saved domain minimum via Free, 5 on Solo) typically fits an individual developer or a single project — monthly automatic monitoring, a private Atom feed for change alerts, and 5 manual re-scans per domain per month for post-deploy verification. Teams managing several projects or client sites usually fit Pro or Agency instead — see pricing for the full comparison.
What this does not include
CrawlPact does not deploy, edit, or roll back your robots.txt, meta tags, or headers on any
platform — it audits and reports on the public response your stack actually produces; making a
change remains a step you take in your own codebase, CMS, or hosting dashboard. CrawlPact also
does not offer real-time or on-every-deploy monitoring on any plan today; the fastest current
automatic cadence is weekly (Pro/Agency) or monthly (Solo) — a manual re-scan is the way to check
immediately after a specific deploy.
Methodology
See Methodology for exactly what CrawlPact evaluates and how, and Scanner information for the technical detail behind the fetch/evaluation process itself.
Frequently asked questions
Does CrawlPact edit my production configuration for me? No. CrawlPact is not a deployment platform and does not modify your site’s configuration — it audits the public response and reports findings; applying a fix is a step you take in your own codebase/platform.
Does this replace testing my robots.txt before deploy? No — CrawlPact checks the live,
deployed response, which complements (not replaces) checking a file locally before it ships. The
value is specifically in catching what changes after deployment, at the platform/CDN layer,
which local testing can’t see.
Does CrawlPact provide WAF-style enforcement or blocking? No. CrawlPact audits and reports on publicly declared policy signals; it does not enforce access control at the network or application layer.
Solo is the usual fit
$9/month or $89/year — 5 saved domains, monthly monitoring. Every plan, including Free, gets the same complete, accurate audit — paid plans add saved domains, monitoring, history, and export/sharing capacity, not a more accurate result.
Review Solo pricingRelevant platform guides
AI crawler policy on Cloudflare
How Cloudflare's managed robots.txt and AI Crawl Control interact with your site's public AI crawler policy — verified against official Cloudflare documentation.
AI crawler policy on Netlify
How Netlify's automatic deploy-preview noindex header, _headers file, and deploy contexts affect what your site tells AI crawlers — verified against official Netlify documentation.
AI crawler policy on Shopify
How Shopify's robots.txt.liquid customization mechanism works, its default rules, and its documented limits — verified against official Shopify documentation.
AI crawler policy on Vercel
How Vercel's automatic preview-deployment noindex header, static and generated robots.txt files, and custom headers affect what your site tells AI crawlers — verified against official Vercel and Next.js documentation.
AI crawler policy on WordPress
How WordPress's virtual robots.txt, the 'Discourage search engines' setting, and theme/plugin interactions affect what your site tells AI crawlers — verified against official WordPress documentation.
Related guides
A crawler shows 'Resource unavailable' — troubleshooting
What it means when CrawlPact can't determine a crawler's access result because robots.txt itself couldn't be fetched, and how to fix it.
My Policy Health Score dropped between scans — troubleshooting
What causes a saved domain's score to change on a scheduled re-scan, and how to find exactly what changed.
My robots.txt rule isn't blocking a crawler — troubleshooting
Common causes when a Disallow rule doesn't appear to take effect against a specific AI crawler, and how to check each one.