ウィキペディアはどのようにしてサイトマップを生成しますか?


9

ウィキペディアのサイズのせいで、このトピックは私に興味を持っています。小さなサイトでサイトマップを定期的に更新するためにいくつかのcronを作成するのは簡単かもしれませんが、大きなサイトはどうでしょうか?そう:

ウィキペディアはどのようにしてサイトマップを生成しますか?

回答:


9

PHPスクリプトによって動的に生成されます。大規模なサイトでは、変更をチェックして、何かが変更された場合にのみ生成するか、XY分/時間/日ごとにのみ生成する方が良いでしょう。それはインフラに依存します。

必要な情報はすべてデータベースにあるため、それほど難しい作業ではありません。

そしてここに証明があります:http : //svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php ?view= log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap php

編集:ああ、これはこのトピックにとっても興味深いかもしれません:


PHPコードを使用して、大きなサイトのサイトマップを生成できますか?「動的に」という言葉は、サイトマップが多少自動的に生成され、必要に応じてコードにわずかな変更を加えることを意味しますか?

「必要な情報はすべてデータベースにあるため、それほど難しい作業ではありません」という文章を明確にできますか?データベースはどこにありますか?

彼は、すべての情報がmediawikiの基礎となるデータベースにあることを意味すると思います。ウィキペディアのシステム管理者またはDBAでない限り、おそらくそれらのDBに直接アクセスすることはできません。
Cian

3
また、OPは「大規模」サイトにサイトマップを生成する方法を考えていると思います。ウィキペディアの場合、データベースからすべてのページが提供される非常にRDBMS駆動(MySQL)です。したがって、DBはすべてのページを認識しており、そのためにはシンプルなPHPスクリプト(上記のSubversionからリンク)が必要です。他のサイトの場合、さまざまなテクノロジーによって推進されているため、必要なアプローチが異なることがわかります。前回ウィキペディアをチェックして、ダウンロード用にデータベースを公開したか、少なくとも、コンテンツを.SQLファイルで公開しました。
nixgeek 2009

1
[ウィキペディアDBダンプ] [1]は次のとおりです:-) [1]:en.wikipedia.org/wiki/…–
グレゴール

1

しばらく前に、私たちのWebサイトのサイトマップを作成するタスクに直面しました。それはウィキペディアのサイズではありませんが、それでも約10万ページであり、それらの約5%が毎日変更、追加、または削除されます。

すべてのページ参照を1つのファイルに入れるとファイルが大きくなりすぎるため、セクションに分割する必要がありました。サイトマップインデックスは、17の異なるセクションの1つに対するクエリ文字列を含むaspxページを指します。クエリ文字列に応じて、ページはデータベースに存在するオブジェクトに基づいて、数千のページを参照するxmlを返します。

そのため、サイトマップは定期的に作成されるのではなく、誰かが要求したときにオンザフライで作成されます。データベース検索をキャッシュするシステムはすでにあるので、これはもちろんサイトマップのデータをフェッチするためにも使用されます。


なぜ反対票か。あなたが間違っていると思うのは何であるかを説明しなければ、それは答えを改善することはできません。
グッファ2015

1

サイトマップ生成コードはMediaWikiコアマスターにあり、確かにサイトマップを生成するために選択されるオプションですが、ウィキペディアで実際に有効になっているという証拠はありません。robots.txtファイルはサイトマップを指していません。

さらに、Wikimediaプロジェクトで実行されるメンテナンススクリプトはpuppetによって制御され、puppetリポジトリにgenerateSitemap.phpのインスタンスはありません。最後に、どのWikimedia wikiのダンプにもサイトマップはありませんが、「Yahooの要約」があります。

いずれにせよ、ウィキペディアはアプリサーバーの前でSquidキャッシュを実行します。ページの有効期限を調整することで、サイトマップの更新頻度を制御できます。

さらに、ウィキペディアがインデックス作成のために行うことは、ウィキペディアにとって適切なモデルではありません。Googleには特別な連絡先/取引/ウィキペディアの処理があるためです。最近の例を参照してください。


+1スマート観察

1
robots.txtがサイトマップを参照することを期待する本当の理由はないので、そのような参照がなくても、何も証明されません。
ジョンガーデニアズ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.