クロール最適化とインデックス最適化

クロール最適化とインデックス最適化

「クロール最適化とインデックス最適化」についてのお話しです。
知らないと損をする!外部SEOの重要性とその方法」では、被リンクが検索順位に影響を与える理由として、次のようなストーリーを辿るから、というお話をしました。

  1. 被リンクを辿ってクローラーは巡回してくる
  2. クローラーが頻繁に巡回するとインデックスが促進される
  3. 3. インデックスが促進されるとページの情報が正確にGoogleデータベースに蓄積される
  4. 4. 良質なコンテンツを含み内部対策が正しく施されたページであれば、ランキングエンジンに評価される

検索エンジンによるクローラーの巡回とインデックスの構築に最適化できれば、ランキングエンジンに評価されやすくなり、結果として検索順位が上がる可能性が高くなります。

クロール最適化

クローラー(Webサイトの情報を収集するプログラム)がWebページを巡回することをクロールといいます。クローラーがWebページを訪れる方法は、大きく次の2つです。

  1. 被リンク(外部リンク)・内部リンクを辿って流入する
  2. XMLサイトマップを参照して流入する

XMLサイトマップはご存知でしょうか?WebサイトにもWebページとしてサイトマップが用意されることが多いですが、XMLサイトマップはこれとは異なります。検索エンジンにサイトの構成や更新頻度等を知らせためのもので、このXMLサイトマップにサイト内のURLを記載しておくことで、クローラーは素早くWebページを見つけることができるようになります。
XMLサイトマップにより、被リンクを辿ってWebページを訪れる通常のクロール処理では検出されない可能性のあるWebページも、Google に知らせることができるのです。
XMLサイトマップは、サイトを新規に作成したときはもちろん、更新時にも必ずアップするようにしましょう。

XMLサイトマップは以下のようにXML形式で作成します。

<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
<url>
<loc>http://www.firstitpro.com/</loc>
<lastmod>2014-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
<loc>http:// www.firstitpro.com /item/</loc>
<lastmod>2014-01-01</lastmod>
<changefreq> daily </changefreq>
<priority>0.5</priority>
</url>
</urlset>

<urlset>(必須)
ファイル内の他のタグを囲み、現在のプロトコル標準を参照します。
<url>(必須)
各URL エントリの親タグ。その他のタグは、このタグ内に含めます。
<loc>(必須)
ページの URLを記述します(上限値2,048 文字)。
<lastmod>(オプション)
ページの最終更新日を記述します。
(オプション)
ページの更新頻度を記述します。
<priority>(オプション)
サイト内の他の URLと比較したURLの優先度です。0.0 から 1.0 までの値を指定できます。

これらを一つ一つ記載するのは大変ですよね。XMLサイトマップを自動生成するツールを幾つか紹介しておきます。自動生成するときには、上記の説明を参考に必要な設定を行ってください。

sitemap.xml Editor
http://www.sitemapxml.jp/
URLの指定と簡単な設定で、XMLサイトマップを自動生成します。生成したファイルは、FTPツール等でサイトのルートフォルダ(通常はサイトのトップページがある場所)にアップロードしてください。
Google XML Sitemaps (WordPressプラグイン)
WordPressでサイトを構築している場合は、プラグインの導入が便利です。プラグインを導入すると、WEBサーバにXMLサイトマップを自動生成します。常に最新のXMLサイトマップがアップされている状態となります。

これで、クローラーが訪れる準備はできました。

Robots.txtでクロールをブロックする

次に、クローラーの性質について少しお話ししたいと思います。クローラーは、世界中のWEBサイトをクロールしています。クローラーがクロールできるページ数には限界があることは、何となく想像がつきますよね。大規模なサイトでない限りあまり気にしなくても良いという意見もありますが、重要なページや検索結果に表示してほしいページにクローラーが集中できるようにしておくことは、正確なクロールにつながります。
そこで、サイト内の検索結果には表示する必要がないページをクロールの対象外にする方法をご紹介します。
WEBサーバーには、検索エンジン向けにWEBページへのアクセスを制御するRobots.txtというファイルを置くことができます。このファイルの中に、WEBページへのアクセス制御(許可・許可しない)について記載をしておくと、検索エンジンは記載内容を読み取り、WEBページへのアクセスを行います。

Robots.txtでクロールをブロック

Robots.txtは、Googleサーチコンソールの「robots.txt テスター」を使用し、記載内容のテストを行うことができます。テストを行い、目的のページのブロックが確認できたら、テストで記載した内容をファイルにコピーしてルートディレクトリにアップすると間違いがありません。記載の間違いにより、対象以外のページをクロールからブロックしてしまう恐れもありますので、必ずテストするようにしてください。

また、検索結果に表示されなくても良いページの例としては

  • サイト内検索の結果表示ページ
  • ログインページ以降の会員専用ページ
  • ショッピングカートページ
  • 非公開ページ

のようなものが考えられます。

meta robotsタグでインデックスの最適化

またまた”robots”が出てきましたが、Robots.txtはクローラー自体をブロックする方法でした。一方、meta robotsタグは、単なるクロールの拒否ではなく、「クロールは許可するが検索結果には表示しない」という制御が可能です。クロールしてリンクは辿ってもらいたいけれど、検索結果に表示されてもあまり意味がないというようなWebページの制御に使用します。
メタタグなので、ページの~に記述します。以下では、cotent属性による記述例を記載します。
meta robotsタグでインデックスの最適化
Content属性の例をあげましたが、では、どんな時に使用するのでしょうか?
以下のようなケースが考えられます。

  1. 検索結果にページを表示したくない
  2. 「このページ内のリンクはクローラーの巡回をさせない」と指示し、ページ内のリンクをページランク(PageRank)評価対象から外したい
  3. 検索結果に表示させず、ページランク(PageRank)の評価対象からも外したい

※ページランク(PageRank)とは、被リンクの質や数、関連性によってWebページを「0~10」の11段階でランク付けする、Google検索エンジン独自のランキング指標のこと

実は、FaceBookやブログサービスの一部ではnofollw設定になっているものがあり、クローラーがリンクを辿れなくなっています。

また、PDFや画像ファイル等、メタタグを記載できない場合には、「X-Robots-Tag」が使用できます。「meta robotsタグ」と同様の機能を実現でき、インデックス制御が可能です。
記載場所は、.htaccess (WEBサーバーがApacheの場合)と言うファイルです。既にサーバーに.htaccessが存在している場合は、追記してください。

X-Robots-Tag

最適化のまとめ

何の制御が必要なのかを考え、それぞれの制御方法を選択しクロールとインデックスの最適化につなげましょう。

robots.txt
クローラーのアクセスを制御したい場合に使います
meta robotsタグ
インデックスを制御したい時に使います
インデックスの制御はmeta robotsタグを用いることが推奨されています。
X-Robots-Tag
robots meta タグが埋め込めないファイルのインデックスを制御したい時(PDF、画像ファイル等)に使います