コンテンツが動的に変化する巨大なWebサイトのサイトマップファイル( https://www.sitemaps.org )を生成するシステムを導入する必要があります。これらは例の数字ですが、私はこれらの桁以上の何かを考えています:
検索エンジンが最初にすべてのインデックスを作成した後の私の進行中のサイトマップの目標は次のとおりです。
ウィキペディアやStackOverflowなどのサイトも同様の位置にあると思われることを付け加えます。
そのようなユースケースに適したアルゴリズムはありますか?
サイトマップはあまり役に立ちません。 Googleがサイトマップにあるという理由だけでページのインデックスを作成することはほとんどありません。スタックオーバーフローは、XMLサイトマップのみを使用していた場合、すべての質問にインデックスを付けるのに問題がありました。 サイトマップパラドックス をご覧ください。どのページがサイトマップで変更されているかを伝えることも機能しません: GoogleはXMLサイトマップのlastmodタグをほとんど無視すると言います
あなたの1,000万ページのサイトについてはあまり知りませんが、インデックス化されたページのほんの一部しか取得できない可能性があります。 Googleは、あなたの評判のあるサイトにふさわしいと思われるページ数のみをインデックス化します。インデックスを作成する1,000ページごとに、他の一意のドメインからのリンクが必要であると推測します。すべてのページをインデックスに登録するには、自分のページにリンクする10,000の異なるサイトが必要です。それを行った大きなサイトはたくさんありますが、通常は達成するのに何年もかかります。
できるだけ多くのページをランク付けする場合、通常は、ディープページを他のディープページにリンクするのが最善の戦略です。これが、このサイトの各質問ページに「関連する質問」のリストがある大きな理由です。
サイトマップは、新しいページを比較的すばやくクロールするのに役立ちます。一般に、サイトマップに新しいページを追加することは、Googlebotにサイトマップを見てもらうための良い方法です。 Googleは、Googlebotがクロールするほとんどのものをインデックスに登録しません。新しいページをインデックスに登録する場合は、非常に人気のあるページの1つからリンクする必要があります。これが、このサイトのホームページに新しい質問のリストがある理由の大きな部分です。
変更されたページは通常、緊急のクロールとインデックスの再作成を必要としません。ページのコンテンツが大幅に変更されない限り、通常は、以前にキーワードがあったページのランキングが良好になります。 Googleは通常、数週間以内に人気の低いページでも変更を見つけます。特定のページをすぐに再クロールするようにリクエストできることを知っている唯一の方法は、Google検索コンソールの「fetch as Google」機能を使用することです。 1日に少数のリクエストに制限されているため、毎日変更される数千(または数十)のページに対して戦略は機能しません。
Googlebotが変更されていないページを再クロールするのを防ぐ方法はありません。 Googlebotは、人気度に基づいてページを再クロールする傾向があります。ホームページは1日に数回クロールされる場合がありますが、ディープページは数週間ごとになる場合があります。 Googlebotのこの動作を変更するためにできることは、私が知っていることは何もありません。 Googlebotは大量の帯域幅を使用します。検索エンジンのトラフィックが必要な場合は、そのための計画と予算を立てる必要があります。幸いなことに、帯域幅とホスティングはかなり安価です。
同様の状況があり、2つのファイルを作成しました。
次に、2番目のファイルをサイトマップインデックスとしてGoogleに送信します。
私自身の正気と組織のために、私はサイトでこれを数回行います。メインセクションは3つあるため、各セクションにサイトマップインデックスを作成します。また、サイトのメイン、ゲートウェイ、ページを含むURL専用の、動的ではない専用のサイトマップを作成します。
サイトマップとインデックスは50,000個のURLに制限されているため、この方法を調整して、私のサイトよりも大きなサイトに対応する必要があります。しかし、論理はスケーリングすると思います。