coditbetaコードノートSSRは必要?Javascriptで構築したSPAサイトのSEOを考えるReactやVueなどでJavascript製のSPAサイトを構築する際に大きな問題になるのが、Googleクローラーなどへの対策(SEO)です。サーバーサイドレンダリング(SSR)が必須とされていましたが、現在はどうでしょうか。SPAサイトでのSEOの対策と課題をまとめました。目次GoogleクローラーはSPAサイトをしっかりとレンダリングして評価してくれるSPAページは通常サイトとは別フローでクロール・評価するSPAサイトはSEOにはやや不利かGoogleクローラーはSPAサイトをしっかりとレンダリングして評価してくれるかつては「クローラーはJavscriptを実行できない」というのが当たり前で、対処策としてサーバーサイドレンダリング(SSR)を用意するのが主流でした。Bot)はJavascriptをかなりの精度でレンダリング&中身のコンテンツを認識してくれるため、Vue.jsやReactなどのJavascriptフレームワークを使っていても、ほとんどのケースでGoogleクローラーはSPAサイトの中身をきちんと認識・評価してくれます。SPAページは通常サイトとは別フローでクロール・評価するただし、Googleクローラーは、Javscript製のサイトを一度HTMLページとしてクロールしたのちに、Javscript処理が必要だと判断すると、「レンダリングの待ちリストに追加」し、順番を待ってからレンダリング処理をして評価するようです。現在多くのサイトがJavaScriptベースになっているため、次のステップとしてはJavaScriptのレンダリングも必要となり、ページが一度レンダリングの待ち行列に追加されます。リソースが空き次第、ヘッドレスブラウザのような別サービスである「ウェブレンダリングサービス」(WRS)を使用し、JavaScriptを実行します。GooglebotについてSPAサイトの中身を評価するには、よりサーバーパワーが必要なヘッドレスブラウザのようなものが必要になるため、当たり前の処理と言えるでしょう。Javascript製のSPAも、Javascriptを実行したレンダリングはしてくれますが、中身を評価するのは「Google側で追加の作業を行なっている」ため、Googleがそのサイトをクロールする閾値とされる「クロールバジェット」が大きく消費され、クローラービリティが下がってしまう可能性があるということです。筆者の所有しているSPAサイトでも、このような挙動が見受けられ、サーチコンソールで確認するとURLが認識されているのにクローラーが回ってきてないという現象が、サーバーレンダリングサイトよりも多いような気がします。SPAサイトはSEOにはやや不利かこのように、SPAサイトはGoogleクローラーから正しく評価されることがほとんどですが、クローラービリティという観点からすると、クローラーが即時評価してくれる、「サーバーレンダリングされたサイト(従来のPHPやRailsなどで構築されたサイト)」よりも不利と言えます。コンテンツはあくまでGoogleのためでなくユーザーのために制作するものなので、ユーザーにとって使いやすいサイトをどう構築するかSEOを含めて、ユーザーの集客をどうするかといった、サイト戦略をどう展開するかを予めしっかり考えた上で、SPAサイトを構築していく必要がありそうです。.Hugo.Environmentで取れる。masterブランチ以外で実行されるテストコマンド。