分享各种网络资源
是我乃至整个互联网的精髓所在
最新消息:站点已经开通最新消息功能,请随时关注~
 您目前所在位置: 站点首页 » WordPress » 代码 » 代码实现WordPress的Sitemap功能
+

代码实现WordPress的Sitemap功能


Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

之前一直没有关注这个所谓的sitemap,后来发现其重要性,我就一直在想为什么百度没有收录我的站,现在看来完全就是自己在作死,现在已经添加了sitemap这段代码代码来自张哥博客(点击进入原文),我从小白的角度看了这篇文章,然后重新组织了一下如下:

首先我们需要看到上面的sitemap的重要性,不是别的,无论是个人博客还是别的什么,我觉得有人来看你的文章是大多部分站长更新下去的唯一动力,所以怎么让更多人来就是sitema的初衷了。
接下来就是代码部分:

<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000; 
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">'
?>
<!-- generated-on=<?php echo get_lastpostdate('blog'); ?> Diy By 张戈博客(http://zhangge.net)-->
<url>
<loc><?php echo get_home_url(); ?></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 } /* 文章循环结束 */ ?> 
<?php
/* 单页面 */ 
$mypages = get_pages();
if(count($mypages) > 0) {
foreach($mypages as $page) { ?>
<url>
<loc><?php echo get_page_link($page->ID); ?></loc>
<lastmod><?php echo str_replace(" ","T",get_page($page->ID)->post_modified); ?>+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<?php }} /* 单页面循环结束 */ ?> 
<?php
/* 博客分类 */ 
$terms = get_terms('category', 'orderby=name&hide_empty=0' );
$count = count($terms);
if($count > 0){
foreach ($terms as $term) { ?>
<url>
<loc><?php echo get_term_link($term, $term->slug); ?></loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<?php }} /* 分类循环结束 */?> 
<?php
/* 标签(可选) */
$tags = get_terms("post_tag");
foreach ( $tags as $key => $tag ) {
$link = get_term_link( intval($tag->term_id), "post_tag" );
if ( is_wp_error( $link ) )
return false;
$tags[ $key ]->link = $link;
?>
<url>
<loc><?php echo $link ?></loc>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<?php } /* 标签循环结束 */ ?> 
</urlset>

我们先复制以上代码,在桌面创建一个txt文本,之后将代码复制进去并另存为为sitemap.php的文件,这里说一下,代码段中中第9行【Diy By 张戈博客(http://zhangge.net)–】可以修改为自定义文字,其余的位置我个人感觉就不用修改了。

保存之后通过FTP工具上传至网站根目录即可,我们通过浏览器可以验证了,地址应该是:www.xxx.com/sitemap/php ?进入之后应该就可以看到如下界面了:

代码实现WordPress的Sitemap功能-BanYuner

代码实现WordPress的Sitemap功能

接下来张戈博客的是伪静态:

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。

上面是对于伪静态的解释,原作者给出了对于不同环境的不同方式:

①、Nginx

编辑已存在的Nginx伪静态规则,新增如下规则后(平滑)重启nginx即可:

rewrite ^/sitemap.xml$ /sitemap.php last;

②、Apache

编辑网站根目录的 .htaccess ,加入如下规则:

RewriteRule ^(sitemap)\.xml$ $1.php

添加了之后就已经完成了站点sitemap功能了,当然,如果你觉得麻烦的话,可以在官方安装这些插件
Google XML Sitemaps目前是官方的插件,如果觉得代码不好用或者依然不明白怎么搞,那么请直接在wordpress后台插件界面搜索并安装该插件即可。

这里注意一下:刚刚我尝试了通过sitemap.php是可以进入的,但是通过sitemap.xml进去就报错,我去原帖看了下,找到了原因:

RewriteRule ^(sitemap)\.xml$ $1.php

上面一段代码最好添加在.htaccess 文件开头,如果还有问题,尝试在1.php前面添加一个/

关注我们 打赏 分享此文
微信扫码,关注我们
扫码,支持我
代码实现WordPress的Sitemap功能
支付宝(点击图片切换)
扫码,支持我
代码实现WordPress的Sitemap功能
微信(点击图片切换)
扫码,手机看
代码实现WordPress的Sitemap功能
匿名

个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

相关推荐

  • WordPress纯代码实现文章AJAX点赞

    WordPress纯代码实现文章AJAX点赞

    这个功能其实在很多主题中都集成进去了,DUX默认的主题里面也是有这个功能的,但是我将其删除了,之后换上了评星插件了,评 ...

    点击查看
  • WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能 文章分类目录和标签功能是WordPress自带的功能,但是很多时候,喜欢使用页面的用 ...

    点击查看
  • 如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频 现在很多站点都是做视频站点的,同时也有很多视频站点都是使用的CK播放器,如果你已经使用了 ...

    点击查看
代码实现WordPress的Sitemap功能
5 + 0 =
  • 昵称 (必填)  
  • 邮箱 (必填)
  • 网址 (选填)