很多使用 BAE 百度云空间搭建 WordPress 博客的朋友都应该知道 BAE 是禁止本地本地 I/O(I/O 也就是本地读写),这样给搭建网站带来了很多的不便,比如说在 BAE 环境上的 WordPress 站点无法借助插件来直接生成 sitemap 站点地图了,那么小编今天就来介绍如何在 BAE 环境下生成 sitemap 。
方法一:使用站点地图生成器生成网站地图并上传到 BAE 环境中
在线网站地图生成器:http://www.xml-sitemaps.com/
方法二:使用 php 动态的来读取 WordPress 数据库内容并列出链接。
首先在网站根目录下新建一个 v7v3.sitemap.php 并加入以下代码:
<?php include 'includes/connection.php' ; require ( './wp-blog-header.php' ); header( "Content-type: text/xml" ); $posts_to_show = 1000; // 获取文章数量 echo '<?xml version="1.0" encoding="UTF-8"?>' ; echo '<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>' ; // XSL 地址 echo '<urlset 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" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' ; ?> <!-- generated-on=<?php echo get_lastpostdate( 'blog' ); ?>--> <url> <loc>http: //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> |
然后下载一个 Google Sitemap Generator 插件并将其中的 sitemap.xsl 取出来传到站点根目录,接着我们登录 BAE 的应用管理界面高级选项中来配置 sitemap 网站地图文件的链接。
添加如上图的规则,记住,顺序不能打乱,不然会造成 siemap 无法访问。