远方的海
远方的海,WordPress,免费
2015 Sep 19 02 : 47

开启sitemap的Etag加强sitemap的更新

您当前的位置: 首页 > 建站资源 > SEO > 正文
欢迎光临远方的海!您可能还对 WordPress建站免费资源最新IT动态 感兴趣,点击开启 悦读 模式。CTRL+D 快捷收藏本文,我们期待您再次光临!
[文章目录]

百度站长中心给我推送了一条消息讲解了Etag对于sitemap的重要性。百度准备大量开放sitemap权限,于是服务器估计吃不消了,所以告诉大家开Etag。在这里给大家分享怎么开启sitemap的Etag标签。

首先先看看百度站长中心推送的消息:sitemap大家非常熟悉,但是如何更好利用sitemap,百度建议您开启Etag。现在我们就来讲讲Etag:

Etag简介

Etag(Entity Tags)是URL的tag,用来标示URL对象是否改变,这样可利用客户端(例如浏览器)的缓存。由服务器首先产生Etag,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓存。服务器使用它来判断页面是否已经被修改,如果未修改返回304,而不必重新传输整个对象。

sitemap现存弊端

开启sitemap的Etag加强sitemap的更新

1.发现更新不及时

当站点或其sitemap发生更新时,百度难以及时发现并响应,因为百度难以无时无刻地持续检查站点内容和sitemap是否更新。

2.全量抓取,消耗带宽

现在百度对站点sitemap的抓取会将sitemap文件完整下载下来,鉴于sitemap文件一般较大,而这种下载可能存在多次,故比较消耗网站的流量和带宽。

站点启用Etag的好处

1.对sitemap启用ETag后,百度可以更快速地响应sitemap的更新,没有更改内容的情况下,服务器只发回304应答头,对流量的消耗极小,在每个head平均227B大小的通常情形下,一整天24小时每秒都回应的流量消耗仅为18.7M。

2.现在站长平台对每个站点的sitemap主动抓取次数设有上限,且这项功能没有对所有站开放,如果您的站点sitemap启用了ETag,并通过了测试,那么就可以用很小的流量享受百度及时更新您的sitemap的功能,以便于百度更好地收录您网站的内容。

Etag的作用

HTTP1.1用Etag来判断请求的文件是否被修改,主要为了解决Last-Modified无法解决的一些问题:

  1. 一些文件也许会周期性的更改,但是他的内容并不改变(仅仅改变的修改时间),这个时候并不希望客户端认为这个文件被修改了重新GET;
  2. 某些文件修改非常频繁, 1秒内修改了N次,If-Modified-Since能检查到的粒度是秒级的,这种修改无法判断;
  3. 某些服务器不能精确的得到文件的最后修改时间。

为此,HTTP1.1引入了Etag. 但标准并没有规定Etag的内容是什么或者说要怎么实现,唯一规定的是Etag需要放在双引号内。Etag由服务器端生成,客户端通过If-Match或者说If-None-Match这个条件判断请求来验证资源是否修改。我们常见的是使用If-None-Match.请求一个文件的流程可能如下:

第一次请求:

  1. 客户端发起HTTP GET请求一个文件;
  2. 服务器处理请求,返回文件内容和一堆Header,当然包括Etag(例如”1ec5-502264e2ae4c0″)(假设服务器支持Etag生成和已经开启了Etag). 状态码200,如下图所示,首次请求百度首页时,成功得到百度logo图片文件bd_logo1.png,状态码200,大小8.1KB,返回的Header中包括Etag(“1ec5-502264e2ae4c0”)。

如何给sitemap加上Etag

默认情况下,在sitemap.xml文件中是不包含Etag信息的。如下图,是远方的海的sitemap文件:

开启sitemap的Etag加强sitemap的更新

那么知道了Etag的好处之后,我们就来给sitemap文件加上Etag吧!一般情况下,Etag标签有三个部分组成:

  • INode
  • MTime
  • Size

Etag的各个部分含义说明和添加方法

我找了一下Etag的开启方案,因为一般情况下Etag都是建议关闭的,因为这样可以让网站打开更快。所以开启的活好像没有人去做。首先说明,本文给出的方法在Apache主机下的,因为远方的海使用的是Apache,就没有去找别的主机的方案了。代码都是添加在.htaccess文件中。

