エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
SEO対策には欠かせない、Googleのインデックス登録。
しかしJavaScriptを使っているWebサイトで、正しいSEO対策が施されていることは意外なほど少ないです。
そこで今回は、WebサイトにJavaScriptを使うときに気をつけたいSEOのポイント8つをお伝えします。
JavaScriptコンテンツのSEO対策に興味がある方は、ぜひ参考にしてみてください!
JavaScriptは、HTMLやCSSと並ぶ世界的に人気な言語です。おもにWebサイトに動きをつけたいときや、複雑なアプリケーションを構築したいときに使われています。jQuery、Ember.js、AngularJSなど、さまざまなライブラリ/フレームワークが存在するのが特徴です。
エンジニアがWebページでJavaScriptを使うには、<script>タグをHTML内に埋め込むか、外部ファイルとして読み込む必要があります。
Webアプリケーションとサーバのシームレスな通信を可能にしてくれるのが、Asynchronous(非同期)のJavaScriptとXMLの組み合わせです。Ajaxと呼ばれるこの技術は、Googleマップにも使われています。ある機能の実行中に、他の機能も実行できることが特徴です。
JavaScriptについて、詳しくは以下の記事をご覧ください。
JavaScriptでできることとは?おすすめの学習方法を徹底解説
Workship MAGAZINE
JavaScriptはパワフルでダイナミックなアプリケーションの制作を可能にしてくれます。しかしいくらJavaScriptで魅力的なWebページを制作しても、SEOが意識できていないと思わぬ落とし穴にかかることがあります。
SEOへの対策が施されずに、JavaScriptが検索エンジンのクローラーを誤って妨げてしまうと、Webサイトが検索結果に表示されなくなってしまう恐れもあります。
検索エンジンのクローラーは
という3つのフェーズでJavaScriptのWebアプリを処理します。これらすべてのフェーズについて対策を施し、JavaScriptを使ったWebサイトをクローラーに認知してもらいましょう。
代表的な検索エンジンのクローラーとして、Googleの「Googlebot」が挙げられます。クローラーがWebページを巡回することで、検索エンジンにコンテンツがインデックスされます。
GooglebotがWebサイトにアクセスしたときに、まず確認することは以下の2つ。
そして以下のような流れで、インデックス登録が行われます。
このファイルに「ページのクロールをスキップする」指示が含まれている場合、Googlebotはタスクを中止してしまいます。
HTTPリクエストの作成によってURLを取得するクローラーのアプローチは、サーバ側でレンダリングされたWebページに対して効率的に機能します。
しかしJavaScriptを使ったページの多くはApp Shellモデルを使用しているため、HTMLに実際のコンテンツが含まれていない場合も。この場合、Googlebotはスクリプトによって生成されたコンテンツを見つける前に、JavaScriptを実行する必要があります。
ここからは検索エンジン用にWebページを最適化する方法について、以下8つのポイントをもとに探っていきましょう。
まずはrobot.txtファイルとrobots metaタグをチェックし、誤ってクローラーをブロックしていないかを確認しましょう。
robots.txtは、収集されたくないコンテンツを制御するファイルです。検索エンジンのクローラーに重要なコンテンツのみを伝えるために使用されます。
一方robots metaタグは、検索エンジンのシステムにむけて書くHTML(HTML5)コード全般を指します。その中でもnoindexやnofollowは、Webページのインデックスを制御するタグです。低品質なページや、ユーザーに見せたくないページ、内容が重複しているページなどに使われます。
robot.txtファイルやrobots metaタグによって、意図せずコンテンツを制御している場合があるので、一度確認してみてください。
またGoogle、Yahoo!、Bing、Baidu、Yandexなどの主要な検索エンジンはすべて、index/noindex、follow/nofollowなどのrobots metaタグをサポートしています。必要に応じて、検索エンジンごとに異なる指示を出すことも可能です。
しかし理解できない指示はクローラーに無視されてしまいます。指示はくれぐれも正確に出しましょう。
クローラーはHTTPステータスコードを使用し、クロール中の問題を判断しています。クロールまたはインデックス登録する必要がないページについては、401などのステータスコードを使用してクローラーに情報を伝達しましょう。
またHTTPステータスコードを使えば、Webページが新しいURLに移動したことをクローラーに伝達することもできます。新しいWebページのインデックスを登録したい場合はHTTPステータスコードを使用してみてください。
HTTPステータスコードの意味は、以下のとおりです。
JavaScriptのコードを記述するときに気をつけたいのが、ブラウザとの互換性です。ブラウザでも利用できるように、多くのAPIに対応できるように心がけましょう。
またクローラーの制限にも注意が必要です。すくなくとも、GoogleやBingなどの主要な検索エンジンの制限は念頭においてコードを作成しましょう。
さらに、Webページのインデックス登録や表示を妨げる可能性があるJavaScriptの問題を特定し、解決するよう努めることも必要です。JavaScriptを使ったページの特定のコンテンツがコードによってブロックされている可能性も考慮しましょう。
Googlebotがどのようにページを表示しているかを調べたいなら、Search ConsoleのURL検査ツールを使うのがおすすめです。
以下のポイントをおさえて、識別しやすいタイトルをつけましょう。
またWebサイトのスニペットを工夫することも大切です。スニペットのコンテンツを提案するための手法をして、構造化データやmetaタグが挙げられます。
構造化データを用いれば、検索エンジンがWebサイトのコンテンツを認識しやすくなります。
またスニペットとして表示させたい文章がある場合は、metaタグを使用してGoogleに伝えるようにしましょう。
もしWordpressのサイトに構造化データを追加したい場合は、以下の記事をご覧ください。
WordPressサイトに構造化データを追加するプラグイン7選
Workship MAGAZINE
画像にSEO対策を施したい場合は、遅延読み込みを試してみましょう。サーチフレンドリーな方法で、必要に応じて画像を読み込めるようになります。
ただし遅延読み込みは正しく行わないと、コンテンツが検索エンジンから隠されてしまう可能性があります。コンテンツの読み込みをサポートしてくれるJavaScriptライブラリを使用しましょう。
また無限スクロールを使用したいなら、ページ分割ロードをサポートしているメカニズムの実装がおすすめです。ユーザーによるコンテンツのシェアを可能にしてくれます。
History APIでURLを更新し、システムによるコンテンツの動的な読み込みをサポートすることも有効です。
ユーザーの同意が必要なコンテンツは、Googlebotに無視されてしまいます。
Googlebotとそのレンダリングサービス(WRS)は、ローカルストレージやHTTP Cookie、セッションストレージデータを削除するため、データの永続性に依存してコンテンツを提供できません。
またGooglebotは2020年現在、WebGLをサポートしていません。したがってWebGLを使ってブラウザで写真の効果をレンダリングする場合は、サーバー側で事前に行いましょう。
コンテンツをLight DOM(ドキュメントオブジェクトモデル)に入れることで、Webコンポーネントをサーチエンジンフレンドリーにしましょう。
Light DOMは、コンポーネントのShadow DOMの外側にあります。Shadow DOMは、コンポーネントの内部構造やScoped CSSを定義し、実装の詳細をカプセル化してくれる存在です。Light DOMは、コンポーネントのユーザーによってマークアップが書き込まれていきます。
HTMLやCSS、JavaScriptは世界的に使われている言語なため、脆弱性が少なからずあります。コンテンツをLight DOMに入れれば、そのようなWebアプリケーション構築の脆弱性を排除してくれるのです。
たとえば新しいHTML idやclassを配置したとき、Webサイト上にある既存の要素と競合してしまう場合がありますよね。また、予期しないバグの発生やスタイルセレクタの破損、CSSの特異性などの問題が起きることも。これらの問題に直面した場合も、Light DOMとShadow DOMによって対処できます。
モバイル端末への対応は、Webサイトを成功させるための重要な要素です。リリース前にしっかりテストをしておきましょう。
そこで活用したいのが、Googleが公開しているテストツールです。Googleのモバイルフレンドリーテストは、URLを貼り付けてクリックするだけで、Webサイトのモバイルフレンドリーさを確認できるという優れもの。数秒で結果が出るのでぜひ試してみてください。
また、サービスプロバイダーが提供するテストツールもおすすめです。
検索エンジンのクローラーは、Webコンテンツを最適な方法でクロールすることでインデックス登録を行なっています。
したがって今回ご紹介した8つのポイントを抑えて、JavaScriptのSEO対策が施されたWebページを作るよう心がけましょう。
(執筆:Eric Karkovack 翻訳:Asuka Nakajima 編集:Kitamura Yuu、Kimura Yumi)
JavaScript初心者が失敗しがち/間違えがちなこと8選
Workship MAGAZINE
WordPressの「重いサイト」を高速化する12の方法。メリット/おすすめプラグインも解説
Workship MAGAZINE
本質的なSEO対策方法、珠玉の13ポイント。Googleが求めるのは「より良いユーザー体験」
Workship MAGAZINE