2017/4/17

JavaScriptコンテンツのSEO評価について

区切り線

e881f08b4c328269c3da561ececda8ad_s

よくJavaScriptコンテンツでレンダリングがうまくいかないと言ったケースがあり、そのまま順位に影響してしまう事があるという情報がネット上でささやかれていますが、果たして本当なのでしょうか?

徘徊防止LYKAONのリニューアルサイトではJavaScriptが多く用いられていることもあり、レンダリング状況を実際に確認してみました。

目次

JavaScriptはSEO上効果が出ないのか?

2015年の11月にGoogleのGary Illys氏は「JavaScriptで動的に表示されるコンテンツのインデックスはされない」という内容の注意喚起をしています。

「JavaScriptで動的に表示されるコンテンツ」とは、どのような内容のことを指すのかというと、例えば「+」や「…」ボタンによって展開されるコンテンツのことを指します。

このような上記に該当するコンテンツを含むページをGooglebotが巡回した場合、Googlebotはこれらのボタンをクリックすることはしないため、インデックスされず、クリックやスクロールなどの「何らかのアクション」によってコンテンツが動的に生成される内容(ユーザーのアクションによって後からHTMLに書き足される内容)をGoogleはインデックスしていないという内容です。

JavaScriptを利用したリッチコンテンツを用いるメリット

Googleでは、「JavaScriptで動的に表示されるコンテンツのインデックスはされない」と公式に発表がありましたが、ユーザー側からしたらどんなサイトが「利用しやすい」「また利用したい」と思ってもらえるサイトなのでしょうか。

もし、JavaScriptによってより直感的に、スムーズな操作が可能となり、目的をより短時間で達成できるとしたら、それは「JavaScriptによってユーザー体験が向上した」と言えるのではないかと思います。

実際に、効果的な方法を用いればJavaScriptを用いたリッチな表現によって直感的な操作が可能となり、ユーザビリティの以下の点に於いての向上に繋がります。

  • ユーザーが目的をスムーズに達成できるか、できないか(効率性)
  • ユーザーが利用する際、快適にサイトを利用できるか(満足度)

※ユーザビリティの定義には、その他にも「ユーザーが目的を達成できるか、できないか(有効性)」があります。

また、ユーザーの特性や目的に合わせてリッチな表現を用いることはユーザーエクスペリエンス(UX)に於いても、サイト利用前・利用中・利用後における心理的満足度や体験価値の向上を図ることが可能です。

レンダリング状況の確認方法

「JavaScriptで動的に表示されるコンテンツのインデックスはされない」と言いつつも、やはり技術は日進月歩していて、検索エンジンの機能も向上しているので「自分でウェブサイトのレンダリング状況を調べる」というのも一つの手です。

レンダリング状況を確認することで、検索エンジンが実際、どのようにページを見ているのか、ということを確認することができます。
では、実際のレンダリング状況の確認方法を紹介します。

1.Googleアカウントにログイン

ログイン Google アカウント

2.SearchConsoleへの登録

SearchConsoleへの登録方法は以下の関連記事を確認してみて下さい。

サイト改善に必須!Googleサーチコンソールの使い方と登録方法【2017年度版】
サイト改善に必須!Googleサーチコンソールの使い方と登録方法【2017年度版】

3.ダッシュボードの「クロール」をクリック

クロールをクリック

4.「Fetch as Google」「取得して「レンダリング」をクリック

「Fetch as Google」「取得して「レンダリング」をクリック

5.行をクリックして取得操作の詳細を確認する

取得操作の詳細を確認する

6.レンダリング状況を確認

レンダリング状況

上の画像の「Googlebotではこのページを以下のように認識しました。」と「貴サイトへの訪問者にはこのページが以下のように表示されます。」を見比べてみましょう。
そうすることで、SearchConsoleからレンダリングが実際にどのように行われているかを確認することができます。

事例紹介

ここでは実際にJavaScriptを用いたウェブサイトのレンダリング状況の事例紹介をします。
題材としては先日リニューアルしたばかりの弊社のウェブサイト「顔認証徘徊防止システムLYKAON」を取り上げます。

まずは紹介した方法でレンダリング状況を確認してみました。
結果は以下のようになりました。(サイトの一部です)

