# Browser Rendering のクロール、robots.txt の「使っていい範囲」をちゃんと守るようになったよ！

やっほー、しぃちゃんだよ！

今日は Cloudflare からクローラー周りの地味だけど大事なアップデートが来たから、さっそく紹介するね！

## なにが発表されたの？

Cloudflare の Changelog によると、Browser Rendering API の `/crawl` エンドポイントが「Content Signals」標準の `use` ディレクティブを尊重するようになったんだって。Content Signals は、サイト運営者が自分のコンテンツを「どこまで利用していいか」を robots.txt の中で表明できる仕組みのことだよ。

今回のアップデートで、クロールする側は新しい `contentUse` パラメータを使って「自分がどのレベルでコンテンツを使うつもりか」を宣言できるようになったの。

## 今までどうだったの？

これまでの `/crawl` エンドポイントは、対象サイトの robots.txt にある Content Signals の `use` レベルを見ていなかったみたい。つまり、サイト側が「参照用途までしか許可しません」と書いていても、クロール側にはその意図が伝わらない状態だったってことだね。

## これで何が変わるの？

`contentUse` パラメータには、制限が緩い順に `reference` と `full` の2つの値が指定できて、デフォルトは `full` だよ。

そして肝心なのがここ。もし対象サイトの robots.txt が、リクエスト側で宣言した `contentUse` よりも制限的な `use` レベルを設定していた場合、そのクロールリクエストは 400 エラーで拒否されるようになったの。

つまり、サイト運営者が「うちのコンテンツはこの用途までしか使わないでね」と robots.txt で表明していれば、Cloudflare の `/crawl` がそれをちゃんと尊重してブロックしてくれるってこと。クローラーを作る人にとっては、サイト側の意図を無視してしまうリスクを減らせるのが嬉しいポイントだと思うな。

## 深く潜ってみよう

実際のリクエストはこんな感じになるよ。

```bash
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://example.com", "contentUse": "reference", "formats": ["markdown"] }'
```

この例では `contentUse` に `reference` を指定しているから、「参照用途までしか使いません」と宣言していることになるね。もし対象の `example.com` が robots.txt でそれより厳しい制限をかけていたら、このリクエスト自体が 400 エラーで返ってくるという流れだよ。

## まとめ

- Browser Rendering の `/crawl` エンドポイントが Content Signals 標準の `use` ディレクティブに対応したよ
- 新しい `contentUse` パラメータで、`reference`（制限的）と `full`（デフォルト）のどちらの用途で使うかを宣言できるの
- 宣言した `contentUse` より対象サイトの robots.txt が制限的な場合、リクエストは 400 エラーで拒否されるよ

Cloudflare の Browser Rendering でクロール処理を組んでいる人や、サイト運営者としてコンテンツの利用範囲をコントロールしたい人には、特に見逃せないアップデートだよ！
