このサイトはCloudflare Pagesでホストされておりかつ独自ドメインで運用されているため、Cloudflareの様々な機能をオンにしたりオフにしたりすることが出来ます。
その一つにベータ版の機能なのですが「Crawler Hints」というものがあります。今日はこれをこのサイトでオンにしたよという話です。多分大した内容にならない気がする。
結論
- スイッチをオンにするだけ
- IndexNowというよく分からない規格で検索エンジンに通知が行くように
Bingのクローラー
このサイトはいわゆるSEO対策と呼ばれるものをあまりしていません。しかしながら全くやっていないというわけではなく、有名な検索エンジンのうち2つへ細々とサイトマップを送信しています。その2つとはGoogleとBingです。
この2つの検索エンジンはウェブサイト運営者向けのサービスをそれぞれ設置しており、Googleは「Google Search Console」、Bingは「Bingウェブマスターツール」という名前です。それぞれのサービスでは検索エンジンがサイトマップを私が送信した後、どのようにこのサイトをクロールしているのかを(間接的にではありますが)見ることが出来ます。
Googleは遅くとも1日経てばクロールしてくださるのですが、Bingは30日以上経ってもクロールしてくださらないことがよくあります。というのもクロール済みのアドレスを一覧で見ることが出来るのですが、この記事を書いている9月7日の時点でクロール済みの最新の記事は8月10日の記事なんですよね。しかも8月10日までぎっちりクロールされているかというとそうではなく、感覚としては5つの記事のうち2つはクロールされている、といった感じです。Bingの検索結果はDuckDuckGoからのトラフィックなどにも大きな影響を与えてしまう可能性があるだけに悲しいですね。
それでもってBingはウェブマスターツールにそれなりに大きく「Cloudflare ユーザーは、Crawler Hints をオンにするだけで、サイトから IndexNow への送信が開始されます。」と載っけているんですよね。ご丁寧にその機能をオンにするための方法を解説したブログへのリンクまで掲載されています。
そのため大変むかついてはいるのですが、Crawler Hintsをオンにしていきたいと思います。
What is IndexNow
Bingの説明文に唐突に出てきた「IndexNow」とは何でしょうか。Bingが設置している説明ページには「Easy to use protocol that websites can call to notify Bing whenever website contents on any URL is updated or created allowing instant crawling, and discovery of the URL」と書いてあります。IndexNow.orgのドキュメントを見る限り、APIキーを生成した上でそれをウェブサイト上にテキストファイルの形で置かせるらしいですね。これが「Easy to use protocol」なんでしょう。なんで検索エンジンの都合でこっちが色々しないといけないんだよ
一応きちんと読むと、クロールしてほしいURLをキーとくっつけた形で検索エンジン所定のエンドポイントへ投げることで検索エンジンにクロールしてほしいと伝えることが出来るAPIのようです。投げることはPOSTメソッドを必ず使えといった感じではなく、1つのURLだけでいいなら
https://<searchengine>/indexnow?url=https://www.example.com/product.html&key=819f280744e84316a96d66b146bcaf27
といったアドレスにアクセスするだけでいいらしいです。これは普通に便利ですね。
設定
というわけでCloudflare上で設定していきましょう。Cloudflare側のブログを読むと、環境問題の観点からクロールしてほしいURLを検索エンジン側へと通知する良い点が上げられています。実にCloudflareらしいですね。
ドメインの設定からCachingを選び、また「構成」を選びましょう。そうするとページの中段にオンオフするスイッチが現れますので、オンにすることによってCrawler Hintsを有効にすることが出来ます。よっしゃー!
補足条項
設定画面に行くと「このサービスを有効にすることにより、お客様は機能に必要なWebサイト情報を共有することに同意し、Crawler Hintsの補足条項に同意したものとみなされます。」と重々しい文章が掲載されています。そのため、公開されている補足条項のうち、Crawler Hintsに関する部分だけを引用して読んでみましょう。
- By enabling Crawler Hints on your Zone, you authorize and instruct Cloudflare to share your websites’ hostnames and URL paths with third-party search engines (collectively, the “Crawler Hints Partners”).
- You understand that Crawler Hints is made available to you on an “as is” and “as available” basis. Crawler Hints is not covered by Cloudflare customer support and does not have an SLA. Cloudflare reserves the right to modify or discontinue Crawler Hints at any time without notice to you.
- IN NO EVENT WILL CLOUDFLARE BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES ARISING OUT OF OR RELATING TO YOUR ACCESS TO OR USE OF, OR YOUR INABILITY TO ACCESS OR USE CRAWLER HINTS, WHETHER BASED ON WARRANTY, CONTRACT, TORT (INCLUDING NEGLIGENCE), STATUTE, OR ANY OTHER LEGAL THEORY, WHETHER OR NOT CLOUDFLARE HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGE.
英語で長々と書いてあるため何かすごいことが書いてあるのかと思いきやあまり大したことは書いていませんね。SLAがあったところで何の役に立つのか分からないし。
最後に
というわけでCrawler Hintsをオンにしたというだけの話でした。過去にはCloudflareに画像を圧縮してもらおうとしたり、ページルールを使って転送設定をしたりしているので、何かの参考になれば幸いです。