IndexNowとは
IndexNowとは、Webサイトのコンテンツの追加・更新・削除を、検索エンジンに即座に通知するためのオープンプロトコルです。2021年にMicrosoft(Bing)とYandexが共同で公開しました。
従来のインデックス登録の流れでは、検索エンジンのクローラーがWebサイトを定期的に巡回し、変更を検出してインデックスを更新していました。しかしこの方式では、変更が検索結果に反映されるまでにタイムラグが生じます。
IndexNowでは、サイト側から能動的に検索エンジンへURLを通知(push)します。これにより、クローラーの巡回を待つことなく、更新内容が素早くインデックスに反映されることが期待できます。
IndexNowの仕組み
IndexNowの動作は非常にシンプルです。
- APIキーを生成し、自分のサイトのルートディレクトリにキーファイルを配置(サイト所有権の証明)
- サイトに変更があったとき、HTTPリクエストで変更URLを検索エンジンのIndexNowエンドポイントに送信
- 検索エンジンがURLを受信し、クロール・インデックスの優先度を引き上げ
1回のリクエストで最大10,000件のURLを一括送信でき、送信先の検索エンジンは受け取ったURL情報を他の対応検索エンジンとも共有します。つまり、1つの検索エンジンに通知するだけで、対応するすべての検索エンジンにURLが伝達されます。
IndexNowのメリットとデメリット
メリット
- インデックス速度の向上: クローラーの巡回を待たずに、変更を即座に通知できる
- クロール負荷の軽減: 検索エンジンが不要なクロールを減らせるため、サーバー負荷が下がる
- 無料で利用可能: オープンプロトコルのため、誰でも無償で利用できる
- 導入が簡単: APIキーの生成とHTTPリクエストだけで実装できる
- 環境にやさしい: 不要なクロールが減ることで、インターネット全体のエネルギー消費削減に貢献
デメリット
- インデックスを保証するものではない: 通知を送っても、検索エンジンがインデックスするかどうかは別問題
- 検索順位には直接影響しない: IndexNowはあくまでクロール・インデックスの速度を改善するもので、ランキングを上げる仕組みではない
- Googleの対応が限定的: 現時点でGoogleは試験的な対応にとどまっている
IndexNow対応の検索エンジン
Bing
IndexNowの共同開発者であり、最も積極的に対応している検索エンジンです。Bing Webmaster Toolsとの連携も充実しており、送信されたURLの処理状況をダッシュボードで確認できます。
Yandex
ロシア最大の検索エンジンであるYandexも、IndexNowの共同開発者として初期から対応しています。ロシア・CIS圏でのSEOを意識する場合に有効です。
Googleの対応状況
Googleは2024年時点でIndexNowを「試験的に評価中」と公表しています。Google Search Consoleの「URL検査」やIndexing APIといった独自のインデックス通知手段を持っているため、IndexNowへの全面対応は行っていません。ただし、将来的な対応の可能性は排除されていないため、導入しておいて損はありません。
その他の対応検索エンジン
Naver(韓国)、Seznam(チェコ)など、各国の検索エンジンも対応を広げています。前述の通り、1つの検索エンジンに通知すれば他の対応エンジンにもURL情報が共有されるため、個別に送信する必要はありません。
IndexNowの設定方法(手動でAPIを利用する場合)
IndexNowを直接APIで利用する場合の手順を、ステップごとに解説します。
ステップ1: APIキーを生成する
APIキーは32文字の16進数文字列です。以下のいずれかの方法で生成できます。
# OpenSSLで生成
openssl rand -hex 16
# Pythonで生成
python -c "import secrets; print(secrets.token_hex(16))"
# 出力例: 7be9fca90b3b4b039983fa8f06e03ee8
IndexNow公式サイト(indexnow.org)でもキーを生成できます。
ステップ2: キーファイルをサーバーに配置する
生成したAPIキーをテキストファイルに書き込み、Webサイトのルートディレクトリに配置します。ファイル名はAPIキーそのものです。
配置先: https://www.example.com/7be9fca90b3b4b039983fa8f06e03ee8.txt
ファイル内容: 7be9fca90b3b4b039983fa8f06e03ee8
このキーファイルにより、検索エンジンはリクエストの送信者が正当なサイト所有者であることを確認します。
ステップ3: URLを検索エンジンに送信する
単一URLの送信(GETリクエスト)
ブラウザやcurlから手軽にテストできます。
https://api.indexnow.org/indexnow?url=https://www.example.com/new-page&key=7be9fca90b3b4b039983fa8f06e03ee8
複数URLの一括送信(POSTリクエスト)
大量のURLを送信する場合はJSON形式のPOSTリクエストを使います。
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json" \
-d '{
"host": "www.example.com",
"key": "7be9fca90b3b4b039983fa8f06e03ee8",
"urlList": [
"https://www.example.com/page1",
"https://www.example.com/page2",
"https://www.example.com/updated-article"
]
}'
主なレスポンスコード
| HTTPステータス | 意味 |
|---|---|
| 200 | 送信成功 |
| 202 | 受理済み(後で処理) |
| 400 | リクエスト形式エラー |
| 403 | キーが無効 |
| 422 | URLがホストと不一致 |
| 429 | レート制限超過 |
WordPressでIndexNowを導入する方法
WordPressを使用している場合、プラグインを利用すればコードを書かずにIndexNowを導入できます。
IndexNow公式プラグイン
- WordPress管理画面の「プラグイン」→「新規追加」で「IndexNow」を検索
- 「IndexNow」プラグイン(Microsoft提供)をインストール・有効化
- APIキーが自動生成され、記事の作成・更新・削除時に自動でIndexNowに送信
設定はほぼ不要で、有効化するだけで動作します。
All in One SEO(AIOSEO)
All in One SEOのバージョン4.1.7以降では、IndexNow機能が組み込まれています。AIOSEOの設定画面からIndexNowを有効にするだけで、コンテンツ変更時に自動で通知が送信されます。
Yoast SEO + IndexNow
Yoast SEOを利用している場合は、別途IndexNowプラグインをインストールして併用する形になります。
プログラムからIndexNow APIを呼び出す方法
CMSを使わない静的サイトや独自システムの場合、プログラムからIndexNow APIを直接呼び出すことで自動化できます。
curlでの送信
最もシンプルな方法は、デプロイスクリプトにcurlコマンドを組み込むことです(前述の例を参照)。CI/CDパイプラインに組み込めば、デプロイと同時にインデックス通知を自動化できます。
Rustで高速かつ安全にIndexNowを実装する
大規模サイトの運用やバックエンド開発でRustを使っている場合は、indexnow-api ライブラリが便利です。非同期処理に対応しており、数行のコードでIndexNow送信を実装できます。
use indexnow_api::IndexNowApi;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// ドメインとAPIキーを指定して初期化
let api = IndexNowApi::new(
"www.example.com",
"7be9fca90b3b4b039983fa8f06e03ee8"
);
// 更新したURLを送信
let urls = vec![
"https://www.example.com/new-article".to_string(),
"https://www.example.com/updated-page".to_string(),
];
api.send_urls(urls).await?;
println!("IndexNowへの送信が完了しました");
Ok(())
}
indexnow-apiの主な特徴は以下の通りです。
- async/await対応: tokioベースの非同期処理で、大量URL送信時もサーバーをブロックしない
- 一括送信: 1リクエストで最大10,000 URLを送信可能
- 複数エンドポイント対応: Bing・Yandex・汎用エンドポイントを切り替え可能
- エラーハンドリング: 接続エラーとHTTPステータスエラーを型で区別
# Cargo.tomlに追加
[dependencies]
indexnow-api = "0.1.0"
tokio = { version = "1", features = ["full"] }
特定の検索エンジンに直接送信したい場合は、エンドポイントを指定できます。
let mut api = IndexNowApi::new("www.example.com", "your-api-key");
api.set_search_engine("https://www.bing.com"); // Bingに直接送信
CMSのWebhook連携、SSG(静的サイトジェネレーター)のビルド後の通知、ECサイトの商品ページ更新時の自動送信など、さまざまなユースケースで活用できます。
IndexNowとサイトマップの違い・併用のすすめ
IndexNowとXMLサイトマップはどちらも検索エンジンにURLを伝える手段ですが、役割が異なります。
| 項目 | IndexNow | XMLサイトマップ |
|---|---|---|
| 通知タイミング | リアルタイム(push型) | クローラー巡回時(pull型) |
| 対象 | 変更があったURLのみ | サイト全体のURL一覧 |
| 更新検知 | 即座に通知 | lastmodタグを参照 |
| 適したシーン | ニュース速報、頻繁な更新 | サイト全体の構造把握 |
両者は補完関係にあるため、併用が推奨されます。XMLサイトマップでサイト全体の構造を伝えつつ、IndexNowで変更のあったURLを即時通知するのが理想的な運用です。
IndexNowとGoogle Indexing APIの違い
GoogleはIndexNowに正式対応していない代わりに、独自のIndexing APIを提供しています。
| 項目 | IndexNow | Google Indexing API |
|---|---|---|
| 対応検索エンジン | Bing, Yandex, その他 | Googleのみ |
| 対象コンテンツ | すべてのURL | 本来はJobPosting/BroadcastEvent(実質全種類で動作) |
| 認証方式 | APIキーファイル | OAuthサービスアカウント |
| 導入難易度 | 簡単 | やや複雑 |
| 1日の送信上限 | 明示なし(レート制限あり) | 200件/日 |
Google検索でのインデックス速度を重視する場合はIndexing API、Bing/Yandexでの反映速度を重視する場合はIndexNowと、目的に応じて使い分けましょう。
SEO効果と活用しやすいシーン
IndexNowのSEO効果
IndexNowを導入しても検索順位が直接上がるわけではありません。IndexNowが改善するのはあくまで「インデックスの速度」です。ただし、以下のような間接的なSEO効果は期待できます。
- 新しい記事や更新内容が素早く検索結果に反映される
- 古い情報が検索結果に残り続けるリスクが減る
- 削除したページの検索結果からの除外が早まる
活用しやすいサイト・シーン
- ニュースサイト: 速報記事のインデックスを最速にしたい
- ECサイト: 商品の追加・価格変更・在庫切れの反映を早めたい
- 大規模サイト: 数万〜数百万ページを持つサイトでクロール効率を上げたい
- 技術ブログ: 記事公開と同時にBing検索に反映させたい
運用上の注意点
- 同じURLを短時間に何度も送信しない: レート制限にかかる可能性がある
- 存在しないURLを送信しない: 検索エンジンの信頼性評価に影響する可能性
- noindexのページを送信しない: 矛盾したシグナルを送ることになる
- APIキーは安全に管理する: 第三者にキーが漏洩すると不正な通知が送られるリスクがある
よくある質問(FAQ)
Q. IndexNowとは何ですか?
IndexNowは、Webサイトのコンテンツ変更を検索エンジンに即座に通知するオープンプロトコルです。MicrosoftとYandexが共同開発し、Bing、Yandex、その他の検索エンジンが対応しています。
Q. GoogleはIndexNowに対応していますか?
2024年時点で、Googleは「試験的に評価中」としており、正式には対応していません。Google向けにはGoogle Search ConsoleのURL検査やIndexing APIが代替手段となります。
Q. IndexNowを導入するとSEO順位は上がりますか?
IndexNow自体は検索順位に直接影響しません。インデックスの速度を改善するプロトコルです。ただし、新しいコンテンツが素早く検索結果に反映されるため、間接的にトラフィック向上に寄与する可能性はあります。
Q. 小規模なサイトでも導入すべきですか?
小規模サイトでもBingやYandexからの流入を増やしたい場合は導入する価値があります。WordPressなら公式プラグインを有効化するだけで設定が完了するため、導入コストはほぼゼロです。
Q. IndexNowの送信に費用はかかりますか?
IndexNowはオープンプロトコルであり、完全無料で利用できます。APIキーの生成、URLの送信、検索エンジンへの通知、すべて無償です。
まとめ
IndexNowは、Webサイトの変更を検索エンジンにリアルタイムで通知するオープンプロトコルです。Bing・Yandexを中心に対応が進んでおり、導入することでインデックス速度の向上とクロール負荷の軽減が期待できます。
WordPressなら公式プラグインで手軽に導入でき、独自システムではAPI経由で実装が可能です。Rustを使ったバックエンド開発では、indexnow-apiライブラリを活用すれば、非同期処理による高効率なURL送信を数行のコードで実現できます。
Googleの正式対応は未定ですが、Bing経由のトラフィックは年々増加傾向にあり、IndexNowの重要性は今後さらに高まるでしょう。まだ導入していない方は、この機会にぜひ設定してみてください。