2013-10-20 4 views
6

私はAngular-seo packageと一緒にPhantomJSを使用しています。 クローラーがSPAページを読むことはできますか?

は、私はFacebookのオープングラフで動作するように設定するために管理し、LinkedInのは _escaped_fragment_形式をサポートしていないようだ、とだけではなく、 myapp.com/?_escaped_fragment_=client_side_pathのアプリケーションの index.htmlページを要求hasbang後の経路を無視します。

問題を解決するにはどうすればよいですか。

答えて

1

残念ながら、これを解決する唯一の方法は、ボットのユーザーエージェントをチェックし、静的バージョンを送信することです。 thisによると、LinkedInのボットのユーザエージェントはこれです:

LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com) 
+0

うん、私はこれを考え出したが、私の場合、私は非常に動的なアプリケーションを実行している、と比較だけで非効率的だろうボットへのスナップショットを提供していますphantomJSインスタンスをバックグラウンドで実行する(または、問題の場合はprerender.io) –

+0

PhantomJSとAngular-SEOを使用してコンテンツを提供している場合は、LinkedInロボットがあなたのサイトをリクエストしたときに同じコンテンツを送信することができます - 余分な作業はありません。私が何かを誤解していない限り? –

+0

LinkedInボットは、hahsbangの後のURLパラメータを無視します。なぜなら、その観点から、hashbangマークがHTTP仕様(クライアント側ルーティング)にないため、ボットはインデックスを要求するからです。任意のパラメータ(エスケープされたフラグメントなし)なしで、アプリケーションのhtmlファイルに保存されます。 あなたのために物事を明確にすることを願っています –

関連する問題