jQueryを使用して、jsonリクエストでデータベースからコンテンツを取得します。次に、HTMLのワイルドカード(%title%など)を実際のコンテンツに置き換えます。これはうまく機能し、この方法で多言語のテキストをデータベースに保持できますが、Googlebotはワイルドカードのみを認識し、実際のコンテンツは認識しません。GooglebotがJavaScriptのないページを表示することは知っていますが、これに対処する方法はありますか?ありがとう!
3 に答える
Googleでこのドキュメントをよく読んでください。
Googlebotがインデックスを作成できるようにする方法について説明します。
#hashfragment
URLの値の変更に応じてコンテンツが変更されるページ。#hashfragment
コンテンツがロードされるとすぐに変更されるが、それ自体は特別なものがないページ。
つまり、<meta name="fragment" content="!">
「ステップ3」で説明したようにを追加し、ページの読み込み後にクライアントコードが生成するはずだったすべてのコンテンツを一度に返送することで、サーバー側の特別なリクエストに応答することを検討しています。これらの特別なリクエストは、実際?_escaped_fragment_=...
にはURLに含まれるリクエストであり、最終的なプレゼンテーションのすべてをGooglebotの単一の応答にプリベイクする必要があることをサーバーに示します。
とは言うものの、この特別なケースでは入力されたコンテンツを出力する努力をしているので、一般的なケースでは(Googleの_escaped_fragment_
リクエストに対処する必要性を回避して)それを行う方が良いかもしれません。必要に応じて、ページの読み込み後にマーカーを交換します(たとえば、特定のスパンを使用するclass
かid
、それらを識別するために)。
Googlebotは、ダウンロードしたページを明らかにレンダリングしません。これはおそらく、他の検索ボットが採用しているのと同じ動作になります。
サーバーサイドスクリプトまたはコンパイルソリューションを使用する必要があります(PHP、ASP.NETなどから選択できるものはたくさんあります)。このようにして、動的なi18n機能を維持し、Googlebotは意図したとおりにページを認識します。または、少なくともGooglebotが評価していることがわかっているタイトルなどの基本的なページ属性に対してこれを行い、ページのそれほど重要ではない部分についてjQueryを更新し続けます。
(ただし、正直なところ、ページのダウンロード後にjQueryを使用してトークンを置き換えることは、特にサーバー側のスクリプトが非常に簡単で無料の場合、おそらく最も効率的な方法ではありません)。