JavaScriptを使用してコンテンツが動的に生成されるWebサイトがあります。検索エンジンのインデックス作成を目的として、ページのスナップショットも提供しています。
ここではいくつかの例を示します。
これらのリンクのいずれかのHTMLソースを表示すると、noscript
タグ内にコンテンツが指定されていることがわかります。これは、ユーザーに表示される動的なJavaScript生成コンテンツのミラーであり、検索エンジンクローラーが処理するために配置されています。
GoogleBotはnoscript
コンテンツを正しく処理して検索結果に表示しますが、BingBotはページのインデックスを作成していません。
サイトマップが送信されたことを確認し、約4日間待機しました。
問題をどのように解決しますか?理想的には、シンプルでエレガントなので、ノースクリプトでやりたいと思います。別の方法として、標準のマークアップでコンテンツを追加し、CSSを使用して非表示にすることもできますが、ブラウザーにとっては不要な余分な作業であるため、可能であればそれを避けたいと思います。
この問題に関する洞察はありますか?具体的には、BingBotがnoscript
タグ内のコンテンツを処理しないという証拠はありますか?
私の場合、私は完全にAjax化されたコンテンツを設計しましたが、ボットが適切にクロールすることは難しいことがわかりました。だから私はそれを再設計します。ページを初めて開いたとき、表示されるコンテンツはjavascriptイベントを使用して作成したものとまったく同じです。要するに、各コンテンツは独自のURLを取得し、サイトマップへのすべてのURLをリストしました。最後に、ほとんどのURLがクロールされ、インデックスが作成されることがわかりました。
たとえば、私のサイトを見ることができます:learn.servloci.com
さらに、site:[given url]をキャッシュとして使用して確認できます。
noscript
タグがGoogleで機能することに少し驚いています。 Googleは クロール可能なAJAX の標準をリリースしました。このページには、クローラーが追加パラメーターを使用してURLからスナップショットを取得するメタタグがあります。
Bingはこの標準もサポートするようになりました ですので、これを実装すると、GoogleとBingの両方でコンテンツのインデックスが作成されます。