更新通知だけでも自動化したい
Bingの説明ページが下手すぎるんですよねぇ…。めっちゃ分かりにくい。
解説ページや解説動画がいっぱいあるけれど、つまり?んで?本題は? ってオチまでが長すぎるんで・・・
「解説するんじゃなくて、楽できるツールを作って提供すれば、いいんじゃね?」ぐらいの軽いノリで作ってみました。
読み込んで入力されたテキストを差し込み生成しているだけなので、難しい操作はありません。
設定が終わったら「通知」を押せば完了ッス!
主な機能
- ローカルサイトフォルダを走査し、更新された HTML を自動検出
- IndexNow API に URL をまとめて通知
- 通知ログを JSON 形式で保存
- 前回通知日時を記録し、差分のみを抽出
- 除外フォルダ設定(カンマ区切り)
- 通知前に JSON プレビューを生成
通知の仕組み
IndexNow は、サイト更新を検索エンジンに即時伝えるための仕組みです。 更新通知くんは以下の JSON を送信します。
{
"host": "example.com",
"key": "あなたのAPIキー",
"keyLocation": "https://example.com/key.txt",
"urlList": [
"https://example.com/page1.html",
"https://example.com/news/update.html"
]
}
使い方
- アプリを起動します
- 公開ドメイン・ローカルフォルダ・APIキー・keyLocation を入力します
APIキーは、Bing の IndexNow ページで取得してください - 「読み込み」を押すと更新された HTML が一覧に表示されます
ファイル一覧で キーボード deleteキー を押すと候補から除外します。 - 必要なら除外フォルダを設定します
- 「プレビュー生成」で送信内容を確認できます
- 「通知」を押すと IndexNow に送信されます
通知ログ
通知結果は setting/logs/ に
20260604123000.json (2026年06月04日12時30分00秒) のような形式で保存されます。
前回通知日時
前回通知日時は setting/last_notify.json に保存され、 次回起動時に差分抽出に利用されます。
設定項目
| 項目 | 説明 |
|---|---|
| 公開ドメイン | https://example.com のように http/https から入力 |
| ローカルサイトフォルダ | あなたの HTML が置かれているフォルダ |
| APIキー文字列 | Bing の IndexNow ページで取得 |
| APIキー.txt の公開URL | keyLocation(例: https://あなたのサイトのアドレス/APIキー.txt) |
| 除外フォルダ | 「フォルダ名1,フォルダ名2,フォルダ名3」などカンマ区切りで指定 |
IndexNowの返り値一覧
IndexNowのAPIは主にHTTPステータスコードで結果を返します。ここでは手動更新サイトの管理者向けに分かりやすく整理しています。
基本ステータスコード
| コード | 意味 | 管理者向けの解釈 |
|---|---|---|
| 200 OK | リクエストが正常に受理された状態 | 送ったURLは問題なく受け付けられた |
| 202 Accepted | 受理されたがキーなどの検証が完了していない状態 | キーの確認中で後から処理される予定 |
| 204 No Content | 処理対象となるURLが無い状態 | 送ったURLがフィルタされるなどして対象が残らなかった |
リクエストエラー
| コード | 意味 | 管理者向けの解釈 |
|---|---|---|
| 400 Bad Request | JSON形式や必須項目に問題がある状態 | urlListが空などリクエストの作り方に誤りがある |
| 403 Forbidden | キーの検証に失敗した状態 | キーの内容や配置が仕様と一致していない |
| 405 Method Not Allowed | 許可されていないHTTPメソッドを使用した状態 | GETかPOST以外のメソッドで送信している |
| 422 Unprocessable Entity | 形式は受理できるが内容に問題がある状態 | URLやキーの形式が不正など細かな検証エラー |
レート制限とサーバーエラー
| コード | 意味 | 管理者向けの解釈 |
|---|---|---|
| 429 Too Many Requests | 短時間に多くのリクエストを送信した状態 | 送り過ぎと判断されているため間隔を空けて再送する |
| 500 Internal Server Error | サーバー側の一時的な障害 | 時間を置いて再試行すると解消する可能性が高い |
実際の運用では成功かどうかキーが正しいか送り過ぎていないか形式に問題がないかを確認するだけで十分です。 更新通知くんではこれらの返り値を日本語で分かりやすく表示し初心者でもIndexNowの結果を理解しやすいようにすることを目指しています。
注意事項
- IndexNow の仕様変更により挙動が変わる可能性があります
- 通知は JSON 形式で送信されます
- プロテクトされたファイルは通知対象外です
- HTML 以外のファイルは通知されません
IndexNowとは?
IndexNowはサイトの更新を検索エンジンに知らせるための仕組みです。初心者でも理解しやすいように言うとサイトを更新したよと検索エンジンに手を挙げて伝えるための合図です。通常検索エンジンは世界中のサイトを巡回して変化を探しますがその巡回はいつ来るか分からず更新してもすぐに気付いてもらえないことがあります。IndexNowはその不確実さを減らすために作られた仕組みで更新したページのURLを検索エンジンに直接知らせることで変化を見逃されにくくします。
どうしてBingはIndexNowが必要なのか
Bingはサイト側から更新を知らせてもらうことで無駄な巡回を減らし効率よく新しい情報を取り込むことを重視しています。世界中のサイトを常に巡回するには大きな負荷がかかるためサイト側が更新したタイミングを教えてくれると検索エンジンは必要な場所だけを重点的に確認できます。特に静的サイトや手動更新のサイトでは更新頻度が一定ではないためIndexNowで更新を知らせてもらう方が検索エンジンにとっても管理者にとっても都合が良い仕組みになります。
どうしてGoogleはIndexNowを使わないのか
Googleは従来の巡回方式を中心にしておりサイトの変化を自動で見つける仕組みを長年運用しています。Googleは膨大な巡回システムを持っているためサイト側から更新を知らせる仕組みを必須としていません。つまりGoogleは自分でサイトを探しに行く方式を続けておりIndexNowのような通知型の仕組みを採用していないのです。手動更新のサイトではGoogleに更新を知らせる手段がないため反映までの時間が読みにくくなります。
なんだコレ?な人向けまとめ
- IndexNowの基本 サイト更新を検索エンジンに知らせる
- Bingが採用する理由 更新を確実に受け取り効率よく反映するため
- Googleが採用しない理由 巡回中心の仕組みを長年運用しているため
IndexNowは難しい技術ではなくサイト更新を検索エンジンに伝えるためのシンプルな仕組みです。手動更新のサイトほどこの合図が役に立ち更新した内容を確実に届ける助けになります。
ダウンロード
- ■動作環境
- Windows 10 / 11(64bit)
- CPU : Core i3 / Ryzen 3 ( 推奨 : Core i5 / Ryzen 5 以上)
- メモリー : 4GB ( 推奨 : 8GB )
- 空き容量 : 1GB以上

