web-dev-qa-db-ja.com

AJAX load moreボタンの背後にあるGoogleクロールコンテンツを作成するにはどうすればよいですか

最初にページを開いたときに10の質問と回答が読み込まれたフィードがあります。そして、クリックするたびに10個の新しい質問と回答を取得できる[もっと読み込む]ボタンがあります。

Googlebotにこれらの新しい質問と回答をページ分割されたようにクロールさせるにはどうすればよいですか、つまり:

  • ページ1 ==> 0-9の質問と回答
  • ページ2 ==> 10-11の質問と回答
  • 等々。

または、より良い代替手段を提供できますか?

1
Jad Joubran

基本的な再読み込みでページネーションを使用している場合、検索エンジンによって自動的にクロールされます(ページごとに異なるURLが必要です)。

AJAXを使用して同じページにさらにコンテンツをロードする場合、上記のケースは機能しませんが、AJAXでURLを動的に変更するなどの代替手段を使用できます(# URLに追加するのは、#がURLに追加されると、#が検索エンジンをクロールしないためです。

history.js jQueryライブラリで実現できます。HTML5がサポートされているブラウザでのみ動作します。つまり、IE #記号が追加されます。

この方法を使用すると、ページごとに異なるURLを取得し、検索エンジンがページコンテンツのインデックスを作成します。

また、これらすべてのURLがsitemap.xmlに追加されていることを確認してください。

2
Jobin Jose

最適なオプションは、通常のページネーションに noscript フォールバックすることです。検索エンジンは、noscriptセクションのリンクを取得し、それらのページのインデックスを作成します。これには、JavaScriptを有効にせずにサイトを閲覧するユーザーがより優れたユーザーエクスペリエンスを得るという追加の利点があります。

7
Kris

サイト上のすべての質問と回答に到達するには、ページネーション以外のメカニズムを提供する必要があります。次の理由により、ページネーションは貧弱なナビゲーション手法です。

  • 訪問者が使用することはほとんどありません。通常、訪問者の2%だけがページネーションを実際に使用します。
  • AJAXを使用すると、クロールできなくなります
  • AJAXがなくても、PageRankがすぐに消散するため、4ページ目までに、どの質問にも成果がありません。

代わりに:

  • すべてのコンテンツをリストするサイトマップXMLファイルを作成し、Googleウェブマスターツールで送信します。
  • タグを使用して、テーマごとに質問をグループ化します。各タグの質問をリストするタグページを用意します。
  • 「関連」リンクまたは類似のものを使用して、質問を他の質問に直接リンクします。
  • ページネーションの最初のページでアイテムの数を増やすことを検討してください。 1ページに100個のアイテムがある場合、検索エンジンは最初のページだけでコンテンツの10倍の量を見つけることができます。
1

これがあなたが探しているものだと思います:Googleの AJAXクロール:ウェブマスターと開発者向けガイド

完全な仕様

BBQと呼ばれるjQueryプラグインもよく知っている価値があると思います(history.jsに似ています)

とはいえ、AJAXとJSは一般にアクセシビリティに問題がある場合があり、これはGoogleの方法であるため、他の検索エンジンがそれをどのように処理するのかということです。

フィードまたはコンテンツが静的なページにある場所へのリンクを見つけやすくすることを絶対に検討します(その後、robots.txtを使用してGoogleをブロックし、重複したコンテンツのペナルティが発生しないようにします...フィードよりもページに適しています)。

0
adam-asdf

通常の「フォールバック」がないのはなぜですか?例えば。

<a onClick="ajaxPage(2); return false;" href="app/page/2">Page 2</a> |
<a onClick="ajaxPage(3); return false;" href="app/page/3">Page 3</a>

これを非表示にすることができます(私はしません)...

0
praveensewak