2013-04-04 8 views

答えて

5

Iリンク https://developers.google.com/webmasters/ajax-crawling/

http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

全ての点の上方及び下方用いて自分のサイトにクロール実装

http://india-elections.in

作成された静的テンプレート使用PhantomJs

+1

HTMLスナップショットを作成するために何を使用しましたか? –

+0

手動でスナップショットを手動で作成しました。 –

+0

マニュアル作成をphantomjsスナップショット機能に置き換えました。 –

5

は、私が知っている唯一の作業溶液は、コアAngularJSチームはそのマニュアルのウェブサイトのために使用するものです。

  • まず、URLの場合はHTML5の履歴を使用し、ハッシュバングの場合はフォールバックを使用します。ハッシュバングのURLは、クエリ文字列内で_escaped_fragment_とクロールします。
  • 次に、ユーザーがページを読み込んでAngularJSが解析するときにDOM内にあるようにテンプレートをレンダリングするために、AngularJS文字列補間とディレクティブをバックエンドで使用します。
  • これらはGoogleに渡されるため、ユーザーのブラウザと同じ検索インデックスにコンテンツが含まれます(これは隠していません)。

これは、AngularJS Googleグループのコア開発者によって言及されました。 [1] [2] [3]

また、残りのスレッドからは、PhantomJSとNodeJSを使用してページを解析していると思います。

[1] https://groups.google.com/d/msg/angular/yClOeqR5DGc/4YXGx9z8EpAJ

[2] https://groups.google.com/d/msg/angular/EGwg49uAmMI/j-kj9nytT-IJ

[3] https://groups.google.com/d/msg/angular/EGwg49uAmMI/j-kj9nytT-IJ

+0

はあなたが提案 –

+0

へのリンクを提供してください可能性があります。今まで私はそれを見つけました - https://groups.google.com/d/msg/angular/yClOeqR5DGc/4YXGx9z8EpAJ –

2

は私がチェックアウトする価値があるかもしれないことthis serviceに出くわしました。それはPhantomJSサーバーを実行し、あなたのためのすべての訓練を行います。

+0

ハッシュベースのURLまたはhtml5ベースのURLを使用すると、このサイトのドキュメントは非常に制限されています。 –

1

1ページのアプリケーションを作成するクロールは可能ですが、インタラクティブな操作は簡単ではありません。あなたはバックボタンを許可し、アクセスでジャンプするUXの観点からアクセスポイントについて考える必要があります。たとえば、戻るボタンが押されたときに、サーバー上でオブジェクト状態のマークを再作成する必要があり、ユーザーの操作がなくても、そのアクセスポイントにアクセスするのと同じマークアップがクライアントで作成されます。 Phantom.jsはこのタスクに使用することができます。クライアント/サーバーに依存しないJsを使用して両端で実行することもできますし、PHPのようにアクセスポイントの状態を複製するロジック全体を書き直すこともできますサーバー。 @Ajay Beniwalはhtmlスナップショットを作成する方法についていくつかのリンクを詳しく述べています。

特定のオブジェクト状態でブートストラップマークアップを捨てることができるウェブサーバがあるとします。状態は状態識別子で指定できますが、これはあなたのコードをクロール可能にするためのURLである必要があります。 Angular jsやBackbone.jsのようなライブラリは、Backbone.Routerのようなメカニズムを提供します。Backbone.RouterはリンクフラグメントやHTML5のpushState()メソッドを使ってクライアントに状態識別子を格納します。しかし、HTML5の美しさは、適切なオブジェクト状態urlにリダイレクトされたハッシュを解析する最初のページを読み込まなくても、リフレッシュによって正しいオブジェクト状態がサーバーに直接呼び出されるということです。 HTML5のパラダイムを中心にアプリケーションを設計すると、クロールのためのケーキになります。また、Backbone.RouterなどのHTML5 pushStateのほとんどの実装は、古いブラウザのハッシュタグ状態マーキング実装に正常に戻って戻るボタンを許可します。

関連する問題