2008年2月9日 12:02 am
怎么在 WordPress MU 使用 XML Sitemap 插件
如果你是一位认真的博客主人,那么你就会象许许多多其他认真的博主一样十分关心自己博客的曝光度。换句话说,就是希望自己的博客在成千上万的博客中脱颖而出。当然啊,这就包括能使自己博客在搜索引擎中的结果页里往前靠的网站优化。这种行为用时髦的词来讲就是 SEO。许多拥有 WordPress 的博主们就想尽办法在 WP 上安装一些插件来实现这些 SEO 的可能。其中一个工具就是 Google (XML) Sitemaps Generator for WordPress,它可以让博主们轻松地生成各种搜索引擎包括Google机器人能读的XML SiteMap。从WP官方插件下载网站来看,现在用它的人还不少。你若有兴趣而且你的博客又是 WordPress 单用户版本,可以到该插件的作者网页上直接查看下载及使用说明。
我这里想要说的是针对那些安装了 WordPress MU 多用户版的博主们。由于默认的 XML Sitemaps Generator (版本号 3.0.3) 插件代码并不是面向 WordPress MU的,就算你成功地安装了 XML Sitemaps Generator,生成的也是首博客的 Sitemap,而不能为所有其他的分博客进行 Sitemap 生成。
我也是今天才发现这个问题,原来自己自认为生成了的各种博客的 sitemap 实际上指向的都是自己的根目录上的主博客,即 http://lichao.net/blog/…. 的sitemap 讯息。本来可以放弃这个插件的,不过不服输的本人还是仔细研究了一些这个插件的源码,在稍稍做一改动后竟然能够顺利地将这个插件应用到我的 WordPress MU 所有博客站上来了。高兴,特发帖分享一把。
总结一下,可以将我几天琢磨的分成三个注意点步骤。
一、修改源代码
首先当然是到插件网站去下载最新版本的 Google (XML) Sitemaps Generator for WordPress (version 3.0.3) 的压缩文件。解压后会有一个 google-sitemap-generator 文件夹。别看里面文件挺多的,实际上管用的也就是 sitemap.php 和 sitempa.xsl 这两个文件。
要想这个插件能在 WordPress 里使用,用你的代码编辑工具打开 sitemap.php 文件,然后找到里面的一个函数 function GetBackLink()。屏蔽掉最后的一行代码 return $_SERVER['PHP_SELF'] . “?page=” . $page; 。然后加入两行这样的代码:
$path = get_option(’siteurl’) . $_SERVER['PHP_SELF'] . “?page=” . $page;
return $path;
所以最后的代码就成为如下格式。
function GetBackLink() {
$page = basename(__FILE__);
if(isset($_GET['page']) && !empty($_GET['page'])) {
$page = preg_replace(’[^a-zA-Z0-9\.\_\-]‘,”,$_GET['page']);
}
//return $_SERVER['PHP_SELF'] . “?page=” . $page;
$path = get_option(’siteurl’) . $_SERVER['PHP_SELF'] . “?page=” . $page;
return $path;
}
二、上传到 mu-plugins 目录里去
修改完代码后,保存这个文件。这时,你可以上传到 WordPress MU 的 plugins 子目录里去。但是,我不是很愿意到每个子博客里去一个一个地激活启用,所以我就将它上传到了我的 /wp-content/mu-plugins 目录里去。这个不是必须的,你自己可以决定哪个目录更适合你。
如果是上传到 mu-plugins 目录的话,而且又不愿上传太多的文件,你就可以上传 sitemap.php 和 sitemap.xsl 这两个文件。注意:请将文件直接上传到 mu-plugins 的根目录里,而不要上传 google-sitemap-generator 这个多余的文件夹。
三、设置上的不同
上传成功后,你就可以到你的管理后台,然后到 Options 设置,你会发现那里多了一个 XML-Sitemap 的选项。在设置各个博客的站点地图时,你可以参照该插件适用于单用户版本WP的使用说明。
不同部分是:
- 在 Advanced Options 高级设置 处,找到这行“Include a XSLT stylesheet: Use Default (Full or relative URL to your .xsl file)” 一定要填写你的 sitemap.xsl 的正确位置。如 http://youdomain.com/wp-content/mu-plugins/sitemap.xsl 如果你将那个文件放到 mu-plugins 子目录里的话。这里,不管是哪个子博客站,最好都填写一样的。
- 在 Location of your sitemap file 你的站点地图文件的位置 处,最好使用第二个选项 Custom Location 定制位置,而且要将你不同的博客的站点地图文件名取成不同的文件名。如我在我的 http://lichao.net/weblog 博客设置里,我的sitemap file name 就取成了 sitemap_weblog.xml, 那么它的完整URL链接就应该填成 http://lichao.net/sitemap_weblog.xml。注意在完整URL这里不要出现 weblog 字样,因为这时是在找实实在在的文件,那个 rewrite-mode 是不起作用的。
- 做完这些,保存你的设置,然后开始生成 build or re-build 你的 sitemap 文件吧。
【前一篇】: 解决 WordPress MU 里不能记住登陆讯息的问题 »
【后一篇】: 超凡博俗 WordPress MU 上安装的插件 »

