私は、検索エンジン最適化(SEO)が必要なbackbone.js/marionetteWebサイトに取り組んでいます。java /springRESTfulバックエンドとApache2.2Webサーバーを使用しています。私は現在、アプリにプッシュステートを実装する過程にありますが、まだ初期段階です。
私がこれまでに考え出した解決策は次のとおりです。
- javascriptが有効なブラウザを使用している通常のユーザーの場合は、純粋にクライアント側のバックボーン実装を使用してください。
- Apacheのmod_rewriteを使用して、backbone.jsが正しいページを返し、URLがその形式を保持するように、パスをそのままにしてすべてのパスをindex.htmlページにルーティングします。私はこれだけ正しく動作しています(マイナス1つのバグ)。
- Apacheのhttpd.confファイルを使用してボット/クローラーをスニッフィングし、ボットをnode.jsサーバーに再ルーティングするための書き換えルールを作成します。
- phantomjsを使用してhtml/contentを生成し、それをwebcrawlerに返します。
ボットに対してサイトが完全に機能している必要はありませんが、正しいコンテンツを返す必要があります。私たちは口ひげのテンプレートを使用していますが、DRYサイトが必要であり、サイトが大きくなるにつれて、あらゆる種類のJavaテンプレートのレンダリングが非常に乱雑になると感じています。私たちはこのサイトを何年にもわたって利用できることを望んでおり、大量のサードパーティライブラリに接続しようとはしていません(少なくとも私たちがすでに持っているよりも多くはありません)。
このトピックに関する経験やアドバイスはありますか?私の調査によると、他の人は少し警戒しています。特にこの関連する質問です。ボットがjavascriptで「クリック」するのか、getリクエストを実行するのかについては少し心配です。考えやアドバイス?
よろしくお願いします。