当前位置: 中心首页>>中心动态>>正文
Google Sitemap协议详细讲解
2009-12-28 18:38  
1、什么是Sitemap?
Google SiteMap Protocol是Google自己推出的一种站点地图协议,此协议文件基于早期的robots.txt文件协议,并有所升级。在Google官方指南中指出加入了Google SiteMap文件的网站将更有利于Google网页爬行机器人的爬行索引,这样将提高索引网站内容的效率和准确度。文件协议应用了简单的XML格式,一共用到6个标签,其中关键标签包括链接地址、更新时间、更新频率和索引优先权。
2、Sitemap是什么文件格式的?
是个.xml文件
3、Sitemap用什么编码格式?
必须使用utf-8编码
4、可以建立多个Sitemap文件么?
可以的,sitemap文件必须在sitemap_index.xml中通过loc标记分别指定sitemap文件来得到索引,但sitemap_index.xml不能索引超过1000个sitemap文件,文件未压缩体积不能大于10MB(10,485,760字节)

Sitemap文件可以压缩成.gz格式以减小文件体积,节省带宽
XML Sitemaps 索引示例

下例展示 XML 格式的 Sitemap 索引。该 Sitemap 索引列出了两个 Sitemap:

XML Sitemaps 索引示例

下例展示 XML 格式的 Sitemap 索引。该 Sitemap 索引列出了两个 Sitemap:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
     <sitemap>
         <loc>http://www.example.com/sitemap1.xml.gz</loc>
         <lastmod>2004-10-01T18:23:17+00:00</lastmod>
     </sitemap>
     <sitemap>
         <loc>http://www.example.com/sitemap2.xml.gz</loc>
         <lastmod>2005-01-01</lastmod>
     </sitemap>
</sitemapindex>


Google Sitemap是一个很有用的SEO工具,虽然出来很久了,也有一些生成Sitemap的工具,但从结果来看还不尽如人意。下面是对GoogleSitemap文件的介绍。

Google 的爬虫到底能不能遍历我的站内所有页面?这是个问题。假设能遍历到每个页面,对于Google Spider来说是一件很辛苦的工作。于是Google把一部分工作量转移给WebMaster——建立符合标准的GoogleSitemap。(这的确是对双方都有好处的想法)

Google SiteMap Protocol是Google自己推出的一种站点地图协议,此协议文件基于早期的robots.txt文件协议,并有所升级。在Google官方指南中指出加入了Google SiteMap文件的网站将更有利于Google网页爬行机器人的爬行索引,这样将提高索引网站内容的效率和准确度。

Sitemaps服务旨在使用Feed文件sitemap.xml通知Google的Crawler(爬虫)网站上哪些文件需要索引、这些文件的最后修订时间、更改频度、文件位置、相对优先索引权,这些信息将帮助Google Crawler建立索引范围和索引的行为习惯。

Sitemap的作用就好像为网站提供了整站的RSS,而google就是这些RSS的订阅者,只要网站有更新就会自动通知google。

Sitemap的最終目的在提高所有網頁被找到的速率。

Google倡议站长们利用Sitemaps技术与搜索引擎形成积极互动的协作关系,真正参与到搜索引擎的索引页面缓存的建立中来,改变爬虫机械式的重复工作模式,使搜索引擎能返回更准确有效的的结果,同时也可以有效地减少带宽的消耗以及服务器的压力,提高互联网的效率。

sitemap文件必须包含几个主要的描述性标记:

changefreq — 文件更改频度,可以是always/hourly/daily/weekly/monthly/yearly/never中的任意一个值
lastmod — 文件最后被修订的时间,必须是遵循ISO 8601规范的时间戳格式,比如2005-06-04或2005-06-04T02:20:30+08:00
loc — 文件通用资源定位符地址,呵呵,就是URL网址,绝对地址
priority — 相对于同一站点上其他文件的被索引的优先权,值域0.0~1.0,默认值是0.5
url — 用来包围以上四个标记
urlset — 用来包围以上五个标记

分解讲解这个xml文件的每一个标签:
1.
这一行定义了此xml文件的命名空间,相当于网页文件中的标签一样的作用。
2.这是具体某一个链接的定义入口,你所希望展示在SiteMap文件中的每一个链接都要用和包含在里面,这是必须的。
3.http://www.bluecode.cn
用描述出具体的链接地址,这里需要注意的是链接地址中的一些特殊字符必须转换为XML(HTML)定义的转义字符
如下表: 字符 转义后的字符
HTML字符 字符编码
and(和) & & &#38;
单引号 &apos; &apos; &#39;
双引号 " " &#34;
大于号 > &gt; &#62;
小于号 < &lt; &#60;

4.<lastmod>2005-06-03T04:20:32-08:00是用来指定该链接的最后更新时间,这个很重要。Google的机器人会在索引此链接前先和上次索引记录的最后更新时间进行比较,如果时间一样就会跳过不再索引。所以如果你的链接内容基于上次Google索引时的内容有所改变,应该更新该时间,让Google下次索引时会重新对该链接内容进行分析和提取关键字。这里必须用ISO 8601中指定的时间格式进行描述,格式化的时间格式如下:
年:YYYY(2005)
年和月:YYYY-MM(2005-06)
年月日:YYYY-MM-DD(2005-06-04)
年月日小时分钟:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37+08:00)
年月日小时分钟秒:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37:30+08:00)
这里需注意的是TZD,TZD指定就是本地时间区域标记,像中国就是+08:00了
5.always用这个标签告诉Google此链接可能会出现的更新频率,比如首页肯定就要用always(经常),而对于很久前的链接或者不再更新内容的链接就可以用yearly(每年)。这里可以用来描述的单词共这几个:"always", "hourly", "daily", "weekly", "monthly", "yearly",具体含义我就不用解释了吧,光看单词的意思就明白了。
6.1.0是用来指定此链接相对于其他链接的优先权比值,此值定于0.0 - 1.0之间
7.还有和,这两个就是来关闭xml标签的,这和HTML中的和是一个道理
实例:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
 <url>
  <loc>http://www.bluecode.cn/</loc>
  <lastmod>2005-06-04</lastmod>
  <changefreq>daily</changefreq>
  <priority>0.8</priority>
 </url>
 <url>
  <loc>http://www.bluecode.cn/archives/cat_google_around.html</loc>
  <changefreq>weekly</changefreq>
 </url>
 <url>
  <loc>http://www.bluecode.cn/archives/2005_06.html</loc>
  <lastmod>2005-06-04</lastmod>
  <changefreq>monthly</changefreq>
 </url>
</urlset>
注:Sitemap 索引文件只能指定与其位于同一网站的 Sitemap。例如,http://www.example.com/sitemap_index.xml 可包含位于 http://www.example.com 的 Sitemap,但不能包含位于 http://www.yoursite.com/ 或 http://yourhost.example.com/ 的 Sitemap

总结:Sitemap就是Google推出的一种搜索引擎新的搜索策略,不需要机器人和蜘蛛满世界乱爬,而是你自己主动提交类似RSS的XML文件。站长引导Spider抓取页面。
关闭窗口