站点地图站点地图版本分为xml版本和html版本,站点地图xml版本主要提供给搜索引擎.html版本是为了增强用户体验,使用户可以一目了然地看到网站的内容和分类。本文主要教你如何使用纯代码制作网站地图而不使用插件。
一,制作HTML 版本的站点地图
- <?PHP
- / *
- 模板名称:Sitemap
- * /
- ?>
- <!DOCTYPE html PUBLIC“ – // W3C // DTD XHTML 1.0 Transitional // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
- < html xmlns = “http://www.w3.org/1999/xhtml” >
- < head profile = “http://gmpg.org/xfn/11” >
- < meta http-equiv = “Content-Type” content = “text / html; charset = <?php bloginfo(’charset’); ?>“ />
- < title >站点地图 – <?php bloginfo(’name’); ?> </ title >
- < meta name = “keywords” content = “站点地图,<?php bloginfo(’name’); ?>“ />
- < meta name = “copyright” content = “<?php bloginfo(’name’); ?>“ />
- < link rel = “canonical” href = “<?php echo get_permalink(); ?>“ />
- < style type = “text / css” >
- body {font-family:Microsoft Yahei,Verdana; font-size:13px; margin:0 auto; color:#000000; background:#ffffff; width:990px; margin:0 auto}
- a:链接,a:已访问{color:#000; text-decoration:none;}
- a:悬停{color:#08d; text-decoration:none;}
- h1,h2,h3,h4,h5,h6 {font-weight:normal;}
- img {border:0;}
- li {margin-top:8px;}
- .page {padding:4px; border-top:1px #EEEEEE solid}
- .author {background-color:#EEEEFF; 填充:6px; border-top:1px #ddddee solid}
- #nav,#content,#footer {padding:8px; border:1px solid #EEEEEE; 明确:两者; 宽度:95%; 保证金:自动; margin-top:10px;}
- </ style >
- </ head >
- < body vlink = “#333333” link = “#333333” >
- < h2 style = “text-align:center; margin-top:20px“ > <?php bloginfo(’name’); ?>的SiteMap </ h2 >
- < center > </ center >
- < div id = “nav” > < a href = “<?php bloginfo(’url’); ?> /“ > < strong > <?php bloginfo(’name’); ?> </ strong > </ a > &raquo; < a href = “<?php echo get_permalink(); ?>“ >站点地图</ a > </ div >
- < div id = “content” >
- < h3 >最新文章</ h3 >
- < ul >
- <?PHP
- $ previous_year = $ year = 0 ;
- $ previous_month = $ month = 0 ;
- $ ul_open = false ;
- $ myposts = get_posts(’ numberposts = -1&orderby = post_date&order = DESC ‘);
- foreach($ myposts as $ post):
- ?>
- < li > < a href = “<?php the_permalink(); ?>“ title = ”<?php the_title(); ?>“ target = ”_ blank“ > <?php the_title(); ?> </ a > </ li >
- <?php endforeach; ?>
- </ ul >
- </ div >
- < div id = “content” >
- < li class = “categories” >分类目录< ul >
- <?php wp_list_categories(’ title_li =’); ?>
- </ ul > </ li >
- </ div >
- < div id = “content” >
- < li class = “categories” >单页面</ li >
- <?php wp_page_menu($ args); ?>
- </ div >
- < div id = “footer” >查看博客首页: < strong > < a href = “<?php bloginfo(’url’); ?> /“ > <?php bloginfo(’name’); ?> </ a > </ strong > </ div > < / br >
- < center >
- < div style = “text-algin:center; 字体大小:11像素” > < 强> < 一个 HREF = ‘http://www.timle.cn/sitemap_baidu.xml’ 目标 = ‘_blank’ >百度-网站地图</ 一> </ 强> 最新: < ?php $ last = $ wpdb- > get_results(“SELECT MAX(post_modified)AS MAX_m FROM $ wpdb- >发布WHERE(post_type = ‘post’ 或 post_type = ‘page’)AND(post_status = ‘publish’ 或 post_status = ‘private’)“); $ last = date(’Ymd G:i:s’,strtotime($ last [0] – >MAX_m)); echo $ last; ?> < BR /> < BR /> </ DIV >
- </ center >
- </ body >
- </ html >
将上述文件保存到sitemap.php,其将上传到主题目录,打开WordPress的背景,创建新页面,选择模板“网站地图”,然后发布它。记住此页面的链接,并将此链接放在页脚或其他位置。
二,制作XML 版本的站点地图
- <?PHP
- 要求(“./可湿性粉剂博客 – header.php文件”);
- header(“Content-type:text / xml”);
- 标题(’HTTP / 1.1 200 OK’);
- $ posts_to_show = 1000 ;
- echo’ <?xml version = “1.0” encoding = “UTF-8” ?> ‘;
- echo’ < urlset xmlns = “http://www.sitemaps.org/schemas/sitemap/0.9” xmlns:mobile = “http://www.baidu.com/schemas/sitemap-mobile/1/” > ‘
- ?>
- <! – generated-on = <?php echo get_lastpostdate(’blog’); ?> – >
- < url >
- < loc > <?php echo get_home_url(); ?> </ loc >
- < lastmod > <?php $ ltime = get_lastpostmodified(GMT); $ ltime = gmdate(’Ymd \ TH:i:s + 00:00’,strtotime($ ltime)); echo $ ltime; ?> </ lastmod >
- < changefreq >每日</ 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 >每月</ changefreq >
- < priority > 0.6 </ priority >
- </ url >
- <?php } / *文章循环结束* / ?>
- <?PHP
- / *单页面* /
- $ mypages = get_pages();
- if(count($ mypages) > 0){
- foreach($ mypages as $ page){ ?>
- < url >
- < loc > <?php echo get_page_link($ page- > ID); ?> </ loc >
- < lastmod > <?php echo str_replace(“”,“T”,get_page($ page- > ID) – >post_modified); ?> +00:00 </ lastmod >
- < changefreq >每周</ changefreq >
- < priority > 0.6 </ priority >
- </ url >
- <?php }} / *单页面循环结束* / ?>
- <?PHP
- / *博客分类www.stcash.com * /
- $ terms = get_terms(’category’,’ orderby = name&hide_empty = 0 ‘);
- $ count count = count($ terms);
- if($ count > 0){
- foreach($ term as $ term){ ?>
- < url >
- < loc > <?php echo get_term_link($ term,$ term- > slug); ?> </ loc >
- < changefreq >每周</ changefreq >
- < priority > 0.8 </ priority >
- </ url >
- <?php }} / *分类循环结束* /?>
- <?PHP
- / * 标签(任选)* /
- $ tags = get_terms(“post_tag”);
- foreach($ tag as $ key = > $ tag){
- $ link = get_term_link(intval($ tag- > term_id),“post_tag”);
- if(is_wp_error($ link))
- 返回false;
- $ tags [$ key] – > link = $ link;
- ?>
- < url >
- < loc > <?php echo $ link ?> </ loc >
- < changefreq >每月</ changefreq >
- < priority > 0.4 </ priority >
- </ url >
- <?php } / *标签循环结束* / ?>
- </ urlset >
将以上代码保存到sitemap.php,上传到网站根目录,并重写.htaccess,在第一行加上一句代码:
- RewriteRule ^(sitemap)\。xml $ $ 1.php
这句代码的意思是将PHP文件重写为XML文件。
至此,XML版本的HTML版本的站点地图已经制作成功。
友情提醒:我们在制作过程中要注意两个sitemap.php上传的目录是不一样的,不要弄混淆。