クローラビリティを100点に仕上げてURLを検索エンジンに正しく伝える
スキルセットや共通言語が異なる
エンジニアとWeb担当者をつなぐための手引書
クローラビリティをきっちり仕上げるには
過去5回の記事ではURLの最適化方法として次のことを解説してきました。
これらは検索エンジン最適化のうち、クローラビリティ改善のための施策となります。「クローラビリティ」とはサイトに対するクローラーの回遊性のことですが、ステータスコードを正しく設定して、URLを正しく設計したことをクローラーに正確に伝えるためには、あと2つ重要な要素があります。
- リンクは<a>タグで設置する。
- ページからサイト内の関連するページにリンクを設置する。
今回はその2点について説明したいと思います。この2点を理解してクローラビリティをきっちり確保し、正しくインデックスされるようにしましょう。
1. リンクは<a>タグで設置する。
あるHTMLファイル内からあるページへのURLリンクを設置する方法には、次のいずれかがあります。
方法 | メソッド | クローラビリティ |
---|---|---|
a href="" | GET | クローラーが正しくリンクを理解しクロールが行われます。SEOを行ううえでは、この方法が最適です。 |
フォーム利用 | GET/POST | クロールするかしないかでいうと、クロールは行っているようです。しかし、フォームを利用する場合、GET/POSTにかかわらず、フォームデータをサーバーに送信する必要があります。一方、クローラーはフォームにサイト側が意図した正しいデータを入力したりしませんから、クローラビリティの観点からはおすすめできません。 (※ただ、クローラーがデータを挿入することは技術的には可能で、一部ランダムに入れているという情報もあります。http://searchengineland.com/google-now-fills-out-forms-crawls-results-13760) |
JavaScript | GET/POST | クローラーはJavaScriptを処理しますが、クローラビリティの観点からは完全にNGな方法です。 |
Ajax | GET/POST | JavaScriptに似ていますが、Ajaxはクローラビリティの観点からは相性が悪いです。 |
Flash | Flashのswfファイルはクローラーが取得し解析しています。ただしクローラビリティが高いかどうかという意味ではこちらも推奨できません。正しくSEOを行う場合はやめておいた方がいいでしょう。Flashのクローラビリティを高めることにリソースを割くより、通常のSEOにリソースを傾けてください(FlashがサイトにあることでSEOに害があることはありません)。 |
しかし、クローラビリティの観点から推奨される方法は「<a>タグによるGET」のみです。クローラーがどのようにインデックスしていくのかは、「検索エンジンの仕組みをおさらい。クローラー対策とステータスコード」の回で説明しましたが、SEO上重要なページのつながり(クローラーにしっかりたどってほしい導線)には、<a>タグを利用するようにしてください。
では、<a>タグ以外のリンクがクロールされないかというと、実はクロールしています。あくまでも最大限のSEO効果が出ないだけですので、たとえばクロールさせたくない場所にJavaScriptを利用するというような方法は間違った方法です(本当にクロールさせたくない場合は、robots.txtなどでクローラーをブロックするのが正しい対策です)。
また、<a>タグを使う場合は、リンクを設定する文字列(アンカーテキスト)を意識してリンクを張る必要があります。たとえば、「北海道の賃貸物件」を扱うページへリンクする場合にありがちなのが、次のようなリンクの張り方です。
- HTMLソースの記述
北海道の賃貸物件は<a href="/hokkaido/list/">こちら</a> - ブラウザでの表示
北海道の賃貸物件はこちら
これでは、アンカーテキストが「こちら」になり、SEOしたいキーワードが含まれていません。次のように、アンカーテキストにキーワードを含めると良いでしょう。
- HTMLソースの記述
<a href="/hokkaido/list/">北海道の賃貸物件</a>はこちら - ブラウザでの表示
北海道の賃貸物件はこちら
理由は単純で、<a>タグの文字列(アンカーテキスト)とリンク先のページの<title>タグや<h1>タグが同じであると、検索エンジンが「関連のある良いリンク」という判断をするためです。文字列からリンクを張る場合は、なるべくリンク先のページに関連した文字列を設定しましょう。
また、FlashやAjax、FORMのPOSTがSEOに不向きだからといって、使用するとマイナスかというと、必ずしもそうではありません。コンテンツの趣旨やユーザビリティのために必要な技術として使うのはまったく問題ありません。ただそこにSEO効果(クローラビリティ)を求めることはやめておきましょう。SEO効果と両立したいような場合は、<a>タグのリンクも設置するようにすればクローラビリティを確保できます。
余談ですが、Googleは公式ブログでAjaxをクロールしてインデックスする方法を提案しています。あくまで提案レベルで、作り込みが必要で手間もかかるため、一般的な手法としてすぐに使えるかというと、まだ難しいでしょう。
ソーシャルもやってます!