# Content-Signal usage signals

> Content-Signal usage signals: Declares how your content may be used, inside robots.txt. Cloudflare included this in its readiness checks.

- Source: /checks/content-signal
- Site: AgenticWebScore
- Language: English

---
Declares how your content may be used, inside robots.txt. Cloudflare included this in its readiness checks.

| Property | Value |
| --- | --- |
| Check id | `content-signal` |
| Dimension | Discoverability (20%) |
| Tier | Recommended — pool 20 pts |
| Weight inside tier | 2 |
| Impact | High |
| Maturity | Draft — A published specification that is not yet ratified. |
| Conditional | No |
| Publishing skill | `content-signals` |
| Standards | contentsignals.org |

## What is measured

The scanner parses https://<domain>/robots.txt ($robots in the probe map) for a Content-Signal directive inside a user-agent group, per the Content Signals Policy (contentsignals.org). Pass = at least one Content-Signal line that sets all three signals - search, ai-input and ai-train - to yes or no. Partial = the directive appears but omits one or more of the three signals, or sits outside any user-agent group. Fail = no Content-Signal line in robots.txt.

## Reproduce it yourself

You do not have to take our word for any of this. Run the same measurement against your own domain:

```bash
DOMAIN=example.com
curl -sS "https://$DOMAIN/robots.txt" | grep -i -B1 '^content-signal:'
```

## The fix

This is the artifact to ship. It is the complete change, not a description of one.

```text
# Content Signals Policy for example.com
#
# search   = building a search index and returning links and short excerpts
# ai-input = feeding content into a model at answer time (RAG, grounding)
# ai-train = training or fine-tuning a model
# yes grants the use, no withholds it; an omitted signal does neither.

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /

# Per-crawler preferences go inside that crawler's own group.
User-agent: GPTBot
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
```

> The directive is only read inside a user-agent group, values are case-insensitive yes or no, and omitting a signal neither grants nor restricts that use.

## Standards referenced

- `contentsignals.org`

## Related checks

| Check | Tier | Impact | Same skill |
| --- | --- | --- | --- |
| `reachable` — Homepage open to agent access | Essential | Critical | — |
| `robots-txt` — robots.txt with agent directives | Essential | High | — |
| `sitemap-xml` — sitemap.xml valid and current | Essential | High | — |
| `llms-txt` — /llms.txt published and well-structured | Essential | Critical | — |
| `link-headers` — Discovery via Link response headers | Emerging | Medium | — |
| `dns-aid` — DNS-AID discovery record | Emerging | Medium | — |
| `canonical` — Canonical and hreflang discipline | Recommended | Medium | — |
| `llms-full` — /llms-full.txt expanded context | Recommended | Low | — |
