WordPress免插件站点地图制作方法,SiteMap.xml网站地图自动生成

WordPress免插件站点地图制作方法,SiteMap.xml网站地图自动生成

  • 正文概述
  • Sitemap(即站点地图)就是你网站上各网页的列表。创建并提交Sitemap有助于搜索引擎发现了解您网站上的所有网页。您还可以使用Sitemap提供有关您网站的其他信息,如上次更新日期、Sitemap文件的更新频率等。

    需要注意的是,百度规定一个sitemap文件包含的网址不能超过5万个,且不能超过10MB,超过5万个后会不再处理。

    使用方法

    1、将下面的代码保存为sitemap.php,上传到网站根目录。

    2、将sitemap.php链接(https://你的域名/sitemap.php)提交到百度搜索资源平台->普通收录->sitemap,提交后会自动抓取。

    或者使用伪静态方法,将链接变为XML后缀,设置好伪静态规则后,就可以直接访问 sitemap.xml,具体代码如下

    Nginx

    编辑已存在的Nginx伪静态规则,新增如下规则后重启Nginx即可。

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

    Apache

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

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

    百度搜索SiteMap

    <?php
    require('./wp-blog-header.php');
    header("Content-type: text/xml");
    header('HTTP/1.1 200 OK');
    $time = get_lastpostmodified('GMT');
    $time = gmdate('Y-m-dTH:i:s+00:00', strtotime($time));
    $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/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'
    ?>
    <url>
    	<loc><?php echo get_home_url(); ?></loc>
    	<mobile:mobile type="pc,mobile"/>
    	<lastmod><?php echo $time; ?></lastmod>
    	<changefreq>daily</changefreq>
    	<priority>1.0</priority>
    </url>
    
    <?php
    // 文章
    $myposts = get_posts( "numberposts=" . $posts_to_show );
    foreach( $myposts as $post ) { ?>
    	<url>
    		<loc><?php the_permalink(); ?></loc>
    		<mobile:mobile type="pc,mobile"/>
    		<lastmod><?php the_time('c'); ?></lastmod>
    		<changefreq>daily</changefreq>
    		<priority>0.8</priority>
    	</url>
    <?php } ?>
     
    <?php
    // page
    $mypages = get_pages();
    if (count($mypages) > 0) {
    	foreach($mypages as $page) { ?>
    	<url>
    		<loc><?php echo get_page_link($page->ID); ?></loc>
    		<mobile:mobile type="pc,mobile"/>
    		<lastmod><?php echo str_replace(" ","T",get_page($page->ID)->post_modified); ?>+00:00</lastmod>
    		<changefreq>always</changefreq>
    		<priority>0.4</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>
    		  <mobile:mobile type="pc,mobile"/>
    		  <changefreq>always</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>
    	<mobile:mobile type="pc,mobile"/>
    	<changefreq>always</changefreq>
    	<priority>0.64</priority>
    </url>
    <?php  }  ?> 
    </urlset>
    

    这里重点说明changefreq标签与priority

    changefreq代表页面内容更新频率,其中always表示经常更新、hourly(每时)、daily (每天)、weekly (每周)、monthly (每月)、yearly (每年)、never (从不),可根据实际情况更改。

    priority代表URL的优先权,取值0.0-1.0,根据自己的实际情况更改。

    自动生成sitemap.xml文件

    通过宝塔面板计划任务每天自动生成sitemap.xml文件,详细代码如下,根据自己的实际情况修改。

    wget -O /www/wwwroot/zhutishou.com/sitemap.xml --no-check-certificate https://www.zhutishou.com/google-map.php>/dev/null 2>&1
    

    Googel Search Console

    给谷歌搜索添加站点地图,如果直接使用上面的代码,就会如下图,各种报错,所以需要进行修改。

    谷歌搜索sitemap.php

    钻石免费 永久钻石免费

    已有0人支付

    以上就是WordPress免插件站点地图制作方法,SEO必备。

    纯净子主题,干净整洁,独立后台,集成自助广告系统。
    主题兽 » WordPress免插件站点地图制作方法,SiteMap.xml网站地图自动生成

    发表评论