2016-09-26 12 views
0

私はReactを使用しています&ユニバーサルアプリケーションを構築するためのノードJS()。私はまた、ページのタイトル、メタ、説明などを扱うためのライブラリとして反応ヘルメットを使用しています。 コンテンツを動的に読み込むときにajaxを使用して動的にコンテンツを読み込むため、Googleクローラが正しくサイトを取得できません。この問題に取り組むための提案はありますか? ありがとうございました!同形反応のSEOを扱う

+0

あなたは、サーバー側レンダリングについて聞いたことがありますか? – FurkanO

+0

ええ、私はAPIサービスからデータを最初にフェッチする必要があるので、既にサーバーサイドレンダリング@FurkanO を使用しているため、非同期に実行されます。 –

+0

SSRを実行している場合は、everypageがサーバー上でレンダリングされるため、SEOに問題はないはずです。あなたがそうしているかどうかはわかりません。 SSRは、最初のページがサーバー上のデータを取得することを意味します。あなたのアプリケーションはそうしていますか? – FurkanO

答えて

0

バックエンドがdjangoと似たような状況でしたが、どちらのバックエンドを使っても構わないと思います。

最初に私は基本に行きます、グーグルボットは実際にあなたのajax呼び出しが完了するのを待つことはありません。あなたがGoogleのウェブマスターツールであなたのページを登録してテストしたいと思って、Googleとしてフェッチしようとすると、あなたのページがボットによってどのように見られるのかが分かります。ページは空です。ボットがテキストを読むと、が悪いです。がSEOになります。

あなたがする必要があるのは、サーバー側のレンダリングです。これは、prerender.ioの2通りの方法で行うことができます。最初にページが呼び出されたときに読み込まれた後に読み込まれるテンプレートをバックエンドで作成します。

プリペイドを使用しているが、レンダリングは内部的に直接使用できるphantom.jsを使用します。しかし、それは本当にうまく動かなかったので、私はバックエンドにテンプレートを作成することに行きました。 ボットやユーザーが初めてページングするとき(または最初のエントリ)、そのページはバックエンドの他のフロントエンドから提供されます。

はどんな質問に尋ねる場合に気軽に:)

+0

ああ大丈夫、提案していただきありがとうございます。バックエンド側のテンプレートの詳細を教えてください。 –

+0

yup ..反応コードから作成するテンプレートは、作成したhtmlをinspect要素からコピーし、バックエンドにhtmlファイルを作成するだけです。私はあなたがあなたのAPIから得ているhtmlでデータが必要であると仮定しています。 db(またはapiを呼び出して)から取得し、ビューからテンプレートに渡すことができます。 –

+0

あなたはそれを助けた場合、あなたは答えをupvoteできますか? –

関連する問題