过期域名预定抢注

 找回密碼
 免费注册

WordPress監測蜘蛛爬行記錄代碼

  [複製鏈接]
發表於 2013-4-19 21:25:37 | 顯示全部樓層 |閱讀模式
本帖最後由 wuzu 於 2013-4-19 21:27 編輯
2 b; B* f. O; u+ E6 |) Y- k) D4 \) Y) H( [7 A, q# |- u8 V
WordPress監測蜘蛛爬行記錄,用插件固然可以實現,不過插件也有弊端,太多的會造成載入速度的下降,插件間的衝突等,所以能使用代: P0 f  }' p. q4 I  r6 J2 K- A/ A
1 v% v6 x, X0 E) G" x
碼實現的就一定要用代碼來實現。
1 j! ?" l+ J7 e; C這個監測搜索引擎蜘蛛爬行記錄的代碼,其實很簡單的一段代碼:<?php
- K( H! M: V4 @' M% P! k) y7 Ufunction get_naps_bot()
- O2 D5 w7 R7 m: c2 u: C{
: `; h0 v1 N) V' i7 R$ m# N$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);- L7 Q- E- w0 C4 E0 \
if (strpos($useragent, 『googlebot』) !== false){. C. [" f9 k0 u; f. F3 ?- y
return 『Googlebot』;$ Q7 S& G+ v" ]9 ]( |6 b, u
}
' _2 T1 Z4 G0 Y8 ]3 [5 ^7 y) Hif (strpos($useragent, 『msnbot』) !== false){
2 o; z2 x: [3 rreturn 『MSNbot』;# d% |+ L7 S) ~
}
9 r7 V% e+ I& ?6 M$ yif (strpos($useragent, 『slurp』) !== false){
: P5 n/ y- I+ \return 『Yahoobot』;
9 p* U3 U. K5 |" t$ G/ p0 o}* s$ m) l+ f: I* G5 v3 N
if (strpos($useragent, 『baiduspider』) !== false){7 I$ c7 J3 d! K$ o. S, ]4 n
return 『Baiduspider』;
9 ?  g. u% k9 L( f}
6 H2 a  o! f1 G; e1 x1 v. S: xif (strpos($useragent, 『sohu-search』) !== false){: v! h  K% D; b3 J
return 『Sohubot』;( d7 ?8 m  I# D5 Y* P# q0 _. F: d/ }
}+ c9 o2 ]- d9 [/ c+ C
if (strpos($useragent, 『lycos』) !== false){
! p% I  g1 j# D7 N* }' D2 A/ @. A$ zreturn 『Lycos』;' }' R; \4 x3 S
}
" O7 c# T0 h# nif (strpos($useragent, 『robozilla』) !== false){
, o  g4 J' B# A9 A" m" Xreturn 『Robozilla』;
- R6 O( `9 J. u7 G}- X7 h8 [  _+ i
return false;
1 }8 A3 Z+ N& f}( w7 f: L4 `; J+ l5 p# t
function nowtime(){
) ^- k& ]" @8 A' X9 L$date=gmdate(「Y-n-j H:i:s」,time()+8*3600);
) z  J# S( x2 \5 D5 a3 Breturn $date;
' L+ d$ ^- X" E0 ^& `5 O/ \}3 p/ A* ?+ q) E8 Z8 x
$searchbot = get_naps_bot();
7 q$ _( {& V" X4 N; Tif ($searchbot) {# J( t2 @4 A6 Y# I, `
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
* H4 R) H  K  i' y5 M8 R+ Q$ n+ O$url=$_SERVER['HTTP_REFERER'];  U- U- G! a/ g, p
$file=」robotslogs.txt」;, _5 x! Z- r0 \
$time=nowtime();7 v, G5 f  o" k4 F; f
$data=fopen($file,」a」);
( [+ b7 S6 h) C) _0 ]6 b, ^) q; ]7 Wfwrite($data,」Time:$time robot:$searchbot URL:$tlc_thispage\n」);
. {# b7 y5 F5 v9 H, Afclose($data);8 p1 V) _% Q- }( A( W- t
}
" }1 L4 k2 D: t. J& l?>
; |% h( Y- V( y) T原理:各大搜索引擎的蜘蛛爬行程序都有自己的標識符,例如谷歌的是googlebot,百度的是 baiduspider,7 I7 k9 f6 ]7 Q- C, w

