JavascriptのAPIコールをバックエンドのレンダリングシステムに変更すべきでしょうか?

1
2022.01.01

現在、私はAPIを設定しており、そこから値を取得してページの項目を入力しています。しかし、Javascriptがクローラーによって実行されるかどうかについて様々な意見を読んだ後、バックエンドをテンプレートエンジンを使用するように変更すべきかどうかを考えていました。

明確にするために、私のサーバーはNode.jsのバックエンドを実行していますが、代わりにReactのようなものを使用することもできます。

これは、Googleは他のページへの内部リンクを重視していて、Sitemapのすべてを重視しているわけではない、というコメントを受けたことがきっかけです。

"...Googleは内部リンク経由でページを発見することをより重視しています。"

トレボーさんのコメント

これは本当ですか?クローラーに届く前に、バックエンドでサイトをレンダリングする必要があるのでしょうか?

また、このサイトはブログなので、インデックスが必要なブログページがたくさんあり、うまくいけばGoogleが開いてくれるはずだということも言っておくべきだと思います。しかし、これらはサイトに動的に追加されるため、静的なHTMLを使用することができず、代わりにAJAXコールによってホームスクリーンのリストにブログページを追加しています。

回答
1
2022.01.04

コメントの通り、Googleは通常、サイトマップで見つかったからといってページをインデックスしたりランク付けしたりしません。Googleは、他のページからリンクされているページを発見し、インデックスし、ランク付けします。SEOに関しては、サイトマップはほとんど役に立たない。サイトマップのパラドックスを見る

だからといって、必ずしもバックエンドでサイトをレンダリングする必要はありません。GooglebotはJavaScriptを実行し、DOM(document object model)をスキャンしてリンクを探します。JavaScriptがページ内に<a href=...>ノードを作成している限り、Googlebotはあなたのサイトをクロールし、すべてのページを見つけ、PageRankを渡し、ページをインデックス化し、上位にランク付けすることができます。

とはいえ、サーバーサイドレンダリング(SSR)は通常、プロセスを劇的に速めます。Googleは、GooglebotがJavaScriptをレンダリングしなければならない場合、サイトをインデックスしたり、サイトの更新を処理したりするのに数週間から数ヶ月余分にかかることがあります。また、他の検索エンジン(Bing、Baidu、Yandexなど)は、JavaScriptを必要とするサイトをインデックスすることができません。

ほとんどのシングルページアプリケーション(SPA)フレームワークには、サーバー上でサイトを事前にレンダリングするための何らかの仕組みがあります。これらのフレームワーク(AngularやReactなど)を使用している場合は、JavaScriptをサーバー側で実行してボットがアクセスしやすいようにする方法を見つけることができるはずです。