最新公告  | 
  • CTRL + D 加入收藏不迷路哦!

  • 欢迎您光临码云笔记网,一个关注WEB前端开发的个人技术博客!

WordPress纯代码实现XML格式的sitemap地图

站点地图sitemap版本分为xml版本和html版本,它们有什么区别呢?sitemap的xml版本主要是提供给搜索引擎看得。而html版本作用是提高用户体验,让用户一眼就能看清楚网站内容和分类。码云笔记前端博客坚持一个原则就是能用代码解决的问题坚决不用插件,所以特此整理本文WordPress纯代码实现XML格式的sitemap地图教程,让大家可以在不使用插件的情况下制作自己的站点地图。
本文实现效果见码云笔记博客XML网站地图:https://www.mybj123.com/sitemap.xml
WordPress纯代码实现XML格式的sitemap地图

实现步骤

PHP获取链接并显示XML

需要注意的是,在XML文件中需要指明每个链接的权重,一般首页最高权重为1,分类次之0.8,标签0.6,文章0.4。这个没有定数,大家需要多少权重自己调节下就好,下面看生成代码。

< ?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: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 > https: //www.mybj123.com/</loc>
< lastmod > <?php echo get_lastpostdate('blog'); ? ></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 ? ><?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
    }
  }
  /* 分类循环结束 */
  ? ></urlset>/

每一段代码都有注释,生成的地址链接和html地图中一样。将上面的代码保存为php文件,并放在你的网站根目录,就是WordPress配置文件wp_config.php文件所在目录中,然后你就可以通过你的域名/网站地图文件名.php的方式在浏览器中访问,仅此并不能让搜索引擎知道你这是xml文件,因为它们并不认识php文件,因此我们还需要增加一条静态规则,将这个文件的路径修改下,并让他呈现.xml后缀。

添加伪静态规则:
静态规则与你的web容器有关,这里我举例说明,具体看大家各自配置。
那么,伪静态规则在哪里写呢?
找到.htaccess并重写.htaccess,在第一行加上一句代码(根据自己情况填写)如下:
Apache:

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

Nginx:

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

这样代码的意思是将php文件重写为xml文件,ok,xml制作完毕。
至此,xml版本的html版本的站点地图制作成功。制作好以后,我们还可以使用百度种子页面提高收录。

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » WordPress纯代码实现XML格式的sitemap地图

发表评论

准备开启WordPress网站建设推广?

联系我们 定制开发