私は Backbone.js ルーターを使用するプロジェクトに取り組んでおり、すべてのデータは安静なリクエストを介して JavaScript によってロードされます。サーバー側でJavascriptが有効になっているかどうかを検出する方法がないことはわかっていますが、このWebサイトをインデックス可能にするために考えたシナリオは次のとおりです。
sitemap.xml の各リンクにクエリ文字列を追加し、
<script>
Javascript が有効かどうかを検出するタグを追加できます。サーバーはこのページをインデックス可能なデータでレンダリングし、ユーザーがこのページにアクセスすると、手動で Backbone.js ルーターを初期化できます。ただし、問題は、サーバー側でインデックス可能なデータをレンダリングするために SQL クエリを実行する必要があり、訪問者がボットでない場合は余分な負荷がかかることです。また、ユーザーがどこかで Web サイトの URL を共有すると、そのページはインデックス可能なページにはならず、Web クローラーはその URL のコンテンツを識別できない場合があります。また、Web クローラーの検索ページに余分な文字列があると、ユーザーにとって煩わしい場合があります。Google、Yahoo、Bing、Facebook などの一般的な Web クローラーをユーザー エージェントからサーバー側で検出できますが、見逃した Web クローラーがいくつかあるのではないかと思います。
どちらの方法がより便利だと思いますか、またはこの種の Web サイトをインデックス可能にするためのアイデアや経験はありますか?