最初にページを開いたときに10の質問と回答が読み込まれたフィードがあります。そして、クリックするたびに10個の新しい質問と回答を取得できる[もっと読み込む]ボタンがあります。
Googlebotにこれらの新しい質問と回答をページ分割されたようにクロールさせるにはどうすればよいですか、つまり:
または、より良い代替手段を提供できますか?
基本的な再読み込みでページネーションを使用している場合、検索エンジンによって自動的にクロールされます(ページごとに異なるURLが必要です)。
AJAXを使用して同じページにさらにコンテンツをロードする場合、上記のケースは機能しませんが、AJAXでURLを動的に変更するなどの代替手段を使用できます(#
URLに追加するのは、#
がURLに追加されると、#
が検索エンジンをクロールしないためです。
history.js jQueryライブラリで実現できます。HTML5がサポートされているブラウザでのみ動作します。つまり、IE #
記号が追加されます。
この方法を使用すると、ページごとに異なるURLを取得し、検索エンジンがページコンテンツのインデックスを作成します。
また、これらすべてのURLがsitemap.xmlに追加されていることを確認してください。
最適なオプションは、通常のページネーションに noscript フォールバックすることです。検索エンジンは、noscriptセクションのリンクを取得し、それらのページのインデックスを作成します。これには、JavaScriptを有効にせずにサイトを閲覧するユーザーがより優れたユーザーエクスペリエンスを得るという追加の利点があります。
サイト上のすべての質問と回答に到達するには、ページネーション以外のメカニズムを提供する必要があります。次の理由により、ページネーションは貧弱なナビゲーション手法です。
代わりに:
これがあなたが探しているものだと思います:Googleの AJAXクロール:ウェブマスターと開発者向けガイド
BBQと呼ばれるjQueryプラグインもよく知っている価値があると思います(history.js
に似ています)
とはいえ、AJAXとJSは一般にアクセシビリティに問題がある場合があり、これはGoogleの方法であるため、他の検索エンジンがそれをどのように処理するのかということです。
フィードまたはコンテンツが静的なページにある場所へのリンクを見つけやすくすることを絶対に検討します(その後、robots.txtを使用してGoogleをブロックし、重複したコンテンツのペナルティが発生しないようにします...フィードよりもページに適しています)。
通常の「フォールバック」がないのはなぜですか?例えば。
<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>
これを非表示にすることができます(私はしません)...