このツールを使う場面
IndexNow のキーは所有権の証明です。自分のホスト上にランダムな文字列を公開し、送信がそのホストの管理者によるものだと検索エンジンに確認させます。新しいキーが必要になるのは次のような場面です。
新しいホストを追加するとき
URL を送信するホスト名ごとに、自前で配信できるキーファイルが必要です。ステージング用と本番用は別のホストです。
問題が起きた後のローテーション
キー自体は公開情報ですが、管理外のドメインにも同じキーファイルが存在するなら意味がありません。新しいキーを生成し、古いファイルを削除してください。
環境を分けるとき
環境ごとにキーを分けておくと、後からログを追うときにどのシステムが送信したのか一目で分かります。
弱いキーを置き換えるとき
短い・推測しやすいキーは、8〜128 文字という規則を満たさないか、簡単に再現されてしまいます。生成されたキーならどちらも避けられます。
キーの生成と設置の手順
キーがブラウザの外に出ることはありません。Web Crypto API で生成され、ダウンロードもローカルで組み立てられます。
- 1
キーを生成する
32 文字の 16 進数文字列が得られます。規格の 8〜128 文字の範囲に十分収まり、IndexNow が受け付ける文字だけで構成されています。
- 2
テキストファイルをダウンロードする
ファイル名は <キー>.txt で、中身はキーのみです。余計な内容が入っていることが 403 の最も多い原因です。
- 3
ホストのルートに配置する
https://ホスト名/キー.txt に text/plain として配信します。認証・リダイレクト・ボット対策に阻まれていないか確認してください。
- 4
検証してから送信する
最初のバッチの前に、キー検証ツールで公開 URL を確認します。問題がなければ同じキーを送信フォームに入力します。
よくある失敗
ファイルにキー以外が含まれている
末尾の改行は問題ありませんが、テンプレートの外枠・JSON・HTML ページは不可です。ファイル本文はキーと完全に一致している必要があります。
ホストがソフト 404 を返す
多くのフレームワークは未知のパスに 200 とアプリのシェルを返します。検索エンジンはキーではなく HTML を読み、バッチは拒否されます。
キーを秘密情報として扱う
認証の裏に置いたり robots で遮断したりすると本来の役割を果たせません。検証は認証なしの HTTP 取得だからです。
ファイルを置かずにキーを使い回す
ホストごとに自分のコピーを配信する必要があります。example.com で通ったキーが blog.example.com を認可することはありません。
よくある質問
- IndexNow のキーはどのくらいの長さが必要ですか?
- 8〜128 文字で、英数字とハイフンが使えます。このツールは 32 文字の 16 進数を生成します。推測されない長さでありながら、ログ上でも読みやすい長さです。
- キーを自分で決めても構いませんか?
- はい。文字種と長さの規則を満たす文字列なら何でも使えます。生成キーを使うのは、短すぎる値や推測しやすい値をうっかり選ばないためです。
- ファイル名はキーと一致している必要がありますか?
- デフォルトの場所を使う場合のみです。別の場所に置くなら送信時に keyLocation でその URL を指定します。ただし同じホスト上である必要があります。
- 生成したキーは submitnow に送信されますか?
- いいえ。生成もダウンロードも完全にブラウザ内で完結し、ネットワークリクエストは一切発生しません。
- キーはどのくらいの頻度で更新すべきですか?
- 有効期限はありません。古いファイルを無効化したいときだけ更新し、その際は以前のキーファイルの削除も忘れずに。