一、其中INode部分包含了接入等级,创建时间等信息。如果你想开启INode,在Apache下只需要一行.htaccess代码:

FileETag INode

二、Mtime部分:主要包含了文件最后修改的时间信息。我觉得这个最后修改的信息对于sitemap是非常重要的。开启Mtime信息也只需要一行代码:

FileETag MTime

三、Size部分,Size部分主要的左右是声明这个文件有多大。想要给文件添加Size部分的信息,也是一行代码:

FileETag Size

如果你想一下同时开启Etag的三个部分,则加入(本代码会给网页页面均开启Etag标签):

FileETag INode MTime Size

如果你只想给.xml文件加上Etag,其他文件不做处理的话,可以写成如下:

# Enable XML File Etag by Seavia
<FilesMatch ".(xml)$">
FileETag INode MTime Size
</FilesMatch>

用别的类型的主机的同学,感兴趣的话也可以找找别的主机如何开启Etag来告诉Sven喔~

好文!分享给朋友,或者点个赞吧~

文章信息

分类:SEO

您可能也会喜欢

发表回复

Post Comment


  1. 手术台 :

    尊者降世,众志成城,永生不灭医用手术灯
    机械手术台
    电动手术台
    手术无影灯
    电动吊塔
    医用吊塔
    多功能手术台
    LED手术无影灯
    医用手术台
    医用手术床
    电动手术床

    液压手术台
    电动机械手术台
    医用手术无影灯
    医用手术台
    医用手术床
    手术台
    手术床
    手术室无影灯

    surgical light
    Shadowless surgical light
    medical surgical light
    operating light
    Shadowless operating light
    medical operating light
    medical led operating light
    medical led surgical light
    operating table
    Electric operating table
    hydraulic operating table
    Electric hydraulic operating table
    Electric gynecology table
    Hydraulic gynecology table
    operating universal table

    无影灯
    综合手术台
    多功能电动床
    医用无影灯
    LED无影灯
    多功能手术床
    LED手术灯
    电动液压手术台
    电动液压手术床
    ICU电动吊塔
    电动综合手术台
    电动液压手术台
    电动妇科手术台
    LED手术灯
    ICU吊塔
    医用病床
    妇科手术台
    医用护理床

    operating light
    Shadowless operating light
    medical operating light
    medical led operating light
    Shadowless surgical light
    medical surgical light
    medical led surgical light
    surgical light
    operating table
    Electric operating table
    hydraulic operating table
    Electric hydraulic operating table
    Electric gynecology table
    Hydraulic gynecology table
    operating universal table
    Electric Hydraulic gynecology operating table
    Electric multifunction operating table
    medical pendant
    operating lamp
    medical ICU pendant
    medical bed
    hospital bed
    medical table
    medical trolley
    medical cabint

    2017-6-28
  2. 啦啦啦 :

    # Enable XML File Etag by Seavia

    FileETag INode MTime Size

    我的网站地图有点不一样,我可以把“”里面的.(xml)$ 换成xmlmap.php吗?

    2017-2-20
  3. 南国掌柜博客 :

    博主的主题好给力,另外全面开启etag和只开启sitemap.xml文件的etag有什么区别么?
    我的是阿里云的虚拟主机,操作系统: CentOS 5.4 64位,在站长工具中查询的好像是Apache面板,我是不是只需要在.htaccess文件中加入以下代码就可以了,我是个小白,请求支援!
    # Enable XML File Etag by Seavia

    FileETag INode MTime Size

    2015-9-21
  4. Billy Fu :

    Google XML sitemap插件和你的这种方式生成的sitemap是伪静态的,如果不是纯静态文件,是不支持Etag的。我问过百度了,他们说目前只能生成纯静态的sitamap,一直在找WP的好插件啊。。。

    2015-9-20
  5. Billy Fu :

    用的什么sitemap工具生成的静态文件呢?

    2015-9-20
  6. Sven水神 :

    站长给力的找到了其他主机的修改方案喔:百度官方关于ETAG声明的教程

    2015-9-19