My RSL or Content Signals declaration isn't being detected — troubleshooting
Published 7/24/2026
Both RSL and Content Signals rely on the declaration being served exactly where and how CrawlPact — and any AI crawler checking it — expects to find it.
RSL: “No RSL license element was found”
CrawlPact fetches /.well-known/rsl.xml and specifically looks for a <license element in the
response body. Common causes:
- The file is published at a different path. It must be exactly
/.well-known/rsl.xmlat your domain root. - The response is a redirect or error page rather than the actual XML content. Confirm
/.well-known/rsl.xmlreturns a normal 200 response with your XML directly, not a redirect to a login page or a generic 404 page that happens to return status 200. - The XML is present but doesn’t contain a
<license>element — CrawlPact’s reader specifically requires this element to consider the declaration “discovered.”
Content Signals: “No Content-Signal response header was present”
CrawlPact checks the Content-Signal HTTP response header on your homepage request specifically.
Common causes:
- The header is set on some paths but not the homepage. CrawlPact currently checks the homepage response only.
- The header is being stripped by a CDN, proxy, or caching layer between your origin server and
the internet. Test with a direct
curl -Irequest against your live domain to confirm the header is actually present in the response CrawlPact (and any external crawler) would see. - The header name or
key=valuesyntax has a typo — CrawlPact parses comma-separatedkey=valuepairs; a value it doesn’t recognise asyesornois reported asunknownrather than silently ignored.
Verify
Run CrawlPact’s RSL validator or Content Signals checker after making a change — both re-fetch live on each scan.
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 llms.txt file isn't validating — troubleshooting
Common structural issues CrawlPact's llms.txt validator flags, and how to fix each one.
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.
See how this applies to your own site
Run a free audit to check your declared AI crawler policy against your own domain.
Audit a domain