COLUMN

コラム

SEOで意識すべきクローラー対策とは?

2022年5月12日テクニカルSEO,クロール対策

検索順位表示の仕組み

クローラーの説明の前に、インターネット上の情報がランキング付けして表示されるまでの流れを簡単に押さえておきましょう。
検索エンジンのランキング付の仕組みとは、クローラーがインターネット上にあるあらゆる情報の収集をし、それをインデックス(データベース登録)、登録されたデータがランキング付(アルゴリズム評価)されるというものです。裏を返せば、ランキング付するためには、インデックス(データベース登録)として各種情報が保存されている事が必要で、インデックスするには、クロールが必要です。情報を拾ってくるプログラムをクローラーと呼びます。どんなに頑張ってコンテンツを制作してもクローリングされなければ、検索結果に表示されません。

クローラーは何をしているのか

クローラーは、ページに辿り着くと「解析(パーシング)」を行います。
「解析(パーシング)」とは、ページの情報をアルゴリズムが分かりやすいように処理し、データベースに登録していくことです。その一環で、ページ内リンクを見つけって次々とページの巡回を進めていきます。
―クローリングの対象ファイル
クローリングの対象は以下のように多岐に渡り、web上のほとんどの情報がクローラーによって集められています。
・HTMLファイル
・CSSファイル
・JavaScriptファイル
・画像
・Flash
・PDF
―クローラーの種類
クローラーにも種類があり、検索エンジンごとに情報を拾ってくるプログラムが用意されています。この他にもクローラーサービスを展開している企業などもあり様々なクローラーがあります。
Googlebot(Google)
・Bingbot(マイクロソフトが運営するbing)
・Yahoo Slurp(日本以外のYahoo!)
・Baiduspider(中国の検索サイト百度)
・Yetibot(韓国の大手検索サイトNaver)

クロール対策におけるクローラビリティの重要性

1つ1つのサイトに規模の差はありますが、インターネット上には何千何億ものページが存在します。そのような中で、クローラーにとっても巡回できる数には限界があります。そのため、クロールがあまり必要ないと判断されてしまうと、無駄を防ぐためクロールの頻度が落ちてしまうのです。
・サイトが継続的に更新されているか
更新がずっと止まっているサイトは、クロールの必要がないと判断されてしまいます。
・サイトの需要はあるか
更新頻度はそこまで高くなくとも、多くのユーザーに利用されているサイトはきちんと定期的にクロールされます。
SEO対策に力を入れている皆さんは、上記のようなサイトの継続更新や、しっかりしたコンテンツの制作には既に力を入れているものだと思います。それでは、せっかく作成したページをクロールしてもらい、インデックスされるためにはどうしたらいいでしょうか?そのためには、クローラビリティを向上させる必要があります。クローラビリティとは、クローラーにページを見つけてもらいやすくして、クローラーがwebサイトの情報を解読しやすいようにwebサイトを表現するということです。

クローラーに高い頻度できてもらうには
クロービリティが高いページやサイトとはどのようなものか具体的に説明していきます。
・関連の高いページには内部リンクを貼る
きちんと関連ページにはリンクを貼っていくことで、クローラーにページごとの関連を認識してもらえます。また、その際、分かりやすいリンク名にすることで、キーワードとの関連性も分かりやすくなります。
・パンくずリストを設定し、ページ階層を分かりやすくする
URLが複雑に張り巡らされているとクローラーにとって分かりにくいサイトとなり、効率が落ちてしまいます。サイトの構造をクローラーが把握しやすいようにパンクスリストの設定をしましょう。<パンくずリストの設定についてはこちら>

・重要なページはURLの階層を浅くする
クローラーは内部リンクを辿っていくため、リンクの階層が浅いページの方がクローラに巡回されやすいです。
リンクが深くなってしまうと、クローラーがそのページを見つけるのに時間がかかてしまう可能性があります。