( D$ s! p1 \' P! b# `. m( m) N) Y* R它們可以通過查詢_SERVER變量中的HTTP_USER_AGENT參數來獲取,再結合HTTP_REFERER記錄下 URL的來源,
6 ?: F. q. p5 E4 S5 P9 ^! T2 F4 j( R* s: b7 n0 B
最後用 nowtime()函數取得當前的系統時間,就形成了一條簡單的擎蜘蛛爬行記錄。
% d8 @" s6 Y: Y2 W) z: J看不明白的朋友可以跳過,其實代碼許多年前網上就有人共享出來了,我們重點學會如何使用就可以了。
. L3 g0 g$ M. a/ g# N0 e使用: 然後將上面貼出來的代碼另存為robots.php,當然你可以任意給它取個名字,例如bbb.php或者
; E4 d9 Y. I: F3 }+ A
: H+ P: ~" u4 X9 g) H- r% ?111.php 都行,只要保證擴展名是php,讓它能夠正常執行即可;然後上傳到你的網站程序的模板目錄中(例
" n; i0 h, m: Y) W) o5 ^( U5 h. }4 B' @6 i; f; v  P
如Wordpress的是/wp-content /themes/xiao目錄);最後在你的模板文件中調用它,例如在Wordpress博客
/ B8 o8 i# R- a3 ]% n
5 ?7 D& w2 M  R! C中,你可以在footer.php文件中添 加<?php include(』robots.php』) ?>代碼。* k0 a, X( T" Q4 E2 M
接下來就是等待搜索引擎蜘蛛到你的網站來爬行了,爬行的結果記錄在網站根目錄的robotslogs.txt中,你
( ~# P+ v. [) `* c3 j  |# C3 \8 `- D' Q
直接打開 http://www.xxx.com/robotslogs.txt就能看到了。當然你也可以修改robots.php文件的第50行,
" P3 P. w  I4 V: D( u$ I' A) F, |. |0 m- b9 Q- F2 f* E7 U* U" j
把robotslogs.txt換成任意你想要的名字。* J5 U( P6 a6 }- Y, s: w) A
通過一段時間的監測,你就可以發現搜索引擎蜘蛛在你的網站上爬行的頻率了,一般來說,蜘蛛爬行得越勤" p$ D1 c8 Y, s: b# n, w% K

. K& \4 R7 e) b/ G- S4 X% c  x" e快越好。另外,如果你的robotslogs.txt記錄的內容太多了的話,你可以清空它重新開始記錄。* D0 x! j) L. C# e, y! s; d, o; M

5 L) i) a. m2 F( D1 @$ B" |8 K$ k: x  D9 o, n, u

評分

參與人數 2點點 +2 收起 理由
月光飞燕 + 1
RootSir + 1 有見地

查看全部評分

發表於 2013-4-19 21:31:57 | 顯示全部樓層
這個是很早的文章了,不過還是謝謝樓主分享
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-19 21:39:17 | 顯示全部樓層
謝謝分享,我一般看網站日誌
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-19 22:29:41 | 顯示全部樓層
謝謝樓主分享
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 00:11:52 | 顯示全部樓層
直接分析access-logs不就行了麼
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 06:36:17 | 顯示全部樓層
直接看日誌,減少wp的負載
回復 给力 爆菊

使用道具 舉報

發表於 2013-4-20 08:03:39 | 顯示全部樓層
本帖最後由 luguokankan 於 2013-4-20 08:05 編輯 4 ?3 Z% L% L8 ~' Z3 @3 L5 L5 H" c
  U) z2 G( S  E4 l
我記得有個商業版的wordpress plugin, 是專門對付spider, 當然比lz的這個強大得多.+ r7 V& o/ J- Q- k( v
可惜忘記叫什麼名字,只記得它的文件夾名字是sspro" }- V+ b/ y; B' \4 p9 l2 M
---; u0 N9 l# Z8 j! d5 V
查了下回收站,居然還在.+ ^1 d4 p! Q1 B) |/ v( h( @) b7 D
名字叫SpyderSpanker Pro# b& M; E( ~9 B/ \7 w
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-2-20 10:44

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表