辛星浅析网站中的sitemap

所谓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标签对中的特殊字符必须进行转义,比如大于号变成&gt;这种形式。

对于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的变更会非常频繁,因此个人感觉它的效果并不大。

时间: 2024-11-03 22:24:06

辛星浅析网站中的sitemap的相关文章

辛星浅析php中coment技术的实现

第一,何谓推送技术 随着人们对web越来越熟悉,人们希望web应用可以像本地应用一样可以实时的接收消息,于是也就有了所谓的"推送技术".也就是我们所说的Server Push,也就是"服务器推技术",它的典型范例就是聊天.消息提醒.交友网站中使用比较频繁,成为实时应用中的一个热点问题. 第二,传统实现(拉取技术) 有一个很类似的实现机制,也就是传统的ajax,它是每隔一段时间去服务端拉取一次信息,但是这种方式会特别消耗资源.它需要时时刻刻去问服务器是否可以请求到数据

辛星浅析WordPress中的get_option

WordPress使用get_option()来获取通过option表单设置值的方法,如果数据库中不存在该选项,或者改选项的值为空,那么将会返回一个false. 通过get_option获得的值通常都可以在后台的"菜单"->"常规"中获得.而且它们内容如下: admin_email   管理员的email地址 blogname      网站title标题 blogscription   网站描述 blog_charset   网站编码,一般都是utf-8 d

辛星浅析Redis中与key有关的命令

在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern   它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的.它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号中的任意一个字母. (2)del   key ....   它是从数据库中删除参数中指定的keys,如果指定的

辛星浅析git中的submodule

有时候,我们需要将一些通用的部分抽取出来做成一个公共库,它可以给别的工程使用,而公共代码库的版本管理是比较麻烦的.我们可以使用git中的submodule来做到这一点. 1.添加 为当前工程添加submodule,命令格式是:git   submodule   add   仓库地址    路径 在添加完成后,在当前工程路径下会生成一个名为".gitmodules"的文件,它记录了子模块的信息,添加完成之后,将子模块所在的文件夹添加到工程中即可. 2.删除 删除submodule,我们首

辛星浅析Redis中的配置文件

Redis中的主要配置项如下: (1)daemonize  yes     它表示是否在后台运行,如果写成yes,那么在后台运行,如果是no,则表示不在后台运行. (2)pidfile  /var/run/redis.pid 当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,我们也可以在运行多个Redis服务时,指定不同的pid文件和端口 (3)port    6379    指定Redis运行的端口,默认是6379 (4)127.0.0.1  

辛星浅析Redis中的有序集合

Redis中的有序集合也就是sorted-set,它和set很相似,都是字符串的集合,都不允许重复的成员出现在一个集合张.有序集合与集合的主要差别是有序集合中的每一个元素都有一个序号与其相连,这个序号即score,Redis通过这个序号来为集合中的成员进行从小到大的排列.需要特别说明的是,尽管有序集合的元素值是唯一的,但是该value对应的score却可以是多个.在有序集合中添加.删除.更新一个成员的操作都很快,其时间复杂度是集合中成员的对数. 因为有序集合中的成员在集合中的位置是有序的,即便是

辛星浅析Linux中的信号

要说Linux中的信号,不得不先提一下中断这个概念.中断是系统中对于异步事件的响应,也就是说某个进程可以在代码执行的过程中被打断了,它先去执行一段异常处理程序.中断可以分为硬件中断,也就是外部中断,它是由外部设备通过硬件请求的方式产生的中断.而软件中断,也就是内部中断,它是由CPU运行程序的一些错误或者执行内部程序调用的时候引起的一种中断. 在CPU的层面去看中断,是这样的一个步骤: ①中断源发出中断信号  ②CPU判断是屏蔽该中断以及现场保护③CPU查询中断向量表,找到相应服务程序的入口地址,

辛星浅析linux中的日志

linux中对于连接时间的日志,一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这两个文件无法直接使用cat查看,并且该文件由系统自动更新,我们可以通过w.who.finger.id.last.lastlog.ac命令进行查看. linux中对于进程的监控日志,首先说进程监控日志在监控用户的操作指令是很有效的,当服务器最近发现经常发生无故宕机或者无故被人删除文件等现象时,可以通过使用进程统计日志来查看.我们使用accton  /var/account/pacct来

辛星浅析linux中常用的日志文件

日志对于系统的安全来说非常重要,它记录了系统每天发生的各种各样的事情,用户可以通过它来检查错误发生的原因,或者寻找受攻击时攻击者留下的痕迹.日志的主要功能就是审计和检测.它还可以实时地检测系统的状态.检测和追踪侵入者. 通常日志根据类型可以分为连接时间日志.进程统计日志和错误日志.连接时间日志由多个程序执行,它把记录写到/var/log/wtmp和/var/run/utmp当中,而login程序负责更新wtmp和utmp文件,使得系统管理员能够够跟踪谁在何时登录了系统.对于进程统计日志由内核执行