クロールを最適化するIndexing API・IndexNowの意義と、自力でできる3つのこと(後編)
この記事は、クロールの基本について、前後編の2回に分けてお届けしている。後編では2つのAPI「Google Indexing API」と「IndexNow」を紹介し、Google Search Consoleの手動送信について説明した後、自分たちがクロール最適化のために実行できる3つのポイントを紹介する。
検索エンジンからのサポートとして、クロールを最適化させるAPIが2つあり、Google Search Consoleの手動送信という手段がある。
Google Indexing API
IndexNow
Google Search Consoleの手動送信
それぞれについて解説する。
Google Indexing APIはすべての種類に使えるが、問題もある
まずGoogle Indexing APIについてだ。GoogleはこのGoogle Indexing APIについて、「ウェブサイトに求人情報やブロードキャストの構造化データを記載している場合にのみ使用できる」と繰り返し説明していたが、多くの人がテストした結果、それは誤りであることが証明されている。
Google Indexing APIはいかなる種類のコンテンツもクロールできるのだ。ただし、クロールバジェットやクロール量の最大化を考えると問題がある。Google Indexing APIでURLをクロールさせることはできても、ページ上に構造化データがなければ、インデックス登録には何の影響も与えないからだ。その場合、クロールによってサーバーにかける負荷や、Google Indexing APIと連携させるために費やした時間はすべて無駄になってしまう。SEOに関するこの労力を、どこか他の場所に向けることもできる。
まとめると、結局Google Indexing APIには、求人情報やライブ動画が最適だ。それ以外のことに時間をかける価値はない。よろしいだろうか。
Googleが使っていなくても無視できないIndexNow。簡単に連携できるが、3つの問題がある
では次に、IndexNowに移ろう。IndexNowの最大の難点は、Googleは独自のAPIを持っているため、IndexNowを使っていないことだ。しかし、無視していいわけではない。
BingやYandexでも使われているし、多くのSEOツールやCRM、CDNでも使われているからだ。そのため、一般的に、これらのプラットフォームのいずれかを利用していて、インデックス化用のAPIがあることに気づいた場合、それを有効にするとIndexNowに送信される可能性がある。これらを連携させる利点は、有効にするだけで手軽に連携できることだ。
手軽に連携できるのはとても魅力的で、とてもエキサイティングだし、SEOで簡単に成果を出せるように思えるかもしれないが、以下の3つの注意点がある:
ターゲットオーディエンスにリーチできるか
インプリメンテーション(実装方法)
有効性が高まるかわからない
1. ターゲットオーディエンスにリーチできるか
第1の注意点は、ターゲットオーディエンスだ。IndexNowを有効にすると、ロシアの大手検索エンジンYandexなどの検索エンジンに、自分のURLのすべてを伝えることになる。
君のサイトがロシアを拠点にしているなら、すばらしい結果になる。しかし、他の場所を拠点にしているなら、あまり良いこととは言えない。お金を払ってYandexのボットにサーバーをクロールしてもらっても、ターゲットオーディエンスにリーチできるわけではないからだ。
SEO担当者の仕事は、「クロールの量やサーバーへの負荷を最大化すること」ではない。「ターゲットオーディエンスにリーチし、エンゲージし、コンバージョンさせる」のが仕事だ。ターゲットオーディエンスがBingを使っておらず、Yandexも使っていないなら、これが自分のビジネスに本当に合っているのか、考え直したほうがいい。
2. インプリメンテーション(実装方法)
第2の注意点は、特に何らかのツールを使っている場合のインプリメンテーション(実装方法)だ。インデックス化用APIを正しく実装するには、そのツールに依存することになる。
たとえば、IndexNowを連携させたCDNの1つは、何かが作成、更新、または削除されてもイベントを送信しない。むしろURLが要求されるたびにイベントを送信する。
これはつまり、場合によってはrobots.txtで個別にブロックされているURLのpingをIndexNowのAPIに大量に送信することになるということだ。
あるいは、SEOと関係のないURLや、検索エンジンに知られたくないURL、サイト上のリンクをクロールしても見つからないURLのpingを大量に送信しているのかもしれな。
いきなりIndexNow関連の機能を有効にすることで、こうしたURLの存在を認識し、インデックス化し、ドメインオーソリティなどに影響を及ぼすようになる。これはサーバーに不必要な負荷をかける。
3. 有効性が高まるかはわからない
最後の注意点は、実際に有効性が高まるかどうかわからないことだ。ターゲットオーディエンスに適していると感じたら、自身のウェブサイトでテストしてみる必要がある。
しかし、私自身、自分のウェブサイトでテストして、重要なKPIである、
- クロールの有効性
- インデックス化の有効性
への影響を測定したところ、本来ならクロールやインデックス登録が行われなかったであろうURLのクロールには役に立たないことがわかった。
つまり、確かにクロールはされるが、IndexNowがなくてもクロールは同じ速度で行われたことになる。そのため、APIと連携させたり、これらのツールで想定通りに動作するかどうかをテストしたりする労力は、やはり無駄な機会費用になった。
検索エンジンによるクロールのサポート最後の領域、Search Consoleの手動送信
検索エンジンがクロールをサポートしてくれる最後の領域は、Search Consoleからの手動送信だ。これは本当に便利なツールだ。通常、約1時間以内にクロールが開始されるし、ほとんどの場合、クロールの有効性にプラスの影響を及ぼす。
ただし、欠点もある。手動送信できるURLは24時間で10件までだ。
しかし、その理由でSearch Consoleの手動送信を軽視してはならない。非常に価値の高いURLが10件あって、クロールさせるのに苦労しているなら、手動送信する価値があるのは間違いない。ボタンを1つクリックするだけで、Search ConsoleからURLを毎日10件送信してくれる簡単なスクリプトを作成することもできる。ただし、これにも限界がある。
クロールの最適化のために私たちができる3つのこと
検索エンジンは最善を尽くしているが、私たちのためにクロールの最適化の問題を解決してくれるわけではない。そのため、私たちは自力で解決しなければならないのだ。
クロールの有効性やインデックス化の有効性に真に意味のある影響を与えるためにできる3つのことを紹介する:
XMLサイトマップの最適化
サイト内リンクを見直す
URLパラメータの数を減らす
1. XMLサイトマップの最適化
まずはXMLサイトマップの最適化を確認することだ。最適化されたXMLサイトマップとは、最終更新日時がデータベースの作成時刻や更新時刻にできるだけ近い時刻に更新されているサイトマップのことだ。当然ながら多くの開発チームは、これをcronジョブで実行し、そのcronを1日1回実行する。
したがって、サイトマップ更新のcronジョブが午後11時に動くようになっているのならば、記事を午前8時に更新したとしても、Googleなど検索エンジンのボットは午後11時まではコンテンツが更新されたことを把握できない。午後11時までは更新がXMLサイトマップに反映されないためだ。
そのため、実際のイベントとXMLサイトマップで報告するイベントの時間差をできるだけ短くすることが非常に重要だ。
2. サイト内リンクを見直す
2つ目は、サイト内リンクの見直しだ。ここでは、SEOに関連するすべてのサイト内リンクのことをさしている。サイト全体のリンクを見直そう。やることは次のとおりだ:
モバイル版でもパンくずリストを表示させる
SEOに関連するフィルタはクロール可能にしておく
コンテンツをグループ化するために、関連コンテンツのリンクを用意する
これらを実現するためには、スマートフォンでJavaScriptを無効にし、JavaScriptなしでこれらのリンクに移動できることを確認する必要がある。それができなければGooglebotもいち早くインデックス登録できないからであり、Googlebotがいち早くインデックス登録できなければ、インデックス化の有効性スコアにマイナスの影響を与えるからだ。
3. URLパラメータの数を減らす
そして最後に、URLパラメータの数、特にトラッキングパラメータの数を減らす必要がある。
utmパラメータのように、メールのトラフィックがどこから来ているか、ソーシャルのトラフィックがどこから来ているか、プッシュ通知のトラフィックがどこから来ているかを確認できるパラメータが必要なのはよくわかる。
しかし、これらのトラッキングURLをGooglebotがクロールできるようにしておく必要はない。特に、インデックス作成の適切なディレクティブを指定していない場合Googlebotにクロールされると、かえって害になる。
まずは、こうしたパラメータ付きのURLをクロールできないようにすることだ。utmパラメータの文字列の先頭に、クエスチョンマークではなくハッシュ(「#」)を付けて使う※。これでGoogleアナリティクスでは完全にトラッキングされるが、Googleやその他の検索エンジンはクロールできなくなる。
クロールについてもっと詳しく知りたい人は、ぜひ私のTwitterをチェックしてほしい。アカウントは「@jes_scholz」だ。それでは、良い一日を。
ソーシャルもやってます!