7

クライアントサイドのJavaScriptアプリと検索エンジンのボットクロールアプローチについてかなりの部分を読みました。私は2つの一般的なアプローチを見つけました:

ワークフロー1:

前提条件: Webアプリ全体が正常に機能しなくなり、JavaScriptなしで使用できるようになります。したがって、検索エンジンボットがクロールすることは明らかです。

  1. ユーザーはグーグル検索から特定のトピックに来ます
  2. トピックはプレーンHTMLで可能な限り高速にロードされます
  3. JSAppFrameworkがバックグラウンドで読み込まれます
  4. 準備が整うとすぐに、JSAppFrameworkがすべてのアクションやルートなどを引き継ぎます。

ワークフロー2:

前提条件: サーバーバックエンドは、Googleのajaxクロールガイド(https://developers.google.com/webmasters/ajax-crawling)に従って設計され、escaped_fragment urls(例:www.example.com/ajax.html?_escaped_fragment_=key)に戻ります。 = value)プレーンhtml。私が理解している限り、http://phantomjs.org/のようなものを使用して、フロントエンドコードの重複がないことを確認できます。

  1. Googleは結果にajaxURLを表示します
  2. リクエストはajaxURL#を使用して行われます!
  3. emberjsアプリケーションが初期化され、URLに応じて目的の状態がロードされます。

質問:

検索エンジンボットとフロントエンドjs-frameworkの良さのためにサーバー側のレンダリングを提供するには、クロール可能なemberjsアプリケーションスタックはどのように見えるべきですか?これを達成するためにemberjsコア開発者が推奨するものは何ですか?(例:Node + Emberjs + phantomjs +-x OR Rails + Emberjs + y OR Playframework + Z)?

そこにたどり着く方法はたくさんあるかもしれませんが、stackoverflowを使用して一般的なアプローチを除外するのは良いことだと思います。

サイドノート:

このようなフルスタックをすぐに作成したいJSフレームワークについてはすでに見てきました。ここでこれらに名前を付けるには:

私は特にemberjsについて質問します。なぜなら、彼らのアプローチが好きで、その背後にあるチームは間違いなく最高のフレームワークの1つを構築できると思うからです。

4

1 に答える 1

1

emberjs用に構築されたこのような既存のものはまだ見たことがありません。ただし、ノードのサーバー側モジュールとしてemberを統合する初期の試みがあります。

チェックアウトするものはderby.jsで、これは実際にワークフロー#1を実行します。あなたは彼らのコードベースを見たいと思うかもしれません、そしてあなたが仕事に取り掛かっているなら、それを残り火に適応させてください。

于 2012-08-24T17:07:38.610 に答える