・文章構成を伝えるためにきちんとマークアップする
クローラーは私たちが読んでいるようなテキストの内容をそのまま理解しているわけではありません。見出しや段落などページの構成をHTMLタグでマークアップすることで、ページ構成を伝えることができます。
HTMLは<要素名 属性=“属性値”>のように設定することができ、
「要素名の属性は属性値です」という風に、クローラーに伝えているものと置き換えてもらうと分かりやすいです。
例えば、
Img(画像埋め込みの要素)、scr(属性)、属性値(使用画像のURL)、alt
クローラーの図解と設定した場合、
「img(画像埋め込み)のscr(情報元)は”URL”でalt(img要素の説明)です。」と伝えていることになります。
ページ内の画像や図解をクローラーに伝えるaltタグの設定などは忘れがちだったりします。細かいタグまでしっかり入れていきましょう。
htmlタグの書き方解説はこちら
・クローラー用のXMLサイトマップを用意する
サイトマップには2種類あり、ユーザーが目的のページにたどり着きやすいようにサイト情報を分かりやすく伝えるためのHTMLサイトマップと、クローラーに必要な情報を分かりやすく伝えるXMLサイトマップがあります。XMLサイトマップを用意することで、
クローラーに様々なサイト情報を伝えることができます。
・ページの最終更新日を伝える
・ページの更新頻度を伝える
・ページに優先順位を伝える
・内部リンクがほとんどないページの存在を伝える
クローラーはサイトの更新がされていないと、無駄を防ぐためクロールの頻度が落ちてしまうという話をしましたが、XMLサイトマップを用意していることで、更新情報をきちんと伝えることが出来ます。
▼関連記事
XMLサイトマップの設定について><おすすめプラグイン

大規模サイトは対策必須!クロールバジェットについて

これまで、クロールの重要性を解説してきましたが、全部が全部のページをクロールされればいいというわけではありません。皆さんはクロールバジェット という言葉を聞いたことはありますか?
クロールバジェットとは、クローラーがページを巡回できる上限のことです。
バジェット(budget)=予算という意味ですが、クロールにも予算のように、あらかじめ決められた数があるという風に覚えると分かりやすく混同しません。クロールバジェットを超えると、クローラーは対象サイトのページをクロールできなくなるので、クロールを最適化していく必要があります。
ただし、そのような上限に達する場合はあまりないので、何万ページにも及ぶ大規模サイト以外はページ数によってクロールがされなくなってしまうという点では、あまり気にする必要がありません。
Googleが上限を考慮した方がいいとしているサイトの例は以下の場合です。
・大規模なサイト(100 万ページ以上)で、コンテンツの更新頻度が中程度(1 週間に 1 回)の場合
・中規模以上のサイト(10,000 ページ以上)で、(日常的に)コンテンツがめまぐるしく変更される場合
また、不動産サイトやECサイトのように複合検索が出来るようにしており、それぞれの検索結果のURLでパラメータを設定している場合や、ECサイトの運営で商品番号だけが違う申し込みURLを大量に用意している場合、スマホ用サイトとPC用サイトで別々のURLを用意している場合なども注意が必要です。ページ内容は同じなのに複数のURLが存在している状態なので、それらを管理していないと、実際に評価してほしいページに安定的にクロールされない問題が出てしまいます。

クロールを管理したい場合とその拒否の方法

クロールバジェットの考慮以外にも、
・低品質と判断されるリスクがあるページや、サイトとは関連性の低いページでも自分のこだわりとして残しておきたい場合やサイトの構成としては残しておきたい場合
・テスト中や調整中の場合
などクロールを拒否しておいた方がいい場合もあります。方法をいくつか紹介するので参考にしてください。

nofollow でリンク単位の管理をする

nofollowとはクローラーが指定したリンクを辿らないようにしたい場合設定する値です。クロールバジェット を考慮し、無駄なリンクを辿らせ内容にする場合におすすめです。
アンカー要素(a要素)のrel属性で特定リンクのnofollowが出来ます。
(例)「今回はAサイトをおすすめします。」のAサイトリンクをnofollow としたい場合には、以下のようにAサイト紹介リンクにnofollowをつけます。
「今回は、Aサイトをおすすめします。」
また、ページ全体にnofollowしたい場合はmeta要素で指定できます。

