所谓sitemap,通俗来说就是"网站地图",sitemap文件主要包含了网站中的有效连接,它会便于搜索引擎的抓取和收录,如果没有sitemap文件,蜘蛛就需要一个一个的通过我们网站中的超链接来进行抓取。有了sitemap之后,搜索引擎直接读取该文件就可以了,它可以让搜索引擎抓取我们的网页更加有效。
最通用的也是最简单的sitemap形式的文件,就是xml文件,我们在其中列出网站中的网址,以及关于每个网址的一些元数据。这些元数据通常是上次更新的时间、更新的频率、重要程度等等,它可以让搜索引擎的抓取更加智能。一般来说,百度sitemap支持三种格式:txt文本格式、xml格式、sitemap索引格式。
下面是www.sitemaps.org官方的定义,它引用自http://www.sitemaps.org/zh_CN/,具体内容为:
Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitepmap 形式,就是 XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。 网络抓取工具通常会通过网站内部和其他网站上的链接查找网页。Sitemap 会提供此数据以便允许支持 Sitemap 的抓取工具抓取 Sitemap 提供的所有网址,并了解使用相关元数据的网址。使用 Sitemap 协议并不能保证网页会包含在搜索引擎中,但可向网络抓取工具提供一些提示以便它们更有效地抓取网站。 Sitemap 0.90 是依据创意公用授权-相同方式共享 (Attribution-ShareAlike Creative Commons License) 的条款提供的,并被广泛采用,受 Google、Yahoo! 和 Microsoft 在内的众多厂商的支持。
而我们写sitemap.xml的时候一般遵循如下格式就可以了:
<?xml version=”1.0” encoding=”UTF-8”?> <urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9”> <url> <loc>http://www.xinxingjiaocheng.com/</loc> <lastmod>2015-06-01</lastmod> <changefreq>monthly</changefreq> <prority>1.0</prority> </url> ..其他url列表 </urlset>
这里需要说一下的就是,其中几个标签的含义:
(1)changefreq:页面内容更新频率
(2)lastmod:页面最后修改时间
(3)loc:页面永久链接地址
(4)priority:相对于其他页面的优先权
(5)url:前面四个标签的父标签
(6)urlset:前面五个标签的父标签
需要注意的两点就是:
(1)而xmlns则是定义了此xml的命名空间,相当于网页文件中的<html>标签一样的作用。
(2)还有就是loc标签对中的特殊字符必须进行转义,比如大于号变成>这种形式。
对于lastmod的说明:
(1)对于lastmod就是最后更新时间
(2)一般机器人在索引此链接之前,它会首先和上次索引记录的最后更新时间进行比较
(3)如果时间一样就会跳过不再索引
(4)如果我们的链接内容基于上次索引时的内容发生了改变,那么这个值也应该相应更新。
(5)对于这个时间表述,我们使用ISO 8601中指定的时间格式进行描述即可.
(6)最全的时间格式为: YYYY-MM-DDThh:mmTZD 比如 2015-06-01T19:02:00+08:00
(7)这里的TZD指的是本地时间区域标记, 比如东八区的话,我们一般用+08:00来表示
对于changefreq来说,我们一般需要:
(1)对于网站首页,我们一般使用always,来表示"经常"
(2)对于很久之前的链接,我们可以用yearly,来表示"每年"
(3)其他常用的时间标记为:always、hourly、daily、weekly、monthly、yearly
对于priority,我们说明如下:
(1)它是指定了此链接相对于其他链接的优先权比值
(2)这个值介于0.0到1.0之间,值越高,权重越高
下面是星哥对sitemap的几个小建议:
(1)一般来说,对于较大的网站来说,可以把sitemap分拆为若干个sitemap
(2)每个sitemap最多不能超过五万个url,而且压缩之前不得大于10MB
(3)sitemap可以压缩,这里推荐使用gzip压缩,可以节约流量
(4)可以在robots.txt中的最后添加一行来指定sitemap的位置,范例: Sitemap: http://www.a.com/sitemap.xml
不过对于sitemap是否有用这个问题,经过我的测试,得到的结果是:不一定有用。因为各大搜索引擎都具有比较强的抓取页面的能力,只要我们的内链做的没有致命问题,那么收录一般都是没问题的。还有就是对于网站层次结构复杂的时候,而且网站内容更新频繁的时候,那么这个sitemap的变更会非常频繁,因此个人感觉它的效果并不大。