リアクト開発者のための3つの重要なSEOハック
これは、ReactがSEOに対して効果がない理由と、SEO対策のためのオプション、そしてSEOの仕組みについて説明するビデオです。開発者として、SEOについて十分な知識がないと思いますので、SEOについて知ることは良いことです。自分自身のプロジェクトを開発し、無料のトラフィックを得たい場合、Googleは持続的な期間で最適な方法です。 SEOは検索エンジン最適化の略で、Googleや他の検索エンジンで何かを検索するとき、その特定の検索エンジンがウェブページをランク付けする方法によって、その特定のウェブサイトのSEOスコアやその他のスコアの良し悪しに応じてランク付けを行います。したがって、例えば「Reactの学習方法」というキーワードで検索しても、codedam.comはこのキーワードでのランキングがあまり高くない可能性があるということです。そのため、長期的にはGoogleやBingなどの検索エンジンがランキングするサイトを洗い出し、1位や2位、3位などにランク付けします。では、それがどのように機能するのか、そしてReactや他のクライアントサイドフレームワークがそのような方法で役立たない理由について見ていきましょう。ただし、クライアントサイドアプリケーションを理解するために、典型的なクライアントサイドアプリケーションについて見ていきましょう。具体的な例として、Reactアプリケーションを作成したとします。その結果、index.htmlとscript.bundle.jsまたはbundle.jsなどの2つのファイルが生成されます。index.htmlは単なるベアボーンのHTMLであり、ページ上に表示されるh1タグなどの要素は、このスクリプトによって動的に生成されます。しかし、検索エンジン(例:Google)は実行しないか、後で実行しますので、最初のクロール時にはコンテンツがない状態であると見なされます。そのため、最初のクロール時にはランキングに影響を与えません。では、この問題を解決するための3つの選択肢があります。まず、Pre-rendering(事前レンダリング)です。これは、ページが読み込まれるときにすでに構築されたDOMを持っていることを意味します。ユーザーが最初に到着したときに、事前にレンダリングされたページを送信し、クライアントサイドレンダリングを行います。2つ目の選択肢は、Selective Pre-rendering(選択的事前レンダリング)です。これは、ユーザーエージェントのヘルプを使用して、ユーザーまたはボットだけに対してページを事前レンダリングするというものです。ユーザーエージェントによってどのページをクライアントサイドレンダリングするかを判断し、事前レンダリングするかどうかを決定します。ただし、コンテンツがユーザーとボットに対して異なる場合は使用できません。最後の選択肢は、Server-side Rendering(サーバーサイドレンダリング)またはServer-side Generation(サーバーサイドジェネレーション)です。これは、一定の時間キャッシュされるサーバーサイドジェネレーションのレスポンスを生成または再生成する前に、クライアントサイドレンダリングの出力を取り込むというものです。SSRとSSGでは、Next.jsが最も優れた解決策であり、SEOを重視したい場合には良い選択肢です。ただし、既存のReactプロジェクトを移行する場合は、いくつかの制約があります。ファイル名やカスタムWebpackなど、いくつかの問題が発生する場合があります。そのため、プロジェクトによって最適な選択肢が異なるため、必要に応じて適切な手法を選択する必要があります。簡単にまとめると、SEO対策には多くのコンテンツがindex.htmlに必要です。そのため、クライアントサイドアプリケーションではSEOのランキングは上がりません。解決策として、事前レンダリング、選択的事前レンダリング、サーバーサイドレンダリングまたはサーバーサイドジェネレーションの3つがあります。それぞれの解決策には利点と欠点がありますが、Next.jsは最も優れた選択肢と言えます。このビデオで基本的なSEOの概要と、ReactアプリケーションをSEOフレンドリーにする方法を理解していただければ幸いです。コメントでご意見をお聞かせください。それでは、今回は以上です。いいねやチャンネル登録、ベルアイコンのクリックを忘れずに。次のビデオでお会いしましょう。