19
2009
03

Asp.Net程序员与SEO - 关注Sitemap

Sitemap相信大家都有一定的了解,在SEO中也是相当重要的,在我看来sitemap应该分为两种一种是根据sitemap协议来制作,用来给搜索引擎抓取的协议性sitemap,而另外一种就是根据网站本身需求制作,用来给用户看的一个导航性sitemap。下面我就从这两种sitemap说下自己的理解。

协议性sitemap
Sitemap 0.90 是依据创意公用授权-相同方式共享 (Attribution-ShareAlike Creative Commons License) 的条款提供的,并被广泛采用,受 Google、Yahoo! 和 Microsoft 在内的众多厂商的支持。
Sitemap 0.90是Google、Yahoo!、Microsoft、Ask等大多数搜索引擎所支持的一种标准。具体情况可以到http://sitemaps.org/zh_CN/index.php查看。
下面我们就看下sitemap 0.90的编写规则

  • 以 <urlset> 开始标记作为开始,以 </urlset> 结束标记作为结束。
  • 在 <urlset> 标记中指定命名空间(协议标准)。
  • 每个网址包含一个<url> 条目作为 XML 父标记。
  • 在每个 <url> 父标记中包含一个 <loc> 子标记条目。

下面是一个简单示例:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/contact/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>

以下对可用 XML 标记进行说明。


属性

 

说明

<urlset>

必填

压缩此文件并提供当前协议标准作为参考。

<url>

必填

每个网址条目的父标记。剩余标记为此标记的子标记。

<loc>

必填

该页的网址。如果您的网络服务器需要网址的话,此网址应以协议开始(例如:http)并以斜杠结尾。该值必须少于 2,048 个字符。

<lastmod>

可选

该文件上次修改的日期。此日期应采用 W3C Datetime 格式。如果需要,此格式允许省略时间部分,并使用 YYYY-MM-DD。
请注意,此标记不同于服务器可返回的 If-Modified-Since (304) 标头,搜索引擎可能会以不同的方式使用这两个来源的信息。

<changefreq>

可选

页面可能发生更改的频率。此值为搜索引擎提供一般性信息,可能与搜索引擎抓取页面的频率不完全相关。有效值为:

  • always
  • hourly
  • daily
  • weekly
  • mothly
  • yearly
  • never

“always”值应当用于描述随每次访问而改变的文档。而“never”值则应当用于描述存档的网址。
请注意,抓取工具会将此标记的值视为提示而不是命令。尽管搜索引擎抓取工具在做决定时会考虑此信息,但对于标记为“hourly”页面的抓取频率可能低于每小时一次,而对于标记为“yearly”页面的抓取频率可能高于每年一次。抓取工具也可能会定期抓取标记为“never”的网页,以便能够处理对这些网页的未预期更改。

<priority>

可选

此网址的优先级是相对于您网站上其他网址的优先级而言的。有效值范围从 0.0 到 1.0。该值不会影响您的网页与其他网站上网页的比较结果,而只是告知搜索引擎您认为哪些网页对抓取工具来说最为重要。
一个网页的默认优先级为 0.5。
请注意,为网页指定的优先级并不会影响网址在搜索引擎结果页上的排名。搜索引擎在同一网站上选择不同网址时会使用此信息,因此,您可以使用此标记增加最重要的网页在搜索索引中显示的可能性。
另请注意,为网站中的所有网址都指定高优先级并不会带来什么好处。因为优先级是相对的,只用于在您网站的网址之间进行选择。

由于篇幅关系,我这里关于sitemap 0.90协议的编写规则就写这么多了具体关于 实体转义、sitemap索引(一个网站多个sitemap)、sitemap位置等可以到http://sitemaps.org/zh_CN/protocol.php#location查看。

导航性sitemap
导航性sitemap,简单的说是属于一个站点导航器。把网站的各个节点按层级展现给用户,让用户能一目了然的看到这个网站的架构。在某种程度上在搜索引擎中起到了一个导航目录的内链建设作用。而展现的方式就因网站的不同而不同,这里就点到为止。

当然,asp.net有自己的一个sitemap,就是web.sitemap,他是属于一个代码性质的站点导航,在我的理解里他就好似一个导航性sitemap. 还有google标准的sitemap等。所有的sitemap的目的只有一个那就是清晰的暂时网站的架构,无论是按共同标准建设,还是按某一搜索引擎标准建设,无论是代码体现还是视图展现,无论是给用户还是给搜索引擎都起着一个牵引的作用,属于网站的一个目录,非常有必要性。写网站时千万不要忘记给网站建设两个sitemap。

下面共享一个我用asp.net写的按照sitemap 0.90协议生成sitemap.xml的简单示例:asp.net生成sitemap示例下载

ps:个人建议,协议性的sitemap在网站初期比较适用,一旦数据量增加,搜索引擎收录稳定,就取消sitemap功能吧,不然有可能搜索不完全。不过,如果有特殊需要,例如,需要用到Google webmaster中的查看链接等等。这些还是可以的。

« 上一篇下一篇 »

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。