JavaScriptとSEO:重要な情報
目次
- イントロダクション
- Rails Asset Pipelineの古いアセットの扱い
- プリレンダリングでの不要なコンテンツのスキップ
- チャット機能によるタイトルタグの再書き込み
- プリレンダリングでのJavaScriptの使用
- JavaScriptとSEOの未来
Rails Asset Pipelineの古いアセットの扱い
Rails Asset Pipelineは、開発中のアセットをプロダクション用のサイトで処理および前処理するための方法です。古いアセットと新しいアセットをどのように扱うかについては、特に問題はありません。まず、古いアセットを一時的に保持し、実際のHTMLコンテンツの再クロール後に新しいアセットを取得します。ただし、キャッシュのため、過去のURLを使用し続けることがあります。その場合、古いURLを404エラーにすると、表示が正しくないレンダリング結果が生じる可能性があります。したがって、古いアセットを一定期間保持する方が良いでしょう。サーバーログを使用して、Googlebotがそれらのアセットを要求しなくなるタイミングを把握し、完全に削除することもできます。
プリレンダリングでの不要なコンテンツのスキップ
プリレンダリングでは、JavaScriptが生成するSVGバーグラフなどの関連のないコンテンツをスキップまたは置換することはできますか?Googlebotがページにアクセスしたときに、フルのコンテンツが表示されるようにするために、できるだけすべてを含めるべきです。ダイナミックレンダリングを指しているのであれば、ユーザーには異なるコンテンツを提供する場合がありますが、それでもスキップしてはいけません。
チャット機能によるタイトルタグの再書き込み
あなたのサイトにチャット機能があり、訪問者に通知のためにタイトルタグを書き換える場合、GoogleがJavaScriptによって書き換えられたタイトルタグをインデックスしないようにするにはどうすればよいでしょうか?レンダリング時にページの内容が取得されるため、書き換えられたタイトルを認識します。その場合は、ユーザーのインタラクションの後にチャットを表示したり遅延させたりすることで対応できます。Googlebotは対象となる要素とはインタラクションを行わないため、チャットボタンをクリックしてからチャットウィンドウが表示されタイトルが変更されるようにすると良いでしょう。
プリレンダリングでのJavaScriptの使用
プリレンダリングでは、ユーザーにコンテンツを素早く提供するために事前にページを生成し、すべての静的なアセットを提供することができます。その際、JavaScriptの要素を含めることもできます。ユーザー側から見ると、事前にコンテンツをレンダリングすることで非常に迅速にコンテンツを提供できます。また、JavaScriptを使用してインタラクティブな要素を追加することもできます。プリレンダリングを行う場合でも、JavaScriptを完全に削除する必要はありません。
JavaScriptとSEOの未来
JavaScriptとSEOは今後も重要な要素として取り組む必要があります。サーバーサイドレンダリングやプリレンダリングは、ユーザーやクローラーにコンテンツをより迅速に提供するための基本的な手法です。HTMLはそのままパースできますが、JavaScriptはパースと実行が必要です。コンテンツをブラウザ側でストリーミングすることはできません。サーバーサイドレンダリングを使用することで、コンテンツを素早く提供することができます。
ハイライト:
- Rails Asset Pipelineを使用する場合、古いアセットを一定期間保持し、新しいアセットは再クロール後に取得すると良いです。
- プリレンダリングでは不要なコンテンツをスキップしない方が良いです。
- チャット機能によってタイトルタグが変更される場合は、ユーザーのインタラクションの後に表示するか遅延させることでGoogleのインデックスに影響を与えないようにします。
- プリレンダリングではJavaScriptを使用しても問題ありません。コンテンツを素早く提供し、JavaScriptを使用してインタラクティブな要素を追加することができます。
- JavaScriptとSEOは今後も重要な要素であり、サーバーサイドレンダリングやプリレンダリングはコンテンツの迅速な提供に役立ちます。
FAQ
Q: チャット機能によりタイトルタグが再書き換えされる場合、Googleがインデックスしないようにする方法はありますか?
A: チャットをユーザーのインタラクションの後に表示するか、チャットボタンをクリックするまでタイトルタグを変更しないようにすることで回避できます。
Q: サーバーサイドレンダリングとプリレンダリングの違いは何ですか?
A: サーバーサイドレンダリングはコンテンツをサーバー側でレンダリングし、プリレンダリングは事前にコンテンツを生成して提供する方法です。
資源: