58

常に新しいページを生成している非常に動的な Web サイトは、サイトマップを使用する必要がありますか? もしそうなら、stackoverflow.com のようなサイトはどのようにしてサイトマップを再生成するのでしょうか? 誰かが質問を追加するたびにサイトマップを常に再生成していると、貴重なサーバー リソースが浪費されるようです。設定された間隔 (4 時間ごとなど) で新しいサイトマップを生成しますか? 大規模で動的なウェブサイトがこれを機能させる方法に非常に興味があります。

4

5 に答える 5

48

Stackoverflow (およびすべての Stack Exchange サイト) では、システムに投稿されたすべての質問へのリンクを含む sitemap.xml ファイルが作成されます。新しい質問が投稿されると、サイトマップ ファイルの末尾に別のエントリを追加するだけです。ファイルの最後に追加するのにそれほどリソースを消費するわけではありませんが、ファイルは非常に大きくなります。

これが、Google などの検索エンジンが効果的にサイトをクロールできる唯一の方法です。

Jeff Atwood がブログ投稿でそれについて語っています :サイトマップの重要性

これは、サイトマップに関する Google のウェブマスター ヘルプ ページからのものです。

サイトマップは、次の場合に特に役立ちます。

  • あなたのサイトには動的コンテンツがあります。
  • あなたのサイトには、クロール プロセス中に Googlebot が簡単に検出できないページがあります。たとえば、リッチ AJAX や Flash を使用するページです。
  • あなたのサイトは新しく、リンクがほとんどありません。(Googlebot は、あるページから別のページへのリンクをたどってウェブをクロールするため、サイトが十分にリンクされていないと、サイトを発見するのが難しい場合があります)。
  • あなたのサイトには、相互に十分にリンクされていない、またはまったくリンクされていないコンテンツ ページの大規模なアーカイブがあります。
于 2009-07-08T17:20:40.467 に答える
15

質問が投稿されるたびに Google サイトマップ XML を再生成する必要はありません。XML ファイルをオンデマンドでデータベースから直接生成する (そして少しキャッシュする) だけのほうがはるかに簡単です。

負荷を軽減するために、サイトマップを多数のサイトマップに分割できます。日/月ごとに分割すると、Google に今日のサイトマップを頻繁に取得するように指示できますが、6 か月前のサイトマップはたまに取得するだけです。

于 2009-07-08T17:20:37.533 に答える
2

StackOverflow のようなものでも、ある程度の静的な組織があります。FAQ、タグページ、質問ページ、ユーザーページ、バッジページなどがあります。非常に動的なサイトでは、サイトマップにアプローチする最善の方法は、分類のマップを持つことです。サイトマップの各ノードは、動的に生成されたデータのページ (質問ページのノード、ユーザー ページのノードなど) を指すことができます。

もちろん、サイトマップが特定のサイトに適していない場合もあります。そこにはある程度の判断が必要です。

于 2009-07-08T17:20:26.693 に答える
1

非常に動的なサイトの場合、サーバーで毎日実行される cron ジョブを作成しました。毎日バックエンドに残りの呼び出しを行い、新しく生成されたすべてのコンテンツに従って新しいサイトマップを生成し、xml ファイルの形式でサイトマップを返します。この新しいサイトマップは以前のサイトマップを上書きし、すべての変更に従って Web サイトを最新の状態に保ちます。新しく追加された動的コンテンツごとにサイトマップを変更するのは良い方法ではないと思います

于 2016-11-08T08:09:31.220 に答える