百度爬虫在进行抓取和处理时,是根据http协议规范来设置相应的逻辑的,所以请站长们也尽量参考http协议中关于返回码的含义的定义来进行设置。9 o& g0 ?, \% c5 \
. M/ A* j2 E; c8 ^4 `1 L+ W V. E6 Y
百度spider对常用的http返回码的处理逻辑是这样的:2 v! U3 f1 U% \ }# `1 c( S, B0 y
1、4044 k" i: O1 E. h/ F# B
404返回码的含义是“NOT FOUND”,百度会认为网页已经失效,那么通常会从搜索结果中删除,并且短期内spider再次发现这条url也不会抓取。
' j) C7 Z1 ]9 j/ I( W2 n
7 ]% ~" b7 @! ]/ `$ m2、503
# \" V" D: X( p6 H& L 503返回码的含义是“Service Unavailable”,百度会认为该网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况。对于网页返回503,百度spider不会把这条url直接删除,短期内会再访问。届时如果网页已恢复,则正常抓取;如果继续返回503,短期内还会反复访问几次。但是如果网页长期返回503,那么这个url仍会被百度认为是失效链接,从搜索结果中删除。
; q, F" s# w2 X% ]: o) i
& E( R( U7 L2 n3 }7 D3、403+ c. G+ L- M2 {/ m2 W0 V9 D
403返回码的含义是“Forbidden”,百度会认为网页当前禁止访问。对于这种情况,如果是新发现的url,百度spider暂不会抓取,短期内会再次检查;如果是百度已收录url,当前也不会直接删除,短期内同样会再访问。届时如果网页允许访问,则正常抓取;如果仍不允许访问,短期内还会反复访问几次。但是如果网页长期返回403,百度也会认为是失效链接,从搜索结果中删除。
! ^6 r1 z- S& A8 @1 h5 _
8 y* j, V9 K( }: I S6 k2 z4、301
9 L) |$ z, C2 C5 V) P2 H. @0 X. y4 { 301返回码的含义是“Moved Permanently”,百度会认为网页当前跳转至新url。当遇到站点迁移,域名更换、站点改版的情况时,推荐使用301返回码,尽量减少改版带来的流量损失。虽然百度spider现在对301跳转的响应周期较长,但我们还是推荐大家这么做。+ m- C5 I% F# I. u* J& z5 O2 ^; G! p
( Q+ {" | Z2 Q" e' f 我们的建议' k3 w6 g/ |/ c& `- ~. E
1、如果站点临时关闭,当网页不能打开时,不要立即返回404,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。
. y, t8 Y, Q! s# z2 v1 `; m, w
! h0 T" m0 Y% q/ Y, Z2、如果百度spider对您的站点抓取压力过大,请尽量不要使用404,同样建议返回503。这样百度spider会过段时间再来尝试抓取这个链接,如果那个时间站点空闲,那它就会被成功抓取了。
\. A8 }: i6 h" U% \3 _3 J* B: |" x, r. G9 p4 W# I% y2 _4 G, {
3、有一些网站希望百度只收录部分内容,例如审核后的内容,累积一段时间的新用户页等等。在这种情况,建议新发内容暂时返回403,等审核或做好处理之后,再返回正常状态的返回码。$ R7 B) Q# W0 i( F2 F9 @0 \. y
0 D0 W) P5 Q. b' f# m& j) }) {
4、站点迁移,或域名更换时,请使用301返回码! |