“我們網(wǎng)站編輯制作內容后會(huì )產(chǎn)生一個(gè)鏈接地址,但文章內容還未通過(guò)審核(處在待審核狀態(tài)),在此期間這個(gè)鏈接會(huì )是404狀態(tài)碼,如果被百度抓取有什么影響嗎?”
503狀態(tài)碼的使用(官方說(shuō)法)
強烈建議站點(diǎn)不要這么做,會(huì )影響該內容的收錄速度,如果資源臨時(shí)不可用,建議用500、503這種類(lèi)型的返回碼。尤其是原創(chuàng )的內容,在這種情況下設置404對站點(diǎn)來(lái)說(shuō)是極大的損失。因為,蜘蛛發(fā)現50X后再次嘗試訪(fǎng)問(wèn)的頻率比40X要快得多。
如果百度spider對您的站點(diǎn)抓取壓力過(guò)大,請盡量不要使用404,同樣建議返回503。這樣百度spider會(huì )過(guò)段時(shí)間再來(lái)嘗試抓取這個(gè)鏈接,如果那個(gè)時(shí)間站點(diǎn)空閑,那它就會(huì )被成功抓取了。站長(cháng)應該如何正確設置404頁(yè)面,請查看404錯誤頁(yè)面對網(wǎng)站的營(yíng)銷(xiāo)與解決方法 。
如果站點(diǎn)臨時(shí)關(guān)閉或者頁(yè)面暫未建好上線(xiàn),當網(wǎng)頁(yè)不能打開(kāi)時(shí)以及沒(méi)有建好時(shí),不要立即返回404,建議使用503狀態(tài)。503可以告知百度spider該頁(yè)面臨時(shí)不可訪(fǎng)問(wèn),請過(guò)段時(shí)間再重試。
另外,503狀態(tài)碼通常是由于臨時(shí)的服務(wù)器維護或者過(guò)載,服務(wù)器當前無(wú)法處理請求。這個(gè)狀況是臨時(shí)的,并且將在一段時(shí)間以后恢復。如果能夠預計延遲時(shí)間,那么響應中可以包含一個(gè) Retry-After起頭用以標明這個(gè)延遲時(shí)間。如果沒(méi)有給出這個(gè) Retry-After信息,那么客戶(hù)端應當以處理500(Server Internal Error)響應的方式處理它。
503狀態(tài)碼的設置方法
IIS服務(wù)器的就好解決,一般回收一下應用程序池即可,或者重啟一下IIS。
下面舉的例子需要配合APACHE的 .htaccess 重寫(xiě)文件來(lái)實(shí)現:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*google.* [NC]
RewriteRule .* /cgi-bin/error/503.php
向除了指定ip外的任何來(lái)訪(fǎng)者發(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,其他來(lái)訪(fǎng)者返回一個(gè) 404 頁(yè)面:
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]
如果是單頁(yè)面,可以先建一個(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>
把這段代碼復制進(jìn)去就可以了,但切記把所有頁(yè)面都指向這一個(gè)頁(yè)面,這樣做只告知了用戶(hù),而沒(méi)有通知蜘蛛,這樣蜘蛛只會(huì )以為其他頁(yè)面被刪除了,只剩下這個(gè)頁(yè)面。
第一二句告知搜索蜘蛛網(wǎng)站處理暫時(shí)關(guān)閉狀態(tài),第三句告知搜索蜘蛛,網(wǎng)站將于2012年10月8日18:27從新開(kāi)放,注意:這里用的是格林威治標準時(shí)間。
但是光放一個(gè)503信息到服務(wù)器里還是不夠的,蜘蛛會(huì )訪(fǎng)問(wèn)網(wǎng)站不同的頁(yè)面,因此我們必須引導所有的蜘蛛到503.php這個(gè)頁(yè)面,讓蜘蛛知道,整個(gè)網(wǎng)站處于臨時(shí)關(guān)閉中,而不是個(gè)別頁(yè)面。
如果站長(cháng)使用的是Apache/Linux服務(wù)器,我們只需在.htaccess設置一下,引導所有的蜘蛛到505.php頁(yè)面,這里我們要使用302跳轉,注意:在這里千萬(wàn)不要使用301跳轉,因為301是永久的,在這種情況下會(huì )毀滅掉整個(gè)網(wǎng)站。
了解所有http狀態(tài)碼的含義,請查看各種httpcode返回碼(http狀態(tài)碼)的含義 。