折腾户更换域名了,新域名为www.irryy.com!!!

wordpress无插件纯代码生成xml格式网站地图

wp教程 BLACK 5336℃ 0评论 |百度已收录|好搜已收录

在之前折腾户BLACK曾经分享过一篇 wordpress无插件纯代码生成txt格式网站地图,但是平常我们提交主流搜索引擎比如谷歌百度360等,都是需要xml格式的网站地图。

wordpress无插件纯代码生成txt格式网站地图

一般情况下我们可以使用google sitemap这款插件,但是对于强迫症折腾户们,我们是讨厌插件的。那么怎么样才能实现 wordpress无插件纯代码生成xml格式网站地图呢。

sitemap.php代码

将下述代码复制保存,命名为sitemap.php,上传至你的网站根目录

 <?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000; // 显示文章数量,可以更改,建议在50000以内,确保文件大小在10m以内
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?>-->
 <url>
 <loc>http://www.irryy.com/</loc>
 <lastmod><?php $ltime = get_lastpostmodified(GMT);$ltime = gmdate('Y-m-d\TH:i:s+00:00', strtotime($ltime)); echo $ltime; ?></lastmod>
 <changefreq>daily</changefreq>
 <priority>1.0</priority>
 </url>
<?php
header("Content-type: text/xml");
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
 <url>
 <loc><?php the_permalink(); ?></loc>
 <lastmod><?php the_time('c') ?></lastmod>
 <changefreq>monthly</changefreq>
 <priority>0.6</priority>
 </url>
<?php } // end foreach ?>
</urlset>

这个时候我们访问http://你的域名/sitemap.php就可以看到复合xml标准的网站地图了,但是其后缀还是php,我们需要通过设置伪静态的方式将其变成xml后缀。

sitemap伪静态设置

在.htaccess中添加如下内容

 RewriteEngine on
RewriteRule ^sitemap.xml$ sitemap.php

最终效果见:http://www.irryy.com/sitemap.xml

【注:于2014年10月参照张戈同学的方法修复首页最后更新时间格式不对的bug,感谢张戈同学的分享】

转载请注明:折腾户 » wordpress无插件纯代码生成xml格式网站地图

喜欢 (3)
  1. 时光就像手中的流沙抓的越紧它流失的越快旧时光里的青葱岁月头顶上明晃晃的阳光满操场的汗水和尘土一阵凉风吹过 眼前掠过那个马尾女孩明亮的笑容___________________by Silence 、