进入账户
没有账户? 创建账户

      阅读隐私协议      忘记密码 ?

创建账户
已有账户?进入账户

已阅读并同意“ 用户服务协议

最强免插件纯代码sitemap.xml网站地图制作

网上有很多相关的代码,但其实好多并不适用。
有的可能是没有全站网站地图,而有的.xml后缀名需要伪静态设置,特别麻烦。
于是,空闲之余,结合网上的部分素材,自己搞了一个。
全代码贴出来,有需要的朋友可以拿去。
代码如下:

  1. <?php
  2.     include ( "wp-config.php" ) ;
  3.     require_once (ABSPATH.'./wp-blog-header.php');
  4.     $ltime = get_lastpostmodified(GMT);
  5.     $ltime = gmdate('Y-m-d\TH:i:s+00:00', strtotime($ltime));
  6.     $posts_to_show = 2000;
  7.     $str = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">';
  8.         $str.="
  9.         <url>
  10.         <loc>".get_home_url()."</loc>
  11.         <lastmod>".$ltime."</lastmod>
  12.         <changefreq>weekly</changefreq>
  13.         <priority>1.0</priority>
  14.         </url>
  15.         ";
  16.     //文章 code by 3inch.cn
  17.     $myposts = get_posts( "numberposts=".$posts_to_show );
  18.     foreach$myposts as $post ) {
  19.         $str.="<url>\r\n";
  20.         $str.="<loc>".urldecode(get_permalink())."</loc>\r\n";
  21.         $str.="<lastmod>".str_replace(" ","T",get_page($page->ID)->post_modified)."</lastmod>\r\n";
  22.         $str.="<changefreq>always</changefreq>\r\n";
  23.         $str.="<priority>0.9</priority>\r\n";
  24.         $str.="</url>\r\n";
  25.     }
  26.     //标签 code by 3inch.cn
  27.     $tags = get_terms("post_tag");
  28.     foreach ( $tags as $key => $tag ) {
  29.         $link = get_term_link( intval($tag->term_id), "post_tag" );
  30.         if ( is_wp_error( $link ) )
  31.         return false;
  32.         $tags$key ]->link = $link;
  33.         $str.="<url>\r\n";
  34.         $str.="<loc>".urldecode($link)."</loc>\r\n";
  35.         $str.="<lastmod>".str_replace(" ","T",get_page($page->ID)->post_modified)."</lastmod>\r\n";
  36.         $str.="<changefreq>daily</changefreq>\r\n";
  37.         $str.="<priority>0.5</priority>\r\n";
  38.         $str.="</url>\r\n";
  39.     }
  40.     //分类 code by 3inch.cn
  41.     $terms = get_terms('category', 'orderby=name&hide_empty=0' );
  42.     $count = count($terms);
  43.     if($count > 0){
  44.         foreach ($terms as $term) {
  45.             $str.="<url>\r\n";
  46.             $str.="<loc>".urldecode(get_term_link($term$term->slug))."</loc>\r\n";
  47.             $str.="<lastmod>".str_replace(" ","T",get_page($page->ID)->post_modified)."</lastmod>\r\n";
  48.             $str.="<changefreq>weekly</changefreq>\r\n";
  49.             $str.="<priority>0.3</priority>\r\n";
  50.             $str.="</url>\r\n";
  51.             }
  52.     }
  53.     //页面 code by 3inch.cn
  54.     $mypages = get_pages();
  55.     if(count($mypages) > 0) {
  56.         foreach($mypages as $page) {
  57.         $str.="<url>\r\n";
  58.         $str.="<loc>".urldecode(get_page_link($page->ID))."</loc>\r\n";
  59.         $str.="<lastmod>".str_replace(" ","T",get_page($page->ID)->post_modified)."</lastmod>\r\n";
  60.         $str.="<changefreq>monthly</changefreq>\r\n";
  61.         $str.="<priority>0.5</priority>\r\n";
  62.         $str.="</url>\r\n";
  63.       }
  64.     }
  65.     $str.="</urlset>";
  66.     file_put_contents('./sitemap.xml',$str);
  67.     echo '更新 sitemap.xml 成功! <a href="/sitemap.xml"> 查看</a>';
  68. ?>

使用方法:

新建sitemap.php文件,代码复制进去。
上传到网站的根目录下,并访问。例如:http://XXX.XX/sitemap.php(顶级域名下)
访问之后将会自动更新sitemap.xml文件。
这时就可以用来提交各个搜索引擎进行收录了。

上一个

下一个

相关内容

评论数 0

爱心数 9

心碎数 0

有图片 0 张,文字 2932

预计完成阅读需要 9 分钟

累计已有 341 人到访该页面。

| |