這篇文章 說了兩個事情,在我們的wordpress網站生成訪問日志和實作蜘蛛爬行日志的分析,主要是無插件來實作的,所以很感興趣,網上很多轉載,分析了半天最初的原創應當是 千絲海閣,不知道了,總之分享來一起學習吧,網上據說對seo還有幫助,
一、建立mylogs.php檔案
避免functions.php過于臃腫,我們單獨把蜘蛛爬行分析頁面的代碼放在一個php檔案中,命名為:mylogs.php,放在當前主題目錄的inc檔案夾下,
在functions.php中引入mylogs.php:
require get_template_directory() . '/inc/mylogs.php';
二、生成網站日志
首先是先生成網站日志,把以下代碼放入mylogs.php中
<?php
//保存日志檔案至mylogs.txt
make_log_file();
function make_log_file(){
//log檔案名
$filename = 'mylogs.txt';
//去除rc-ajax評論以及cron機制訪問記錄
if(strstr($_SERVER["REQUEST_URI"],"rc-ajax")== false
&& strstr($_SERVER["REQUEST_URI"],"wp-cron.php")== false ) {
$word .= date('mdHis',$_SERVER['REQUEST_TIME'] + 3600*8) . " ";
//訪問頁面
$word .= $_SERVER["REQUEST_URI"] ." ";
//協議
$word .= $_SERVER['SERVER_PROTOCOL'] ." ";
//方法,POST OR GET
$word .= $_SERVER['REQUEST_METHOD'] . " ";
//$word .= $_SERVER['HTTP_ACCEPT'] . " ";
//獲得瀏覽器資訊
$word .= getbrowser(). " ";
//傳遞引數
$word .= "[". $_SERVER['QUERY_STRING'] . "] ";
//跳轉地址
$word .= $_SERVER['HTTP_REFERER'] . " ";
//獲取IP
$word .= getIP() . " ";
$word .= "\n";
$day = date('md',$_SERVER['REQUEST_TIME'] + 3600*8);
if (file_exists($filename)) {
$fh = fopen($filename, "r");
$data = fread($fh, 10);
if(substr($data,0,4) == $day)
$fh = fopen($filename, "a");
else
$fh = fopen($filename, "w");
fwrite($fh, $word);
fclose($fh);
}
//endif;
}
}
//獲取IP地址,網上現成代碼
function getIP() //get ip address
{
if (getenv('HTTP_CLIENT_IP'))
{
$ip = getenv('HTTP_CLIENT_IP');
}
else if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
else if (getenv('REMOTE_ADDR'))
{
$ip = getenv('REMOTE_ADDR');
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
//獲取瀏覽器資訊,移動端,平板電腦資料還未加上,
function getbrowser()
{
$Agent = $_SERVER['HTTP_USER_AGENT'];
$browser = '';
$browserver = '';
if(ereg('Mozilla', $Agent) && ereg('Chrome', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[2];
$temp = explode('/', $Part);
$browserver = $temp[1];
$temp = explode(' ', $browserver);
$browserver = $temp[0];
$browserver = $browserver;
$browser = 'Chrome';
}
if(ereg('Mozilla', $Agent) && ereg('Firefox', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[1];
$temp = explode('/', $Part);
$browserver = $temp[2];
$temp = explode(' ', $browserver);
$browserver = $temp[0];
$browserver = $browserver;
$browser = 'Firefox';
}
if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[1];
$temp = explode(')', $Part);
$browserver = $temp[1];
$temp = explode(' ', $browserver);
$browserver = $temp[2];
$browserver = $browserver;
$browser = 'Opera';
}
if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[1];
$temp = explode(';', $Part);
$Part = $temp[1];
$temp = explode(' ', $Part);
$browserver = $temp[2];
$browserver = $browserver;
$browser = 'Internet Explorer';
}
if($browser != '')
{
$browseinfo = $browser.' '.$browserver;
}
else
{
$browseinfo = $_SERVER['HTTP_USER_AGENT'];
}
return $browseinfo;
}
?>
這樣,在你的站點根目錄上就會生成mylogs.txt檔案,你通過http://你的域名/mylogs.txt可以直接訪問,這樣的日志要比chinaz這種統計工具生成的日志精準的多,你可以通過日志得知哪些人訪問哪些檔案,哪些蜘蛛爬行過了等等資訊,
你可以點擊查看511遇見的網站日志: http://www.511yj.com/mylogs.txt
三、生成日志分析代碼
下面這段代碼的作用就是讀取上面的mylogs.txt,通過正則匹配蜘蛛特征標志然后進行統計,并顯示結果,創建短代碼spiderlogs,該段代碼可用引數text,默認為yes,生成文本描述+圓餅圖,如只需要顯示圓餅圖,則設定text為no即可,同樣是放入mylogs.php中,特別宣告,以上文字是復制的,其實我們分析代碼,看看最后在生成圓餅圖時是用了Google Chart API在線生成,現在由于.......其實你懂得,是無法鏈接和生成的,所以我們在復制原始碼時要刪掉這段,否則你的網頁打開會很慢的,
由于原代碼很長,所以就不復制了,你可以直接下載檔案mylogs.php在你的functions.php中引入就ok了,
百度網盤下載
四、建立蜘蛛爬行分析頁面
登錄Wordpress后臺管理-頁面-建立新頁面-輸入[ spiderlogs ] ,保存你的頁面就可以了,輸入時spiderlogs兩邊沒有空格,其實你在wordpress網站發布的任何一篇文章內引入以上代碼都能顯示蜘蛛爬行分析頁面,
您可能感興趣的文章:
? 批量關閉開啟wordpress文章的評論功能
? wordpress手動升級詳細步驟
? WordPress網站免備案主機推薦老薛主機
? wordpress百度搜索移動友好度深度解讀
? wordpress前臺“書簽”顯示為“友情鏈接”方法
? 提升WordPress 國外主題打開速度全面解決方案
? wordpress地址出現 /?security_verify_data=313932xxx原因及解決辦法
? WordPress 性能優化:使用 nginx 服務器
? Windows server支持WordPress自動發郵件
? Wordpress非插件自定義點贊功能樣式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/23475.html
標籤:其他
