sitemap.xml格式举例,文件书写规范

sitemap.xml格式举例, sitemap.xml是搜索引擎的入口文件,写对格式很重要,要不然搜索引擎不认识,写了也是白写。

我是这样写的:

<?php
namespace app\admin\controller;
class Map{
	public $chan=array(1=>'always',2=>'hourly',3=>'daily',4=>'weekly',5=>'monthly',6=>'yearly');
	public function index(){
		$li = $this->set_xml();
		$list['html'].='<H2>生成 <font color="#a2a">SITEMAP.XML'.count($li).'</font> 条内容</H2>';
		$list['html'].='地址链接:<a href="http://'.$_SERVER['HTTP_HOST'].'/sitemap.xml" target="_blank">http://'.$_SERVER['HTTP_HOST'].'/sitemap.xml</a><hr>';
		foreach($li as $v){
			$list['html'].='(<a href="http://00kb.cc'.$v['loc'].'" target="_blank">http://00kb.cc'.$v['loc'].'</a>)'.$v['title'].'<br>';
		}
		return view('admin/index',$list);
	}
	public function set_xml(){
		$li = array();
		$li[]=array(
			'loc'=>'/index.html',
			'lastmod'=>time()-38400*3,
			'priority'=>0.90,
			'changefreq'=>1,
			'title'=>'零零看吧网 首页',
		);
		$bl=db('blog')
			->where('spell','neq','')
			->where('state',0)
			->order('date','DESC')
			->limit(100)
			->select();		
		foreach($bl as $v){
			$sv=[];
			$sv['loc']='/blog/'.$v['id'].'.html';
			$sv['lastmod']=$v['creat']?:$v['date'];
			$sv['changefreq']=5;
			$sv['priority']=0.5;
			$sv['title']=$v['title'];
			$li[]=$sv;
		}
		$this->writeXml($li);
		return $li;
	}
	public function writeXml($li){
		$chan=array(1=>'always',2=>'hourly',3=>'daily',4=>'weekly',5=>'monthly',6=>'yearly');
		$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
		$xml .= "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\r\n";
		foreach($li as $v){
			$xml .= "	<url>\r\n";
			$xml .= "		<loc>http://www.00kb.cn".$v['loc']."</loc>\r\n";
			$xml .= "		<wml_url>http://m.00kb.cn".$v['loc']."</wml_url>\r\n";
			$xml .= "		<html5_url>http://00kb.cn".$v['loc']."</html5_url>\r\n";			
			$xml .= "		<lastmod>".date('Y-m-d',$v['lastmod'])."</lastmod>\r\n";
			$xml .= "		<priority>".(sprintf("%01.2f",$v['priority']))."</priority>\r\n";
			$xml .= "		<changefreq>".($chan[$v['changefreq']]?:'monthly')."</changefreq>\r\n";
			$xml .= "	</url>\r\n";
		}
		$xml .= '</urlset>';
		file_put_contents('sitemap.xml',$xml);
		return $xml;
	}
}

百度举例:(XML格式举例)

<?xml version="1.0" encoding="UTF-8" ?>
<urlset>
	<!-- urlset用来标记整个文档的开头 -->
	<url>
		<!-- url标记每条信息的开始和结束 -->
		<loc>
			http://baidu点com
		</loc>
		<!-- 该条数据的存放地址 -->
		<lastmod>
			2010-11-20
		</lastmod>
		<!-- 指该条数据的最新一次更新时间 -->
		<changefreq>
			always
		</changefreq>
		<!-- 指该条数据的更新频率 -->
		<priority>
			1.0
		</priority>
		<!-- 用来指定此链接相对于其他链接的优先权比值,此值定于0.0-1.0之间 -->
		<data>
			<display>
				<html5_url>
					http://html5点example点com.cn/
				</html5_url>
				<!-- 可选,表示该PC页对应的html5版式的手机页的url地址,需要符合url规范 -->
				<wml_url>
					http://wml点example点com.cn/
				</wml_url>
				<!-- 可选,表示该PC页对应的wml版式的手机页的url地址,需要符合url规范 -->
				<xhtml_url>
					http://3g点example点com.cn/
				</xhtml_url>
				<!-- 可选,表示该PC页对应的xhtml版式的手机页的url地址,需要符合url规范 -->
			</display>
		</data>
	</url>
</urlset>

原文链接:http://www.fastmvc.com/blog/1294.html