通知型IndexNowでインデックス

IndexNowの使い方とAPI通知設定|静的WebサイトのためのBingインデックス高速化

IndexNowの通知を使うメリット

IndexNowの設定方法と通知メリットを説明する図

IndexNow(インデックスナウ)は、Webページの更新や新規公開をBingなどの検索エンジンに即時通知できる最新プロトコルです。

一度Bingに通知すれば、Yahoo! JAPANやDuckDuckGoなど、IndexNowに対応した他の検索エンジンにも情報が共有されるため、効率的なインデックス登録が期待できます。

ただし、GoogleはIndexNow非対応のため、従来通りGoogle Search ConsoleのURL検査ツールによる巡回待ちが必要です。

IndexNowに登録できない!?

このページでは、HTMLファイルを直接編集して運用している「静的ウェブサイト」向けに、IndexNowを手動で設定・通知する方法を解説します。WordPressなどのプラグインを利用できない、コードベースでサイトを構築している個人・中小規模のサイト管理者に最適化した内容です。

Bingでサイト管理しているならインデックスまでの時間を大幅に短縮できるIndexNowを採用して、SEO効果を実感しましょう。

SOCRATETSU featuring Medjed

Googleは今のところ含まれてません

IndexNowをWebサイトに統合する手順

wordpress未使用のウェブサイトオーナーのIndexNow設定手順を示した画像

WordPress Pluginのないサイトに対応

今回は、WordPress(ワードプレス)などのプラグインを使用していないウェブサイトオーナー向けに、IndexNowの設定方法を解説します。静的HTMLサイトやカスタムCMSなど、プラグインが使えない環境向けの手動設定手順です。

IndexNow導入の大まかな手順(4ステップ)

  1. APIキーの作成(IndexNow公式またはBing Webマスターツールから取得)
  2. APIキーをWebサイトのルート(トップ階層)に設置する
  3. 通知に使うJSON形式のリクエストを作成(URL一覧を含める)
  4. コマンドプロンプト・PowerShell・ターミナルなどから通知を送信

APIキーを取得する

