建立一个 HTML 的网站地图 (sitemap) 对于 SEO 和用户体验都有一定的优化,而单纯的建立一个 xml 的网站地图则是有利于 SEO 优化,之前小编曾经发布过一个 WordPress 的 xml sitemap 的插件:google sitemap generator,那么今天小编就来介绍下如何使用非插件的方法建立 HTML 以及 XML 格式的网站地图。
WordPresss 非插件建立 html 格式的网站地图的方法:
1 、首先下载小编这里为大家准备好了的 html 站点地图的模板文件:百度网盘
2 、将 html 站点地图模板文件上传至当前使用的 WordPress 主题的目录下。
3 、在后台新建一个内容为空标题为站点地图,模板为站点地图地图的页面,操作图如下:
选择模板
然后发布即可创建 html 格式的站点地图,好了,说完了如何不用插件制作 WordPress 的 html 格式的网站地图,接下来小编在教大家如何不使用插件创建 WordPress 的 xml 格式的网站地图。
xml 地图的创建方法就更简单了,新建一个名为 xmlmap.php 的文件,然后填入以下代码:
<?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.weixiaoduo.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 ?> </urlset>
将 xmlmap.php 文件传至网站根目录,然后根据环境写好 url 转发规则。
首先是 apache 下的规则:
RewriteEngine On RewriteBase / RewriteRule ^sitemap.xml$ xmlmap.php
将以上代码加入到.htaccess 文件即可,接下来是 nginx 下规则:
rewrite ^/sitemap.xml$ /xmlmap.php;
至于微软的 iis,小编没用过,规则怎么写?自己慢慢琢磨吧。