GoogleはJavascriptリンクを読んで、PageRankを渡し、アンカーテキストも評価する

「検索エンジンのロボットは、Javascriptを読めない」、これは厳密に言えば正しくありません。

Javascriptの記述自体は読みとることができるし、外部のファイルさえ読んでいるようです。

ただすべてのJavascriptが読めるわけではないし、意味を解釈できているか、実行できるのかは、さまざまなパターンがあるようではっきりしません(少なくとも僕は知りません)。

Javascriptで記述したリンクも、通常はリンクとして処理されません。

人間のユーザーにとっては、aタグのリンクもJavascriptのリンクも違いはなく同じ役割を果たします(「Javascriptの実行をオフにしたら?」、という突っ込みはなしで)。

しかし、検索エンジンにとってはリンクではないのです。
したがって、PageRankも渡さないし、アンカーテキストも評価になりません。

ところが、Googleが先日開催したGoogle I/O conferenceで明らかにしたところによると、Googleは、Javascriptのリンクも通常のリンクと同じように取り扱い、PageRankも渡すし、アンカーテキストも評価するようになりました。

Search Engine Landで、Vannsa Fox(ヴァネッサ・フォックス)女史が解説しています。

Googlebot is now able to construct much of the page and can access the onClick event contained in most tags. For now, if the onClick event calls a function that then constructs the URL, Googlebot can only interpret it if the function is part of the page (rather than in an external script).

Some examples of code that Googlebot can now execute include:

  • <div onclick="document.location.href='http://foo.com/'"></div>
  • <tr onclick="myfunction('index.html')"><a href="#" onclick="myfunction()">new page</a>
  • <a href="javascript:void(0)" onclick="window.open ('welcome.html')">open new window</a>

These links pass both anchor text and PageRank.

簡潔にまとめると、GooglebotはJavasriptを解釈して、onClickイベントを実行できるようになりました。
ただし同一ページ内にスクリプトのコードが存在している場合で、スクリプトファイルを外部化している場合は対象になりません。

そして、リンク先にPaegRankもアンカーテキストも渡します
aタグの通常リンクと同じ評価を受けるということです。

JavascriptリンクはPageRankやアンカーテキストを渡さないため、Googleのガイドラインに違反しないように購入リンクにも利用されてきました。

今後は、Javascriptリンクといえどもnofollow属性を付ける必要が出てきます。
該当する人は注意してください。

JavascriptリンクはPageRankを渡さないので、nofollow属性と同じようにPageRankスカルプティングに利用することもできます。

1つ前の投稿で、nofollowによるPageRankスカルプティングがもはや有効ではなくなることを伝えました。

「ならば、Javascriptリンクで代替を」という考えもできたのですが、これもダメですね。

でも、抜け道はあって・・・、

“Googlebot can only interpret it if the function is part of the page (rather than in an external script).”

ここが、ポイントです。