503狀態(tài)碼:防止網(wǎng)頁被刪除 |
發(fā)布時(shí)間: 2012/9/10 11:00:56 |
我認(rèn)為503狀態(tài)碼最大的作用是告知搜索引擎:現(xiàn)在服務(wù)器壓力過大,網(wǎng)站(某個(gè)網(wǎng)頁)稍后再抓取,503是指目前無法使用服務(wù)器(由于超載或進(jìn)行停機(jī)維護(hù))。通常,這只是一種暫時(shí)的狀態(tài)。按照百度的說法,網(wǎng)站關(guān)閉或其他臨時(shí)情況,這個(gè)時(shí)候網(wǎng)站應(yīng)該返回:“503 Service Temporarily Unavailable”!使用503狀態(tài)碼,而不是404錯(cuò)誤頁面。
如果網(wǎng)站需要臨時(shí)維護(hù)或者未建立好就上線的頁面,當(dāng)網(wǎng)頁不能打開時(shí)以及沒有建好時(shí),不要立即返回404,建議使用503狀態(tài)。503可以告知百度spider該頁面臨時(shí)不可訪問,請過段時(shí)間再重試。
(網(wǎng)頁出現(xiàn)503狀態(tài)提示)
如果返回404狀態(tài)碼,會(huì)被百度當(dāng)成死鏈刪除,造成收錄和流量損失。使用503返回碼,這樣百度的抓取器接到503返回碼后,會(huì)在隔一段時(shí)間再去訪問這個(gè)地址,在您的頁面建好上線后,就又能被重新抓取,保證頁面及時(shí)被抓取和索引,避免未建好的內(nèi)容設(shè)為404后帶來不必要的收錄和流量損失。
常見的HTTP狀態(tài)碼
404:404返回碼的含義是“NOT FOUND”,百度會(huì)認(rèn)為網(wǎng)頁已經(jīng)失效,那么通常會(huì)從搜索結(jié)果中刪除,并且短期內(nèi)spider再次發(fā)現(xiàn)這條url也不會(huì)抓取。
301:301返回碼的含義是“Moved Permanently”,百度會(huì)認(rèn)為網(wǎng)頁當(dāng)前跳轉(zhuǎn)至新url。當(dāng)遇到站點(diǎn)遷移,域名更換、站點(diǎn)改版的情況時(shí),推薦使用301返回碼,盡量減少改版帶來的流量損失。雖然百度spider現(xiàn)在對301跳轉(zhuǎn)的響應(yīng)周期較長,但我們還是推薦大家這么做。
503:503返回碼的含義是“Service Unavailable”,百度會(huì)認(rèn)為該網(wǎng)頁臨時(shí)不可訪問,通常網(wǎng)站臨時(shí)關(guān)閉,帶寬有限等會(huì)產(chǎn)生這種情況。對于網(wǎng)頁返回503,百度spider不會(huì)把這條url直接刪除,短期內(nèi)會(huì)再訪問。屆時(shí)如果網(wǎng)頁已恢復(fù),則正常抓取;如果繼續(xù)返回503,短期內(nèi)還會(huì)反復(fù)訪問幾次。但是如果網(wǎng)頁長期返回503,那么這個(gè)url仍會(huì)被百度認(rèn)為是失效鏈接,從搜索結(jié)果中刪除。
503狀態(tài)碼的設(shè)置方法
IIS服務(wù)器的就好解決,一般回收一下應(yīng)用程序池即可,或者重啟一下IIS。
下面舉的例子需要配合APACHE的 .htaccess 重寫文件來實(shí)現(xiàn):
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*google.* [NC]
RewriteRule .* /cgi-bin/error/503.php
向除了指定ip外的任何來訪者發(fā)送 503:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]
RewriteRule .* /cgi-bin/error/503.php
向蜘蛛發(fā)送 503,其他來訪者返回一個(gè) 404 頁面:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]
RewriteRule .* /cgi-bin/error/503.php
RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/404\.php [NC]
RewriteRule .* /under-development-explain.html [R=302,L]
如果是單頁面,可以先建一個(gè)503.php文件,
<?php
ob_start();
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
header('X-Powered-By:');
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
把這段代碼復(fù)制進(jìn)去就可以了,但切記把所有頁面都指向這一個(gè)頁面,這樣做只告知了用戶,而沒有通知蜘蛛,這樣蜘蛛只會(huì)以為其他頁面被刪除了,只剩下這個(gè)頁面。
第一二句告知搜索蜘蛛網(wǎng)站處理暫時(shí)關(guān)閉狀態(tài),第三句告知搜索蜘蛛,網(wǎng)站將于2012年10月8日18:27從新開放,注意:這里用的是格林威治標(biāo)準(zhǔn)時(shí)間。
但是光放一個(gè)503信息到服務(wù)器里還是不夠的,蜘蛛會(huì)訪問網(wǎng)站不同的頁面,因此我們必須引導(dǎo)所有的蜘蛛到503.php這個(gè)頁面,讓蜘蛛知道,整個(gè)網(wǎng)站處于臨時(shí)關(guān)閉中,而不是個(gè)別頁面。
如果站長使用的是Apache/Linux服務(wù)器,我們只需在.htaccess設(shè)置一下,引導(dǎo)所有的蜘蛛到505.php頁面,這里我們要使用302跳轉(zhuǎn),注意:在這里千萬不要使用301跳轉(zhuǎn),因?yàn)?01是永久的,在這種情況下會(huì)毀滅掉整個(gè)網(wǎng)站。
引導(dǎo)蜘蛛到503.php
將下面這段代碼保存到.htaccess文件,并上傳到網(wǎng)站根目錄
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^00\.00\.00.\.00
RewriteCond %{REQUEST_URI}!^/503.php [NC]
RewriteRule ,* /503.php [R,L]
最后一行的[R, 告知蜘蛛,這個(gè)是302跳轉(zhuǎn),屬于暫時(shí)的。這樣我們就完成了網(wǎng)站臨時(shí)關(guān)閉的部署,可以放心關(guān)站了!
百度站長平臺的建議和總結(jié):
如果百度spider對您的站點(diǎn)抓取壓力過大,請盡量不要使用404,同樣建議返回503。這樣百度spider會(huì)過段時(shí)間再來嘗試抓取這個(gè)鏈接,如果那個(gè)時(shí)間站點(diǎn)空閑,那它就會(huì)被成功抓取了
如果站點(diǎn)臨時(shí)關(guān)閉或者頁面暫未建好上線,當(dāng)網(wǎng)頁不能打開時(shí)以及沒有建好時(shí),不要立即返回404,建議使用503狀態(tài)。503可以告知百度spider該頁面臨時(shí)不可訪問,請過段時(shí)間再重試。 本文出自:億恩科技【prubsntakaful.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |