在Mediawiki中如何生成网站地图Sitemap
对于新版本的Mediawiki,这里是指Mediawiki 1.7 以后的版本,提供了generateSitemap.php
生成sitemap文件,可不必再使用扩展,不过这个文件不能直接通过浏览器访问,必须通过命令行访问,对于虚拟主机的用户是一个弊端。
每次调用generateSitemap.php
,生成全部sitemap。一般我们通过定时任务(Linux下是cron
)调用,定时生成。
generateSitemap.php命令示例
php /wiki/maintenance/generateSitemap.php –fspath /uedsc.com/sitemap/ –urlpath http://uedsc.com/sitemap/ –compress yes –server http://uedsc.com
命令解释
–fspath
是存放sitemap文件的目录–urlpath
是指向–fspath
目录的URL–compress
是是否压缩为gzip文件–server
是网站的域名- 详细命令行参数见官方说明
执行后,生成1个索引xml和一组sitemap xml。每个namespace至少生成1个sitemap xml,url超过限制则生成另一个xml,缺省限制是1个xml是50000。可根据需要向搜索引擎提交索引xml或若干sitemap xml。
如只生成部分namespace的sitemap,可在wiki/LocalSettings.php
中设置:
$wgSitemapNamespaces[0]=0;
$wgSitemapNamespaces[1]=14;
0是主namespace,条目一般都在这里;14是分类的namespace。
生成的xml文件名很长,如想修改文件名规则,可修改/wiki/maintenance/generateSitemap.php
的150行(索引xml)和352行(sitemap xml)。
如mediawiki已设置短URL,则sitemap中就是短URL。