青島網站優化之ETag妙用助力排名優化
sitemap是解決網站收錄至關重要的途徑之一,而通常sitemap的更新都不是很及時,并且體量都相對較大,此時也消耗了相應的網站流量及帶寬。而ETag可以用來標示網頁是否發生了變化,如果沒有變化返回304狀態碼,就不用再重新傳輸整個網頁了。
如果各位站長在優化網站的過程中,對ETag多一些了解并合理使用,可能會得到意想不到的優化效果。
ETag全稱EntityTags,HTTP協議規格說明中定義“ETag”為“被請求變量的實體值”。我們也可以把ETag理解為是一個客戶端與服務器關聯的記號。這個記號告訴客戶端,當前網頁在上次請求之后是否有發生變化,當發生變化時,ETag的值重新計算,并返回200狀態碼。如果沒有變化,返回304狀態碼。從而不會重新加載整個頁面信息。
在我們的sitemap配置了ETag之后,對日志一段時間的監測發現,其sitemap響應時間以及耗時的平均時間均大幅度下降,爬蟲訪問sitemap文件的次數有所增加,對于收錄而言,通過圖表也能看出相對的增長曲線,我們的整體收錄率大致提升范圍在2%–5%左右。所以在此,強烈建議大家設置sitemap的ETag,簡簡單單的一個配置就能看到相對明顯的效果還是很不錯的。
如下,是我司站點的sitemap文件的頭信息:
我們看到,ETag中包含了一連串的數據,這就是計算出來的一個值,如果它發生變化,說明其頁面內容一定發生了變化。如果頁面沒有發生變化時,頭信息應該如下:
需要通過此種方式進行驗證。第一次訪問200狀態碼,有ETag的一行文本,再次訪問該頁面時,狀態碼為304,ETag的值不變。至此,我們就可以確定ETag配置成功。
另外,sitemap啟用Etag后:
1、百度可以更及時地響應sitemap的更新;
2、頁面沒有更新的情況下,對流量的消耗極??;
3、百度更加及時的抓取sitemap,便于更好的收錄;
但多數情況下,ETag會與Last-Modified一起使用,這樣可利用客戶端(例如瀏覽器)的緩存。因為服務器首先產生Last-Modified/Etag標記,服務器可在稍后使用它來判斷頁面是否已經被修改。本質上,客戶端通過將該記號傳回服務器要求服務器驗證其(客戶端)緩存。
上面說了Etag的妙用,如果正確配置好Etag,那么搜索引擎爬蟲在爬取網站的時候就會變得更智慧。不僅對服務器負載有好處,同時對網站排名也起到了積極作用。那么如何正確的在服務器上配置Etag呢?下面小編繼續給你介紹。
一、Apache
Apache根據配置文件中的配置來設置Etag值,默認的Apache的FileEtag設置為:
FileEtagINodeMtimeSize
也就是根據這三個屬性來生成Etag值,他們之間通過一些算法來實現,并輸出成hex的格式,相鄰屬性之間用-分隔,比如:"2e681a-6-5d044840",這里面的三個段,分別代表了INode,MTime,Size根據算法算出的值的Hex格式,可以改變Apache的FileEtag設置,比如設置成FileEtagSize,那么得到的Etag可能為:"6",設置了幾個段,Etag值就有幾個段。
詳細配置:
步驟1
在要啟用ETag的目錄下增加.htaccess文件并在其中增加一行,如圖:FileETagMTimeSize
以覆蓋默認的InnodeMTimeSize的ETag,因為默認的ETag使用到的Innode會導致相同的文件在分布式服務器上產生的ETag不同。
步驟2
如果.htacces文件已經存在,請確保要啟用ETag的目錄/.htacces文件中沒有FileETagNone。如果存在FileETagNone,請刪去該行。
檢查沒有用mod_headers將ETag除去,即httpd.conf文件中沒有出現下面的語句,
LoadModuleheaders_module modules/mod_headers.so
Headerunset ETag
如果出現如圖情況,請刪除Headerunset ETag這一行。
步驟3重新啟動httpd,就啟用ETag了。
二、Nginx
步驟1
確認Nginx版本,命令:Nginx安裝目錄/sbin/nginx –v,
版本為1.7.3及更高,繼續步驟2;版本為1.7.3以下,1.3.3及以上,進行步驟3;版本為1.3.3以下,不支持ETag,請升級您的Nginx。
步驟2
確認沒有關閉ETag:打開Nginx的配置文件nginx.conf(默認位置Nginx安裝目錄/conf/),確保其中沒有出現etagoff;,下圖為出現的情況,請將此行刪除。
確認沒有使用ngx_headers_more清除ETag頭:同樣在配置文件中不能出現如下語句的任意一句,如果出現請將其刪除。
重新啟動Nginx,就啟用ETag功能了。
步驟3
查看是否開啟了gzip,且是否和etag出現沖突,出現沖突去步驟4,沒有去步驟2。
打開Nginx的配置文件nginx.conf(默認位置Nginx安裝目錄/conf/),其中出現gzip on;語句證明開啟了gzip,如圖
開啟gzip時,可能與etag出現沖突,用瀏覽器多次請求此網站的靜態元素,如果只返回200,不返回304,證明存在沖突,請去步驟4;沒有沖突去步驟2。
步驟4
請關閉gzip,即將上一步中的gzipon;改為gzip off;然后去步驟2。
若不想關閉gzip,并要開啟ETag,同時仍要堅持使用當前的Nginx版本,只能修改源碼并重新編譯。
下載此版本安裝包并解壓,將其目錄下/src/http/modules/ngx_http_gzip_filter_module.c
文件中約309行左右的ngx_http_clear_etag(r);一行注釋掉或刪掉。如下圖
如果沒有找到ngx_http_clear_etag(r);而是發現ngx_http_weak_etag(r);如下圖,證明此Nginx
沒有gzip和etag沖突的問題,不必進行任何修改。
重新編譯源碼安裝Nginx,解決這個沖突,然后去步驟2。
三、IIS
IIS7是默認開啟ETag的,如果沒有ETag,請按以下步驟設置。
打開Internet Information Services(IIS) Manager,如圖雙擊HTTP響應頭部(HTTPResponseHeaders),
選擇NoGrouping標簽,在空白處右鍵選擇Add。
設置Name為ETag,Value為雙引號
配置web.config:-
自此,所有Etag的配置工作就已經完成,大家可以觀察一段時間,看看收錄是否比以前更加及時了。
迅優網絡擁有多年營銷型網站建設和推廣經驗,具有8年多的網站建設和SEO優化經驗,針對每一個不同的客戶或行業,我們提供專門的網站策劃方案,建站之前都會向客戶進行詳細的了解,針對客戶的產品、自身優勢等進行分析,然后根據這些資料進行方案策劃、設計、裁切、程序、測試等程序。我們的Web工程師、GUI設計師、UI交互設計師、產品經理等都具備豐富的建站經驗和傳統行業的互聯網平臺設計經驗。我們的SEO和SEM工程師幫助和協助了很多客戶完成了互聯網平臺的推廣,為客戶節省了大筆費用,同時提升了轉化率。
- 上一篇:網站快速獲得排名先學會這幾招
- 下一篇:青島網站優化-只需兩步,正確識別百度蜘蛛
相關內容推薦
最新文章
更多>>0532-88983785 / 0532-68613670
我要優化網站