# AI Search のクロール、CSS セレクターで本文だけ狙い撃ち！

やっほー、しぃちゃんだよ！今日は Web サイトをまるっとクロールして AI の知識にするあの機能に、かゆいところに手が届くアップデートが来たから紹介しちゃうね。

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

Cloudflare の Changelog で、[AI Search](https://developers.cloudflare.com/ai-search/) の Web サイトソースが CSS コンテンツセレクターに対応したよ、って発表があったの。クロールしたページの「どの部分」を抜き出してインデックスするかを、CSS セレクターと URL のグロブパターンの組み合わせで指定できるようになったんだ。

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

これまでは Web サイトをソースにすると、ページ全体がそのまま取り込まれてたの。だからナビゲーションバーやサイドバー、フッターみたいな「本文じゃないところ」まで一緒にインデックスされちゃって、検索の精度がちょっと惜しいことになりがちだったんだよね。

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

これからは URL がグロブパターンにマッチしたとき、対応する CSS セレクターに一致した要素だけが抜き出されて、Markdown に変換されてインデックスされるの。つまり「ブログ記事の本文だけ」みたいに、欲しいところだけをピンポイントで拾えるってわけ。よけいなボイラープレートを無視できるから、AI が返してくる答えの質もぐっと上がるはずだよ。

## 深く潜ってみよう

設定はダッシュボードからでも API からでも OK。API だと `parse_options` の中に `content_selector` を並べる形になるよ。

```bash
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-search/instances" \
  -H "Authorization: Bearer {api_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "my-ai-search",
    "source": "https://example.com",
    "type": "web-crawler",
    "source_params": {
      "web_crawler": {
        "parse_options": {
          "content_selector": [
            { "path": "**/blog/**", "selector": "article .post-body" }
          ]
        }
      }
    }
  }'
```

ルールは 2 つ。セレクターは上から順番に評価されて、最初にマッチしたパターンが勝ち。そして 1 つのインスタンスにつき最大 10 個まで登録できるの。もっと詳しい設定例は[コンテンツセレクターのドキュメント](https://developers.cloudflare.com/ai-search/configuration/data-source/website/#content-selectors)を見てみてね。

## まとめ

- AI Search の Web サイトソースが CSS コンテンツセレクターに対応したよ
- URL のグロブパターン × CSS セレクターで、抜き出す部分をピンポイント指定できる
- 評価は上から順で最初のマッチが勝ち、1 インスタンスにつき最大 10 個まで
- ナビやフッターを弾いて本文だけ拾えるから、検索精度もアップ

Web サイトを RAG のソースにしてる人、クロール結果にノイズが混ざって困ってた人に刺さるアップデートだよ！
