IndexNow – Bingサイトマップ更新通知の後継ツールを使ってみる

こんにちは、システム開発部のkiwiです。ニフティ不動産のバックエンドを中心に、会社全体の技術サポートを行なっています。

弊社のWebサービスではサイトマップを定期的に生成するバッチ処理が動いています。しかし、2021年12月末頃より、突然この生成バッチからエラー通知が届くようになりました。

サイトマップ生成バッチでは、サイトマップが更新したことをBingに通知するため、生成したサイトマップのURLを https://www.bing.com/ping に送信していました。2021年12月末頃より、このURLから410 (Gone)が返却されるようになっていたことがエラー通知の原因でした。

一方、2021年10月にBingは、Yandexと共同でIndexNowという新しい仕組みを公開しました。Bing Blogでも積極的に情報が公開されており、今後はサイトの更新をBingに伝えるにはこちらの仕組みを使うのが良さそうです。この記事では、IndexNowの概要や使い方についてご紹介します。

IndexNowとは?

https://blogs.bing.com/webmaster/january-2022/IndexNow-Announcing-Sharing-of-Submitted-URLs より

IndexNowは、従来の(巨大になりがちな)サイトマップによる更新の通知ではなく、更新したURLを直接検索エンジンに通知するための新たな仕組みです。

以下のようなURLに対して、更新(または削除)されたURLをapi.indexnow.orgに対して送信します。

https://api.indexnow.org/indexnow?url=url-changed&key=your-key

IndexNowに送信された更新情報は、2022年2月時点ではBingとYandexに対して共有されます。

使い方

キーの発行

IndexNowのURLには、自分が所有しているサイトのリクエストであることを示すための「キー」を含める必要があります。Bingの開発者向けサイトにてキーを生成することができます。

上記のサイトでキーを生成すると、テキストファイルをダウンロードすることができます。これをリクエストをするドメインのルートディレクトリに配置することで、IndexNowのリクエストを送ることができるようになります。

IndexNowのリクエストにキー自体のURLを指定することで、ドメインのルートディレクトリ以外の場所に置いたキーを使ってリクエストを送信することも可能です。特定のサブディレクトリしかアクセス権限がない場合にはこちらの方法が使用できます。

リクエスト

更新通知を1件送信する場合、以下の形式でリクエストを送信します。

https://api.indexnow.org/indexnow?url=url-changed&key=your-key

複数のURLを送信する場合、json形式で指定することが可能です。

POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: api.indexnow.org
{
  "host": "www.example.com",
  "key": "your-key",
  "urlList": [
      "https://www.example.com/url1",
      "https://www.example.com/folder/url2",
      "https://www.example.com/url3"
  ]
}

キーの公開ディレクトリを指定する場合や、そのほか細かい仕様はドキュメントに記載されています。

まとめ

従来のサイトマップの更新通知とは考え方がまったく異なるIndexNowですが、サイトの更新をより柔軟に検索エンジンに伝えることができるようになります。今後はIndexNowも活用しながら、さまざまな情報をより早くみなさんにお届けできるようにしていきたいと思います。

この記事をシェア

掲載内容は、記事執筆時点の情報をもとにしています。