2017-06-07 18 views
7

私はExpressによって提供される簡単なAngular 4プロジェクトを持っています。 Googlebotを使用してサイトを取得しようとすると、空白のページ(AppRootのinnerHTML)が表示されたばかりです。私は、GoogleがAngles 4/JSのウェブサイトをサポートしていると主張していると思った?Angular 4 and SEO

これでも問題が解決しない場合、Angular Universalを使用したサーバー側のレンダリングは本当に最適なソリューションですか?通常のクライアントサイドでレンダリングされたアプリケーションを提供するメインサーバーに加えて、サーバー側のレンダリングされたアプリケーションを提供する別のサーバーをセットアップする必要がありますか?それがそうであれば、サーバー側のレンダリングされたアプリケーションとクライアント側のレンダリングされたアプリケーションのポートに行くための通常のhttpトラフィックのためのポートに行くgooglebotをどのように伝えるのですか?クローラはhttpトラフィックではありませんか?

+1

この質問は、ヘルプセンターで説明されているような議論の範囲にないため、話題にはならないようです。 – Will

+0

Angular Universalを使用したサーバー側のレンダリングでは、SEOに関する限り問題は解決します。 googlebotと通常のトラフィックの両方が同じサーバーに当てられます。 googlebots IMOのための別の手配はありません。ここでは良い読書です:https://coursetro.com/posts/code/68/Make-your-Angular-App-SEO-Friendly-(Angular-4-+-Universal) – Raptor

+0

@Deepakswainはい、新しい男、それです。推奨質問(「Angular Universalを使用したサーバー側のレンダリングは本当に最高のソリューションですか?」)とGooglebotの仕組みについては、ここでは話題にはなりません。 [tag:seo]タグを読んでください。 – Will

答えて

0

問題はAngular4に固有の問題ではありません。 javascriptで動的に生成されたデータは、最初は空白として表示され、そのコンテンツが読み込まれます。私はあなたがgoogle page speed Insightsを見ていると仮定します。

  1. コメントアウトあなた外部CSS
  2. コメントアウト外部のjs

これは、Googleの最初のビューになります:Googleが見るものを見るために

。その後、Googleは外部ファイルを取得し、JavaScriptを実行してページをレンダリングします。 Googleページの速度は、外部アセットを取得する前後で、折りたたみ部分の上にある変化したピクセルのペナルティを課します。

角度ユニバーサル(または角の問題ではないため、任意のサーバー側のレンダリング)は、この問題を解決します。

希望に役立ちます。