# Discovery via Link response headers

> Discovery via Link response headers: RFC 8288 Link headers let an agent find your discovery resources without parsing HTML.

- Source: /checks/link-headers
- Site: AgenticWebScore
- Language: English

---
RFC 8288 Link headers let an agent find your discovery resources without parsing HTML.

| Property | Value |
| --- | --- |
| Check id | `link-headers` |
| Dimension | Discoverability (20%) |
| Tier | Emerging — pool 5 pts |
| Weight inside tier | 2 |
| Impact | Medium |
| Maturity | Adopted — A ratified standard with real deployment. |
| Conditional | No |
| Publishing skill | `link-headers` |
| Standards | RFC 8288 |

## What is measured

The scanner reads the Link response headers on https://<domain>/ ($home in the probe map) and parses them per RFC 8288: an angle-bracketed URI-reference followed by semicolon-separated parameters. Pass = at least one Link header that advertises a discovery resource with a registered relation, such as rel=describedby pointing at /llms.txt or rel=alternate with type=text/markdown. Partial = a Link header is present but carries no discovery relation (only preload or preconnect, for example). Fail = the homepage response carries no Link header at all.

## 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 -D - -o /dev/null "https://$DOMAIN/" | grep -i '^link:'
```

## The fix

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

```text
Link: </llms.txt>; rel="describedby"; type="text/plain", </sitemap.xml>; rel="alternate"; type="application/xml", </docs/quickstart.md>; rel="alternate"; type="text/markdown"

# nginx equivalent
add_header Link '</llms.txt>; rel="describedby"; type="text/plain", </sitemap.xml>; rel="alternate"; type="application/xml"' always;
```

> Multiple links belong in one comma-separated Link header; relative targets are legal under RFC 8288 because they resolve against the request URI, but absolute URLs are safer for agents that do not track context.

## Standards referenced

- `RFC 8288`

## 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 | — |
| `dns-aid` — DNS-AID discovery record | Emerging | Medium | — |
| `canonical` — Canonical and hreflang discipline | Recommended | Medium | — |
| `llms-full` — /llms-full.txt expanded context | Recommended | Low | — |
| `agents-md` — AGENTS.md with the required sections | Recommended | High | — |