欢迎光临超凡工作室的中文网络日记【超凡博俗】之 IT 博客系列【数码人生】,由WebGuru[网络精灵]维护管理 Powered by 
逍遥小妖 on 09 Feb 2008 at 8:37 pm #
最好能直接把文件生成到/wp-content/blogs.dir/blogID/files/下面,然后再在.htaccess文件里做一个跳转……
[Reply]
逍遥小妖 on 10 Feb 2008 at 6:13 am #
主要是因为我不可能告诉每个用户在设置上进行变更,大多数人都是直接启用然后直接用了……
如果将默认地址改成生成在/wp-content/blogs.dir/blogID/files/下就不用用户自己设置了……
[Reply]
超凡博俗 WordPress MU 上安装的插件 | 【超凡博俗 之 数码人生】 on 10 Feb 2008 at 2:28 pm #
[...] Google XML Sitemaps 3.0.3 This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. Configuration Page 作者:Arne Brachhold.这个插件已经在上一篇文章里有了详细介绍了,就不罗嗦了。 [...]
Torrent » Blog Archive » WordPress MU 上安装的插件 on 27 Mar 2008 at 10:42 pm #
[...] Google XML Sitemaps 3.0.3 This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. Configuration Page 作者:Arne Brachhold. 这个插件已经在上一篇文章里有了详细介绍了,就不罗嗦了。 [...]
怎么在 WordPress MU 使用 XML Sitemap 插件 | 幸福生活,甜蜜蜜的过 on 16 Apr 2008 at 4:40 am #
[...] 怎么在 WordPress MU 使用 XML Sitemap 插件 [...]
6.7更新设置 | 流火部落 on 06 Jun 2008 at 11:14 pm #
[...] 这部分感谢超凡脱俗的博客 [...]
流火网工作日记6.7 | 木偶的舞台 on 06 Jun 2008 at 11:24 pm #
[...] 这部分感谢超凡脱俗的博客 [...]
Betty on 15 Oct 2008 at 5:16 am #
多谢多谢~
这个问题我在英文站上找了好久都没找到完美的解决方法,结果在你这里找到了~
[Reply]
Betty on 16 Oct 2008 at 4:22 am #
呵呵,你真的应该翻成英文的
这有一篇英文的办法,比你的办法麻烦一万倍:http://www.richardpalace.com/2008/06/25/google-sitemap-for-wordpress-mu-plugin-1513101
[Reply]
Betty » 总结一下所用的插件 on 18 Oct 2008 at 1:28 am #
[...] 3,google sitemap,生成符合google格式的xml网站地图,本来这个插件是不支持MU的,但是参考了超凡博俗的办法,简单方便,可以在MU下完美使用了,推荐 [...]
How to use XML Sitemap plug-in with WordPress MU | WebGuru’s Blog about Digital Life on 23 Oct 2008 at 11:54 pm #
[...] A couple months ago, I wrote a blog post in my Chinese blog about my own experience of configuring XML SiteMap plugin in the WordPress MU. It turned out that a lot of MU owners had the same problem before. So I decided to re-write it in [...]
konoha on 29 Oct 2008 at 11:55 pm #
请教一下,我下载的最新版本Version: 3.1.0.1,其中找不到function GetBackLink()该怎么办?
[Reply]
wordpress mu如何使用Google (XML) Sitemaps Generator for WordPress | English pages on 24 Nov 2008 at 10:17 am #
[...] 原文地址:http://lichao.net/weblog/web-development/blogging/95.html [...]
WordPress MU插件资源飞龙收集 = 飞龙博客 飞龙在天 on 21 Dec 2008 at 2:04 am #
[...] 在 WordPress MU 使用 XML Sitemap 插件 http://lichao.net/weblog/web-development/blogging/95.html [...]
WordPress MU插件资源 | First Principles on 08 Feb 2009 at 1:02 pm #
[...] 在 WordPress MU 使用 XML Sitemap 插件 http://lichao.net/weblog/web-development/blogging/95.html [...]
Wordpress MU的推荐插件 | First Principles on 08 Feb 2009 at 10:56 pm #
[...] 3,google sitemap,生成符合google格式的xml网站地图,本来这个插件是不支持MU的,但是参考了超凡博俗的办法,简单方便,可以在MU下完美使用了,推荐 4,wp related posts,生成相关文章的插件,扔到mu-plugins下面就可以直接用,很不错。 [...]
晔网博客的SEO之旅二 - 晔网博客 on 12 Feb 2009 at 4:45 am #
[...] 考: 怎么在 WordPress MU 使用 XML Sitemap 插件 http://lichao.net/weblog/web-development/blogging/95.html Wordpress mu的Google Sitemap插件 [...]
jch on 14 Jan 2010 at 12:06 am #
哇。。。博主果然厉害,我现在一直在找解决这个问题的方法
终于找到一个了,试一下先!
[Reply]