The topic interests me because of Wikipedia's size. It may be easy to create some crons to update the sitemaps periodically in a small site, but what about a big one? So:
How does Wikipedia generate its Sitemap?
|
feedback
|
|
It's dynamically generatet with a PHP script. For big sites it's probably better to check for changes and only generate if something changed -- or geneare it only all XY minutes/hours/days. Depends on the infrastructure. The informations needed are all in the database, so it's not such a hard task. And here is the proof: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php Edit: Ah and this could be also intresting for this Topic: | |||||||||||||||
feedback
|
|
Although the sitemap generation code is in the phase3 trunk, I don't see any evidence that Wikipedia actually has it turned on. The robots.txt file does not point to any site maps. In either case, Wikipedia runs Squid caches in front of their app servers. They can control how often their sitemap is updated by adjusted the expiry time for the page. | |||||||
feedback
|
|
I'm not positive, but I think they use the Google Sitemap extension for MediaWiki. This is supported by the Wikipedia page on Sitemaps. | |||
|
feedback
|
|
I was faced with the task to create a site map for our web site a while back. Although it's not the size of Wikipedia, it's still around a hundred thousand pages, and about 5% of them are changed, added or removed daily. As putting all the page references in a single file would make it too large, I had to divide them into sections. The site map index points to an aspx page with a query string for one of 17 different sections. Depending on the query string the page returns an xml referencing several thousand pages, based on which objects exist in the database. So, the site map is not created periodically, instead it's created on the fly when someone requests it. As we already have a system for caching database searches, this is of course used to fetch data for the site map also. | |||
|
feedback
|