最近、複数ページの Vue プロジェクトを構築したところですが、フロントエンドとバックエンドの分離は SEO に良くないと言っている人がインターネット上でたくさんいました。なぜですか?フロントエンドで静的ページを作成し、それをサーバー側のレンダリングのためにバックエンドに送信することは、SEO の最適化に役立ちますか?また、論理演算はフロントエンドで処理されるのか、バックエンドで処理されるのかについてもお聞きしたいのですが。たとえば、航空券を並べ替える場合、フロントエンドでデータを並べ替えてから、js を使用してページをレンダリングしますか、それともバックエンドで並べ替えますか?
phpcn_u15822017-05-19 10:13:53
SEO の本質は、あるサーバーが別のサーバーへのリクエストを開始し、リクエストのコンテンツを解析することです。しかし、一般的に言えば、検索エンジンは要求された JS に戻って実行することはありません。つまり、シングルページ アプリケーションの場合、HTML はサーバー側で一部のデータをまだレンダリングしておらず、データはブラウザ内でのみレンダリングされ、検索エンジンによって要求された HTML にはレンダリングされたデータがありません。 これは、検索エンジンによるコンテンツの検索に非常に悪影響を及ぼします。 したがって、サーバー側レンダリングでは、サーバーがブラウザーにデータを送信する前に、ページ上にデータを配置しようとします。
2 番目の質問は、一般的なデータ ロジック操作がバックエンドに配置されているということです。データが数個しかない場合、フロントエンドとフロントエンドの並べ替えは同じです。データが 1,000 個ある場合、フロントエンドはすべてのデータの並べ替えを要求する必要があります。これは明らかに不合理です。
巴扎黑2017-05-19 10:13:53
検索エンジンは JavaScript の実行をあまり好まないため、バックエンド レンダリングの方が優れています。たとえば、Google では Zhihu コラムの記事をまったく検索できないようです。 Internet Archive も Zhihu 列には適用できません。
私の個人的な意見は次のとおりです。コンテンツに重点を置いた Web サイトの場合、ブラウザ以外での使用を容易にするために、コア コンテンツは可能な限りバックエンドでレンダリングされるべきです。さまざまな SAP などのソフトウェアベースの Web サイトの場合は、これらについて心配する必要はありません。気にするのは無駄です。
黄舟2017-05-19 10:13:53
検索エンジンの基本的なクローラー原理は、URL をクロールし、HTML ソース コードを取得して解析することです。 ページは通常、vue などの js のデータ バインディング メカニズムを使用してページ データを表示します。クローラーによって取得された html は、最終データのレンダリング ページではなく、モデル ページであるため、js を使用してデータをレンダリングすることは SEO には適していません。 。
追記: さらに、すべての JS エンジンがクロールできないわけではありません。たとえば、Google は長い間 JS コンテンツを解析できましたが、国内の「愚かな」エンジンのグループはまだ解析できません。 Zhihu が Google で見つからない理由は、Web サイトの robots.txt がデフォルトで検索エンジンに公開されていないためです。ルールに従うエンジンは設定に従い、クロールしませんが、一部の不正なソフトウェアは従わない場合があります。