APIキーは、下記のようにランダムに英数字が並んだテキストファイル(拡張子は txt )です。

  • ファイル名:ランダムなキー(例:4EE1794E83E849B99C581912FBB22A51.txt
  • ファイル内容:キー文字列のみ(ファイル名と中身は一致)

APIキーは、Bing WebマスターツールのIndexNowから、もしくは公式サイトから取得できます。

IndexNow公式サイト

APIキーで所有者認証する

APIキーを「ホストする」とは、認証用テキストファイル(.txt)をサイトのトップ階層にアップロードして設置することで所有者認証を確認できます。

オプション1のやり方

UTF-8 キー ファイルを Web サイトのルートでホストします: 4EE1794E83E849B99C581912FBB22A51.txt このファイルにはキー 4EE1794E83E849B99C581912FBB22A51 が含まれている必要があります

これは「サイトのルート(トップ階層、たとえば https://socratetsu.jp/)に、4EE1794E83E849B99C581912FBB22A51.txt というファイルを置く」という意味です。

IndexNowでは、検索エンジンがサイトの所有者を確認するため、認証キーを含むテキストファイルをサイトのルートに設置する必要があります。

https://socratetsu.jp/4ee1794e83e849b99c581912fbb22a51.txt

このテキストファイルの中身はキーと同じ文字列で構成されます。

※これは実際のAPIキーではありません。

オプション 2のやり方

すでにオプション1の方法で認証キーをルートに設置している場合、オプション2の対応は不要です。

同じホスト内の他の場所にある 1 対多数の UTF-8 エンコード テキスト キー ファイルをホストします。

注: URL を送信すると、 キーファイルの場所を keyLocation URL パラメータ値として指定する必要があります

必ずしも「サイトルートにファイルを置かなくてもいい」というやり方です。たとえば、https://example.com/indexnow_key.txt みたいな別の場所に置いてもOK。

ただIndexNowに通知する際に「キーの場所(URL)」を明示的に伝える必要があります。

また、通知にはcurl(カール)というコマンドラインツールの使用が必要な場合もあり、初心者には少しハードルが高いです。 そのため、特別な理由がなければオプション1の方法をおすすめします。

更新したURLを IndexNow に送信する

URL一覧を「JSON形式のファイル」にする

通知に使うJSON形式のリクエストをテキストエディタ(例:メモ帳)で作成し、保存します。

送信するページが複数ある場合は、アドレスの後ろにカンマで区切り記述することで一括送信できます。(10ページまで)

新規・更新ページのjsonファイルの作成
// 送信用のJSON例
 {
    "host": "socratetsu.jp",
    "key": "xxxxx",
    "keyLocation": "https://socratetsu.jp/xxxxx.txt",
    "urlList": [
    "https://socratetsu.jp/study/bing_indexnow.html"
     ]
}

上記のようにメモ帳やテキストエディタで作成し、「update.json」というファイル名でデスクトップに保存します。(今回はデスクトップとしました)

必要なデータ構成の解説(urls.json)
  • host:サイトのドメイン(例:"socratetsu.jp"
  • key:取得したIndexNowキー
  • keyLocation:キー認証ファイルのURL(例:"socratetsu.jp/XXXXX.txt"
  • urls:通知するURL一覧

IndexNow開始のタイミングはいつ?

APIキーを送信してIndexNowが「開始された」となるのは、Bingが送信されたデータを受け取って処理を完了した時のようです。

成功した場合、Bing Webmaster Tools内で「Get Started」の表示が消え、IndexNowが正常に機能している状態になります。通常、APIキーを送信後、最大24時間程度で反映されることが多いとのことです。

4.通知する方法(OS別)

Windows(コマンドプロンプト)から送信する例

タスクバーの検索ウィンドウに「コマンドプロンプト」と入力すると候補で出てきます。そこから起動できます。

curl -X POST https://www.bing.com/indexnow ^
    -H "Content-Type: application/json" ^
     --data "@C:\Users\FMV-USER\OneDrive\デスクトップ\update.json"

Windows(PowerShell)から送信する例

タスクバーの検索ウィンドウに「powershell」と入力すると候補で出てきます。そこから起動できます。

# PowerShell例
    $headers = @{ "Content-Type" = "application/json" }
    Invoke-WebRequest -Uri "https://www.bing.com/indexnow" `
        -Method POST `
        -Headers $headers `
        -InFile "C:\Users\FMV-USER\OneDrive\デスクトップ\update.json"

Macのターミナルから送信する例

Launchpadを開き、スポットライト検索ウィンドウに「ターミナル」と入力すると起動できます。

curl -X POST https://www.bing.com/indexnow \
    -H "Content-Type: application/json"\
    --data @"/Users/your-username/Desktop/update.json"
ファイルが見つからないエラーが出る場合

ファイルが見つからないというエラーが出る場合は、ユーザー名もしくはファイルの場所が間違っている可能性があります。その場合、コマンドプロンプトで下記コードでユーザー名を確認できます。

echo %username%
拡張子もあっているし、ユーザー名もあっているがファイルがないと返される場合

✅ 1. Windows 10/11では、デスクトップが実は別の場所 OneDrive にリダイレクトされている場合があります。

確認方法(PowerShell)
[Environment]::GetFolderPath("Desktop")

上記を PowerShell に貼り付けて Enter を押してください。

表示されたパスが本当に C:\Users\<ユーザー名>\Desktop か確認できます。

JSONを直接書いてインデックス通知を送る方法

本記事では「JSONファイルを作って送信する方法」で解説しました。理由は、毎回テキストエディタで通知するURLだけを書き換えるだけで済み、ファイル名で管理しやすく、操作が直感的だからです。

ファイルを参照できない場合、下記のようにコマンド内に直接JSONを記述して通知することも可能です。

JSONの直接記述(コマンドプロンプト)

curl -X POST https://www.bing.com/indexnow ^
-H "Content-Type: application/json" ^
-d "{^
`"host`": `"socratetsu.jp`",^
`"key`": `"xxxxx`",^
`"keyLocation`": `"https://socratetsu.jp/xxxxx.txt`",^
`"urlList`": [^
`"https://socratetsu.jp/study/bing_indexnow.html`"^
]^
}"

手動で送信する

ブラウザから通知する方法

ページ更新が少ない場合は、ブラウザのURLバーに送信リクエストを直接入力することで、簡易的に通知を送信もできます。

ただ手軽に実行できるというメリットはありますが、正式なHTTP POSTリクエストではないため、推奨される方法ではありません。

https://api.indexnow.org/indexnow?url=https://あなたのドメイン/新しいページ.html&key=あなたのキー
                

上記コードの「あなたのドメイン」や「あなたのキー」を自身のサイトに合わせて置き換え、テキストエディタで整形し、ブラウザのURL欄に貼り付けて実行してください。

ブラウザから送信がダメな理由
  • クローラーやCMS、サーバーサイドスクリプトからの自動通知を想定。ブラウザからの手動通知は本来の利用想定外
  • APIキーがURLに含まれるため、第三者にコピーされる可能性がある
  • CORSの制限により送信がブロックされる場合がある
  • キャッシュや再読み込みで意図しない動作になることがある

複数のURLが送れないことや、ステータスコードが返ってこないので、ちゃんと送れたのか不安というのもあります。

IndexNowの管理画面(WebMasterTool)

BingのWebMasterTool内のIndexNow管理画面

送信が成功すると、BingのWebMasterToolの左メニュー「IndexNow」をクリックすると、管理画面が出るようになります。右にある「view」をクリックすると、送信したURLのステータス情報が確認できます。

まとめ

IndexNow(インデックスナウ)を活用すれば、ページ更新後すぐに検索エンジンに認識される確率が高まります。特に更新頻度の高いサイトでは導入必須ではないでしょうか。

少し専門的な部分もありますが、一度設定してしまえばこの先インデックスがラクになります。この記事が参考になれば幸いです。

【関連記事】
DuckDuckckGoでさらにSEO効果を実感!
プライバシー重視のduckduckgoの魅力に迫る

プライバシー重視、パーソナイザイズなし、広告なし。SEOをさらに実感できる検索エンジン「DuckDuckckGo」とは?

GoogleAdSense
googleアドセンス作業をイメージした画像

Googleアドセンスは稼げる?稼げない?どっち

キャリア10年以上でわかったこと、それは…

PC(html)
DNSプリフェッチでリレーションしているイメージ画像

GoogleAdsense広告を速く表示する

DNSプリフェッチで5つの参照先を事前リレーションするだけで、すばやく表示されます

PC(html/Javascript)
スマホでの画像遅延読み込みイメージイラスト

画像の遅延読み込み実装でサイト表示高速化

PagespeedInsightのスコア改善に役立つ画像遅延読み込みの実装方法についてわかりやすく解説します

PC(HP)
画像の最適化手順を説明したページへのリンク画像

画像を軽くする最適化はお済みですか?

画像にはいろいろな情報が入っています。ムダな部分を削除して容量を小さくしましょう。

TOP