WordPress 默认不带XML网站地图生成,作为新站更好的提高各搜索引擎的收录,很有必要生成XML地图。生成XML地图插件非常多,这里只说免插件用代码形式生成XML网站地图。
创建sitemap.php
在根目录新建文件sitemap.php,将以下的代码复制进去。
<?php include ( "wp-config.php" ) ; require_once (ABSPATH.'wp-blog-header.php'); home_url(); global $wpdb; $qianzui = $_SERVER['REQUEST_SCHEME']."://".$_SERVER['SERVER_NAME']; $sqlcat="select taxonomy,slug from wp_term_taxonomy JOIN wp_terms on wp_terms.term_id=wp_term_taxonomy.term_id where taxonomy='category' and slug <> 'uncategorized'"; $sqltag="select taxonomy,slug from wp_term_taxonomy JOIN wp_terms on wp_terms.term_id=wp_term_taxonomy.term_id where taxonomy='post_tag'"; $myrowscat = $wpdb->get_results($sqlcat); $myrowstag = $wpdb->get_results($sqltag); $str = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">'; $str.=" <url> <loc>".$qianzui."</loc> <lastmod>".date('Y-m-d')."</lastmod> <changefreq>weekly</changefreq> <priority>1.0</priority> </url> "; foreach ($myrowscat as $b) { $str.="<url>\r\n"; $str.="<loc>".$qianzui."/category/".$b->slug."</loc>\r\n"; $str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n"; $str.="<changefreq>weekly</changefreq>\r\n"; $str.="<priority>0.9</priority>\r\n"; $str.="</url>\r\n"; } foreach ($myrowstag as $b) { $str.="<url>\r\n"; $str.="<loc>".$qianzui."/tag/".$b->slug."</loc>\r\n"; $str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n"; $str.="<changefreq>weekly</changefreq>\r\n"; $str.="<priority>0.9</priority>\r\n"; $str.="</url>\r\n"; } $myposts = get_posts(); foreach( $myposts as $post ) { $str.="<url>\r\n"; $str.="<loc>".urldecode(get_permalink())."</loc>\r\n"; $str.="<lastmod>".date("Y-m-d")."</lastmod>\r\n"; $str.="<changefreq>weekly</changefreq>\r\n"; $str.="<priority>0.8</priority>\r\n"; $str.="</url>\r\n"; } $str.="</urlset>"; file_put_contents('./sitemap.xml',$str); echo 'update sitemap.xml success <a href="/sitemap.xml"> 查看</a>'; ?>
运行查看你的sitemap
访问 http://你的域名/sitemap.php
即可查看sitemap.xml,也可以到根目录查看sitemap.xml
例如我的sitemap.xml路径是 https://www.xjbdb.com/sitemap.xml