Googleが技術ガイドラインを更新、JavaScriptやCSSをブロックしないように指示

[対象: 全員]

Googleは、ウェブマスター向けガイドラインの技術に関するガイドラインを更新しました。

サイトのコンテンツをGoogleが完全に理解するために、CSSやJavaScript、画像などすべてのリソースにアクセスするように指示したことが今回の変更点です。

[公式アナウンス] Updating our technical Webmaster Guidelines

技術ガイドラインの変更点

ガイドラインの該当箇所は具体的には次のように変わりました。

以前の技術ガイドライン

Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。JavaScript、Cookie、セッション ID、フレーム、DHTML、Flash などの特殊な機能が使用されているためにサイトの一部がテキスト ブラウザで表示されない場合、検索エンジンのスパイダーがサイトをうまくクロールできない可能性があります。

現在の技術ガイドライン

Google がサイトのコンテンツを完全に把握できるように、サイトのアセット(CSS や JavaScript ファイル)がすべてクロールされるようにしてください。Google インデックス登録システムは、ページの HTML やそのアセット(画像、CSS、Javascript ファイル)を使用してウェブページをレンダリングします。Googlebot がクロールできないページアセットを確認し、robots.txt ファイルのディレクティブをデバッグするには、ウェブマスター ツールの Fetch as Google ツールと robots.txt テスターツールを使用します。

「すべてのリソースにGooglebotをクロールさせなさい。すべてのリソースにアクセスできることで最適な状態でのレンダリングとインデックスが可能になりますよ」ということですね。

ブロックするとSEOに悪影響あり

公式ブログでGoogleは次の点を強調しています。

JavaScriptやCSSをrobots.txtでクロールを拒否すると、Googleのアルゴリズムがサイトのコンテンツを適切にレンダリングしたりインデックスしたりすることに対して直接的に悪影響を与えます。結果として、検索順位が下がってしまうことがありえます。

また、Google+で更新をアナウンスした英GoogleのPierre Far(ピエール・ファー)氏は次のようにも付け加えています。

今回の変更が意味していることをものすごくはっきりいうと、「CSSとJavaScriptをブロックすることで、自分のページのインデックスを自ら妨害していることになる」ということだ。(ブロックを解除することは)今日できる最も簡単なSEOだ。そしてモバイルサイトのことも忘れてはいけない。

クロールを不適切に拒否することがダイレクトに検索順位ダウンに繋がることがあると警告しています。

robots.txtの使用禁止ということではない

ここは僕からの補足です。

こんなふうにアナウンスされると「robots.txtを使っちゃいけないんだ」と過剰反応してしまう人がいるかもしれません。
でも、そういうことではありません。

そのページのコンテンツを提供するために必要なJavaScriptやCSS、画像などのリソースをGoogleに開放しなさいということです。

現在のGooglebotは、僕たちが使うブラウザのように、JavaScriptやCSSを解釈しウェブページを表示できるようになっているからです。
完全にリソースにアクセスすることで、より適切にコンテンツを理解できます。

クロール・インデックスされては困るものやレンダリングにはまったく無関係なもの(かつクロールさせる必要がないと絶対の確信が持てるリソース)に関しては、これまでどおりrobots.txtを使ってかまいません。

Googleからのアドバイス

Googleは、JavaScriptやCSSにアクセスできるように指示する一方で、適切にインデックスさせるためのアドバイスも提供しています。

最新のブラウザのように、そのページが使っているすべての技術をGoogleのレンダリングエンジンがサポートしているとは限りません。サイトのウェブデザインがプログレッシブ・エンハンスメントを必ず踏襲するようにしてください。そうすれば、ウェブデザインのある機能がまだサポートされていなくても私たちのシステム(と幅広い範囲のブラウザ)が、利用可能なコンテンツと基本的な機能を理解することに役立ちます。

[鈴木メモ]
「プログレッシブ・エンハンスメント (progressive enhancement)」とは、

簡単にいうと、「どのユーザーにも同じように情報コンテンツを提供しますが、環境が整っているユーザー(モダンブラウザ利用者)には、よりリッチな見せ方でコンテンツを提供しましょう」という考え方

です。

こちらの記事がわかりやすく解説しています。

アドバイスはさらに続きます。

すばやく表示されるページはユーザーが簡単にコンテンツを入手できるだけではなく、より効率的にインデックスすることにも役立ちます。ページパフォーマンス最適化のベストプラクティスに順守することを推奨します。(英語ドキュメント
具体的には次のとおりです。

  • 不必要なダウンロードを取り除く(英語ドキュメント
  • 分かれたCSSとJavaScriptを連結(統合)したり、連結したファイルを最小化したり、ウェブサーバーがそれらのファイルを圧縮して提供(通常はgzip圧縮)したりして、CSSとJavaScriptを最適化する(英語ドキュメント
  • JavaScriptやCSSをGooglebotに提供するために必要な、付加的なロードをサーバーがきちんと処理できるようにしておく

ドキュメントが日本語化されていないのが残念ですが、参考にしましょう。

JavaScriptやCSS、画像へのGooglebotのクロールを拒否せずにすべてアクセスさせるようにとGoogleはかなり以前から言っています。
特に、モバイル向けサイトに必要なリソースをrobots.txtでブロックしないようにとも最近は繰り返しています。

今回のガイドライン更新はそれを明文化したということですね。

とはいえ、高度あるいは最新のJavaScriptを使った仕組み採用しているなら、それを実行できなくてもコンテンツを入手できる代替方法を提供しておくことも大切です。
これも以前に紹介したとおりです。