比較1

SearchConsoleで上の図のようにレンダリング状況を確認してみましたが、「貴サイトへの訪問者にはこのページが以下のように表示されます。」で表示される画像は実際のサイト表示と異なることに気が付きました。
実際「顔認証徘徊防止システムLYKAON」のサイトに訪れると以下のような表示がされました。

比較2

これはスクリーンショットなので、スクロールによって表紙される青い背景部分の上のテキストは写せていないのですが、実際に確認して見るとSearchConsoleで表示される「貴サイトへの訪問者にはこのページが以下のように表示されます。」の部分とは差があることが分かります。やはり、JavaScriptによって表示されるコンテンツはインデックスされていないのでしょうか??

試しに、リニューアル前後での順位変動を調べてみました。

顔認証徘徊防止システムLYKAON 順位

リニューアル後の「顔認証徘徊防止システムLYKAON」の製品サイトのとあるキーワードの順位変動を観察してみると、リニューアルが行われた2016年12月22日前後で一旦順位変動が見受けられるものの、また順位が復活しているのがわかります。

SearchConsoleでレンダリング状況を確認する限りでは、スクロールによって表示されるテキスト情報はほぼインデックスされていません。
このままだと一見SEO的には大変不利な状況ですので、順位がガタ落ちしても仕方ないのではないかと思いますが、リニューアル前後で一旦変動はあるものの、最終的には順位はだいたい元のランクに落ち着いています。
元からサイトにあった被リンクも影響している可能性がありますが、SearchConsoleで表示されるレンダリング状況が必ずしも正しいのかは疑問が残ります。

結論としては、SearchConsole上でレンダリングが正常にされていませんでしたが、順位には影響がほぼ見られませんでしたでした。

これからもJavaScriptのレンダリング状況については都度確認し、注視していく必要がありますね。

注意点

最後に、ウェブサイトの品質管理についてです。

ここまでJavaScriptを用いたリッチコンテンツについて述べてきましたが、根本的にコンテンツの品質は「配信品質」と「情報品質」から成ります。
是非、コンテンツの内容を考える際にはこの「配信品質」「情報品質」について検討してみて下さい。

「配信品質」とは、「確実にエラーなく素早く表示されること」であり、「情報品質」とは「コンテンツ自体の価値が高いものであり、HTMLで構造化されたコンテンツが人と機械にわかりやすいもの」です。

コンテンツの品質
配信品質でいうと、コンテンツの表示速度が遅くなればなるほど、ウェブサイトのページビュー数や直帰率に大きな影響を与えます。また、コンテンツの表示速度は検索結果にも影響しています。

例えば、Googleの検索結果1位のウェブサイトは、50位のサイトに比べて読み込みが30%早いというデータや、Bingでは検索結果が2秒遅れるごとに広告収入が4.3%減収してしまうなどというデータが有ります。
Googleでもコンテンツの表示完了時間が2秒以内であることが推奨されています。

このように、ITに於いて内容に関わらず「速さ」というのは一つの重要な価値であることがわかります。

しかし、どんなにコンテンツの表示速度が早くても、エラーがなくても、コンテンツの内容がユーザーにとって有益であるものでなければ価値の低いサイトになってしまいます。

Googleの品質評価ガイドに記載されている情報品質の考え方「E-A-T(Expertise(専門性)/Authoritativebess(権威性)/Trustworthiness(信頼性))」や「YMYL(Your Money or Your Life)」を元にどのようなウェブサイトが高品質であると考えられているのかを検討してみるのも良いでしょう。

まとめ

Googleによると、「JavaScriptで動的に表示されるコンテンツのインデックスはされない」という発表がありますが、実際に調べてみた所、やはりJavaScriptコンテンツはレンダリングされていませんでした。
しかし、このレンダリングの不備が実際の検索順位へ影響するかというと今回は影響はほぼ無いに等しかったですが、もし影響が見られるようであればJavaScriptコンテンツは一つの懸念材料となりえます。
これからもJavaScriptのレンダリング状況については注視していく必要があるでしょう。

  • このエントリーをはてなブックマークに追加

区切り線

コメントをどうぞ

メールアドレスが公開されることはありません。