user10608 Asked: 2009-06-27 05:45:11 +0800 CST2009-06-27 05:45:11 +0800 CST 2009-06-27 05:45:11 +0800 CST 维基百科如何生成它的站点地图? 772 这个话题让我感兴趣是因为维基百科的规模。在小型站点中创建一些定期更新站点地图可能很容易,但是大型站点呢?所以: 维基百科如何生成它的站点地图? wiki sitemap 4 个回答 Voted Best Answer Gregor 2009-06-27T06:01:17+08:002009-06-27T06:01:17+08:00 它是由 PHP 脚本动态生成的。对于大型站点,最好检查更改并仅在发生更改时生成 - 或仅每 XY 分钟/小时/天生成一次。这取决于基础设施。 所需的信息都在数据库中,所以这不是一项艰巨的任务。 这是证据:http ://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap。 php 编辑:啊,这对于这个主题也可能很有趣: 缓存策略 维基媒体服务器 Guffa 2009-07-20T00:53:12+08:002009-07-20T00:53:12+08:00 不久前,我面临着为我们的网站创建站点地图的任务。虽然没有维基百科那么大,但还是有十万页左右,每天大约有5%的页面被更改、添加或删除。 由于将所有页面引用放在一个文件中会使其太大,我不得不将它们分成几个部分。站点地图索引指向一个 aspx 页面,其中包含 17 个不同部分之一的查询字符串。根据查询字符串,页面返回一个引用数千页的 xml,这取决于数据库中存在哪些对象。 因此,站点地图不是定期创建的,而是在有人请求时动态创建的。由于我们已经有一个缓存数据库搜索的系统,这当然也用于获取站点地图的数据。 brianegge 2009-07-13T15:38:40+08:002009-07-13T15:38:40+08:00 虽然站点地图生成代码在 MediaWiki 核心主控中,并且肯定是生成站点地图的选项,但我没有看到任何证据表明 Wikipedia 确实打开了它。robots.txt 文件不指向任何站点地图。 此外,在维基媒体项目上运行的任何维护脚本都由 puppet 控制,并且puppet 存储库中没有 generateSitemap.php 实例。最后,在任何 Wikimedia wiki的转储中也没有站点地图,而有“ Yahoo 的摘要”。 无论如何,维基百科在他们的应用服务器前运行 Squid 缓存。他们可以通过调整页面的到期时间来控制其站点地图的更新频率。 此外,无论 Wikipedia 为索引做什么,对您的 wiki 来说都不是一个好的模型,因为 Google 对 Wikipedia 有特殊的联系人/交易/处理方式,请参阅最近的示例。 Keith 2009-07-14T13:16:08+08:002009-07-14T13:16:08+08:00 我不是很肯定,但我认为他们使用了MediaWiki 的Google Sitemap扩展。Sitemaps上的 Wikipedia 页面支持这一点。
它是由 PHP 脚本动态生成的。对于大型站点,最好检查更改并仅在发生更改时生成 - 或仅每 XY 分钟/小时/天生成一次。这取决于基础设施。
所需的信息都在数据库中,所以这不是一项艰巨的任务。
这是证据:http ://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap。 php
编辑:啊,这对于这个主题也可能很有趣:
不久前,我面临着为我们的网站创建站点地图的任务。虽然没有维基百科那么大,但还是有十万页左右,每天大约有5%的页面被更改、添加或删除。
由于将所有页面引用放在一个文件中会使其太大,我不得不将它们分成几个部分。站点地图索引指向一个 aspx 页面,其中包含 17 个不同部分之一的查询字符串。根据查询字符串,页面返回一个引用数千页的 xml,这取决于数据库中存在哪些对象。
因此,站点地图不是定期创建的,而是在有人请求时动态创建的。由于我们已经有一个缓存数据库搜索的系统,这当然也用于获取站点地图的数据。
虽然站点地图生成代码在 MediaWiki 核心主控中,并且肯定是生成站点地图的选项,但我没有看到任何证据表明 Wikipedia 确实打开了它。robots.txt 文件不指向任何站点地图。
此外,在维基媒体项目上运行的任何维护脚本都由 puppet 控制,并且puppet 存储库中没有 generateSitemap.php 实例。最后,在任何 Wikimedia wiki的转储中也没有站点地图,而有“ Yahoo 的摘要”。
无论如何,维基百科在他们的应用服务器前运行 Squid 缓存。他们可以通过调整页面的到期时间来控制其站点地图的更新频率。
此外,无论 Wikipedia 为索引做什么,对您的 wiki 来说都不是一个好的模型,因为 Google 对 Wikipedia 有特殊的联系人/交易/处理方式,请参阅最近的示例。
我不是很肯定,但我认为他们使用了MediaWiki 的Google Sitemap扩展。Sitemaps上的 Wikipedia 页面支持这一点。