noindexで拒否する

noindexとはmeta要素の一種で、この記述をするとクローラーはindex登録をしません。他のサイトがそのページにリンクしているかどうかにかかわらず、そのページを Google 検索結果から完全に削除します。
リンク管理ではなく、検索結果自体から表示をなくしたい時には使用しましょう。
以下のように対象ページの セクションに記載してください。
・ほとんどの検索エンジンのクローラーをブロックしたい場合

・Googlebotをブロックしたい場合

<meta要素の解説>
注意!noindex設定をしているはずなのに、インデックスされてしまう場合がある?!
noindex設定したページは、次に解説するクロール拒否方法の1つであるrobots.txt設定はしないでください。
noindex設定したページに、robots.txtを設定してしまうと、クローラーはnoindexディレクティブを認識せず、他のページからのリンクで、そのページはインデックス表示されてしまう可能性があります。
何故そのようなことが起こってしまうのか、robots.txtの仕組みについて解説します。

robots.txtで拒否する

robots.txt ファイルを用意し、サイトにアップロードする方法です。nofollowと同様に、クロールしてほしくないページに対し有効な手段です。
リンクを辿っていくことを拒否するnofollowとは違い、robots.txtは特定のパスやファイルに対してクローラー自体を拒否する方法です。
そのため、noindex設定が認識される前に、robots.txt設定してしまうと、ページに設定されているnoindex設定もクローラーは認識しなくなってしまいます。
そしてその結果、別ページの内部リンクなどから、インデックスされ続けてしまう事態となります。
このような場合、「robots.txt によりブロックされましたが、インデックスに登録しました」という警告がサーチコンソール上に出てくるので、noindex設定がGoogleに認識されたこと(検索してもページが出てこない)を確認してから、robots.txtは行うようにしましょう。
<公式:robots.txtファイルの作成方法
ただ、noindexを設定したり、robots.txtを設定したりしたとしても、それはあくまでクローラーに対する働きかけのため、ユーザーが対象ページをブックマークしていた場合には、ページの閲覧が可能です。
開発中のページなど、クロールされたくない、ユーザーにもページにアクセスしてほしくない場合にはパスワードなどの制限をかけましょう。
次にクローラーのアクセスも、ユーザーのアクセスも制限できる方法を紹介します。

.htaccess(エイチティーアクセス)で拒否する

.htaccessとは、「Apache(アパッチ)」というソフトウェアを使用しているWebサーバーをディレクトリ単位で設定制御することができるファイルです。リダイレクトの設定ができたり、特定のIPアドレスからしか接続できないようにしたり色々な設定ができます。その中の1つにBASIC認証というサイトにID・パスワードによる認証を追加する設定があります。BASIC認証を設定すると、クローラーもそのサイトにアクセスできなくなります。BASIC認証の設定はrobots.txt ファイルと同様に、.htaccessファイルを用意し、サーバーにアップロードすることで設定ができます。
クローラーもユーザーも通したくない場合にはBASIC認証を設定しましょう。
<BASIC認証の詳しい解説はこちらから※準備中>
●各拒否方法とその違いまとめ

SEO STYLEではサイトの無料診断やご相談受け付け中

今回はクロール対策について解説しました。SEO対策にはコンテンツの質はもちろんのこと、こういった技術的なテクニカルSEOも必須なので是非対策していきましょう。
ただ、こういった技術的な部分はIT用語も多くなり、勉強して対策していくのは難しいことも多いかもしれません。そのような時は、SEO STYLEにご相談ください。サイト診断からサイトの問題をあぶり出し、適切な対処方法をご提案します。<お問い合わせ


CONTACT

お問い合わせ

各種サービスに関するお問い合わせ、SEOに関するお悩みを承っております。
お電話またはフォームよりお問い合わせください。

お電話でのお問い合わせ

0120-407-624

受付:平日AM10:00〜PM7:00

メールはこちら

お問い合わせ

資料はこちら

資料請求