ウェブサイトのAjaxクロールについていくつか質問がありますが、これは一種の検索エンジンそのものです。ベース 記事 は、AJAXアプリケーションをクロール可能にするメカニズムを説明しています。 HTMLスナップショットを使用したこのようなものはすべて、明確で実装が簡単ですが、Google Botがインデックスを作成するために「きれいなAJAX URL」(つまりwww.example.com/ajax.html#key=value
)を見つける場所がわかりません。
最初に思いついたのは、パンくずリストです。サイトマップでは、パンくずリスト/リンクのあるページを指定できるため、検索エンジンボットはこれらのページをクロールし、そこからHTMLスナップショットを取得できます。しかし、ボットにこれらの「かなりAJAX URL」を提供する方法は他にもあると確信しています。
私たちの場合、ユーザーがキーワードを入力し、「検索」を押し、jsがAjaxリクエストを実行し、JSON応答を受け取り、ページを結果で埋める(もちろん更新なしで)単純な検索サイトがあります。この場合-すべての検索結果へのリンクを含むサイトマップを追加するだけでなく、Googleボットがすべての検索結果を確実にクロールできるようにするにはどうすればよいですか?
上記の記事で説明されているソリューションの例はありますか?
実際のコンテンツページ(求人)の XMLサイトマップ を作成し、Googleに送信し、スクリプトを使用して最新の状態に保ちます。あなたがする必要があるのはそれだけです。
一般に、Googleにサイト検索結果ページのインデックスを作成させることは無意味です。 Googleは検索エンジンであり、コンテンツページを直接インデックスに登録することができます。ある検索エンジン(Google)に別の検索エンジン(サイト検索)の結果ページのインデックスを作成させるのはばかげており、間接的な不要なレイヤーが追加されます。最悪の場合、重大な問題につながる可能性さえあります。
サイトの検索結果がクロール可能であった場合、Googlebotは検索結果のほぼ無限のスペースをクロールすることに時間を費やすことを決定し、実際のコンテンツページのインデックスを作成します。
また、ボットは非常に多くのページをクロールするため、各ページをクロールすることはほとんどありません。サイトが完全に静的でない場合、これは、Googleのインデックスにあるサイトのほとんどのページが古いことを意味します。これにより、Googleはユーザーが検索したコンテンツを持たないサイトのページにユーザーを送信するため、ユーザーエクスペリエンスが低下し、コンバージョンが低下する可能性があります。
(例えば、GoogleがXについての最新の投稿をクロールできるように設計された、不適切にデザインされたサイトでこれが発生していることがわかります。 Googleの結果のページ、スニペットには探していたキーワードが表示されますが、実際にクリックすると、スニペットで見たコンテンツはどこにも表示されなくなります。
これらの理由から、実際には、 robots.txtを使用して、Googleなどの外部検索エンジンがサイトの検索結果をクロールすることを故意に禁止することが推奨されます 、たとえ技術的にはできたとしても。たとえば、 Googleのウェブマスターツールのヘルプページで言う :
「robots.txtファイルを使用して、問題のあるURLへのGooglebotのアクセスをブロックすることを検討してください。通常、検索結果を生成するURLやカレンダーなどの無限のスペースを作成するURLなどの動的URLをブロックすることを検討する必要があります」
1つの例外は、関連するページをユーザーが参照したいリストに関連付ける比較的小さなキーワードセット(または「カテゴリ」または「タグ」、 これらのもの )がある場合です。 (ここで、「比較的小さい」とは、サイト上のコンテンツページの実際の数よりも少ない有限数を意味します。「ユーザーが検索したいものは何でも」ではありません。)その場合、それらを含めることができます。 Googleがサイトマップを検索してインデックスを作成できるように、サイトマップにページをリストします(コンテンツページよりも優先度が低い場合があります)。
また、JavaScriptが無効になっている(またはブラウザーでサポートされていない)ユーザーでも検索できるように、フロントページ(および有用である可能性のある他のページ)からそれらのページに非AJAXリンクを追加することを検討する必要があります。ユーザーがJSを有効にしている場合、それを使用して、リンクを対応するAJAXインターフェースに置き換えることができます。
実際、より一般的には、JavaScriptがなくても(技術的に可能な限り)動作するようにサイトを設計することをお勧めします。これにより、奇妙なブラウザを使用するユーザー(オーディオブラウザーまたは lynx を点字端末で使用する盲目のユーザーなど)やJSでサーフィンするユーザー デフォルトでオフ セキュリティまたはパフォーマンス上の理由により、自動的に検索エンジンからアクセスできるようになります。これにより、JSのないテキスト専用ブラウザを使用するユーザーのようにサイトが表示されます。
まあ...
これは、インデックス作成について話しているサイト検索です...したがって、検索語を生成/入力するには人間の介入が必要です...
Googleがサイトをスパイダーすると、ajaxでも通常のhtmlでも、検索クエリでサイトにヒットしません。アンカー/マークアップで指定したURLのみがヒットします。
このため、私が見ることができる唯一の方法は、Googleにこれらのページをインデックス付けさせ、何らかの方法でユーザーのクエリをキャプチャし、ボットによる最終的なスパイダーのためにこれらをマークアップにレンダリングすることです。
これはコメントではなく回答に入れました。これは質問に答えると感じているからです。非常に前向きな方法ではないと思います。
幸運を...!