SEO - 検索エンジンとJavaScript ② | ベンチャー企業 CIO: 池谷 義則ブログ&経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

ベンチャー企業 CIO: 池谷 義則ブログ&経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

SKYAVY, INC. CIOの池谷義則のブログ & ベンチャー企業 & 経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

サイトのグローバルメニューをJavaScriptで作るサイトは非常に多い。

JavaScriptで作る、といってもその度合いは2段階あると思う。

  1. JavaScriptで全てのメニュー表示を行なう
    つまり、ブラウザで表示されるソースコードにHTMLが存在しない場合は、これに当てはまる。

  2. 基本の表示するメニューはHTML/CSSで書いて、JavaScriptで表示の動作を制御する。
    ブラウザのソースコードには、メニュー全てのHTMLコードが書かれているのがこれだ。


当社で作った自社プロジェクトの Thank You Project のメニューは2番になる。
2番の場合は、コードやリンク先の情報は全てHTMLで記述されているので、従来通り、古いサーチエンジンでも問題なく読まれる。(もちろん、CSSでdisplay: none; やvisibility: hidden;などに設定していると、読まないエンジンも存在する)

では、最新のサーチエンジン、例えばGoogleなどはどうだろう。
2008年10月にソフトウェア・エンジニアであるJanis StipinsはGoogleがサイトをインデックスするのに、JavaScriptを高度なレベルで理解することを確認している。

Hochman Consultants会長であるJonathan Hochmanの2009年1月のレポートによると、2008年12月、MonitronicsASP.NETで作られたオープンソースのDotNetNukeのとSolpart version 1.7.2のメニューシステムを使用して、新しいサイトを立ち上げた。

DNNのSolpartメニューはJavaScriptに完全に依存している。 そう、上記の1番にあたるのだ。

上記のサイトをJavaScriptをオフにして訪れて頂きたい。
サイトメニューが完全に消えていることに気がつくだろう。
従来であれば、このような手法はSEOに悪いとされてきた。いや、むしろ最悪だ。なんせ、メインメニューからのみ行けるページがあった場合、検索エンジンは、そのページへたどる為のリンクが無いのだから。

だが、このMonitrinicsのGoogle cacheを見ていただきたい。
そう。メニューが正常にインデックスされているのである。
それだけではない。GoogleはMonitrinicsの検索にもそこそこ正常にサブリンクを表示させている。
この情報は、SEO対策を手がけるプログラマーの方にとっては、非常にうれしい事だ。
SEO対策を最初から視野に入れてプログラムをするのであれば、JavaScriptを避けたりする方法もいくらでもあるが、既存サイトのSEO対策は、往々にして厄介な場合が多い。

>> 次回は、ヤフーやマイクロソフトの検索エンジンはどうか?をご紹介しようかと思う。