为wordpress添加XML网站地图有效提升网站收录量!

时间:2019-12-19   访问量:50

  许多站长的网站是基于wordpress建设的,虽然wordpress建站相对简单并且个人博客主题众多,但存在着许多在SEO优化方面的问题需要我们来依依解决,其中为wordpress添加XML网站地图就是重要的步骤之一,XML网站地图是一个可以统计并且记录下整站链接结构的文件,一般以.xml的后缀为主,在搜索引擎站长工具中提交XML网站地图后可以使蜘蛛快速爬行抓录每个网站页面,因此为wordpress添加XML网站地图对网站的SEO是非常友好的一件事情!

wordpress.png

  废话不多说,下面介绍简单的为wordpress添加XML网站地图的方法,作为经常使用wordpress的站长都知道还是那句老话“能用代码解决的问题,坚决不使用插件”,秉承着这个理念我们使用代码来添加,首先在桌面上新建一个PHP文件并命名为spsitemap名称自定义,而后将以下代码复制粘贴并保存,将spsitemap.php上传至wordpress网站根目录内。

<?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'); ?> -->
    <url>
            <loc><?php echo get_home_url(); ?></loc>
            <lastmod><?php $ltime = get_lastpostmodified(GMT);$ltime = gmdate('Y-m-dTH:i:s+00:00', strtotime($ltime)); echo $ltime; ?></lastmod>
            <changefreq>daily</changefreq>
            <priority>1.0</priority>
    </url>
<?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
/* 文章页面 */
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); ?></lastmod>
            <changefreq>weekly</changefreq>
            <priority>0.6</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>

  上传之后我们就可以使用域名/spsitemap.php访问网站地图了,但前面介绍了网站地图一般是以.xml后缀结尾的,这样显然不符合规定,因此我们需要编辑网站根目录下的.htaccess来实现访问sitemap.xml伪静态到spsitemap.php上,打开.htaccess将以下规则添加并保存,这样就可以访问域名/sitemap.xml来为wordpress添加XML网站地图了!

RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml$ spsitemap.php

  最后我们还需要在robots.txt文件中添加网站地图的网址,从而引导搜索引擎蜘蛛访问抓取正确的sitemap地图!

Sitemap: http://you domain/sitemap.xml

  好了就这样我们就轻松完成了为wordpress添加XML网站地图的目的,在提升了网站对搜索引擎的友好度后,同时又没有使用插件造成网站打开速度的影响,是不是一举两得呢?


【地址】:http://www.inseo.cn/seo/39.html转载请注明出处


相关文章
浅谈301重定向的方法有···

  做SEO多少会遇到一个页面多个网址的情况,想要集中权重最有效的办法就是使用301重定向,但对于新···

超简单的留言表单验证···

  留言表单一向是百度考核网站是否为优质站点的不可或缺的部分,对于个人博客而言留言表单更显的重要,但···

小白如何快速搭建属于···

  现代社会信息网络非常发达,拥有自己的网站可算得上是一种既时尚又再普通不过的事情了,对于程序员来说···

利用.htaccess实现二级···

  许多做SEO优化的站长在网站前期运营阶段都会选择使用虚拟主机(虚拟空间)作为网站程序的寄存器,这···



Copyright © 2018-2020 大树SEO All Rights Reserved.