wordpress禁止搜索引擎抓取指定路徑或者是動(dòng)態(tài)路徑頁面
今天查詢發(fā)現(xiàn)上午發(fā)布的一篇文章被收錄了,但收錄的地址卻是動(dòng)態(tài)的。
可以我的網(wǎng)站是偽靜態(tài)的,所以就不想讓它收錄動(dòng)態(tài)頁面。robots里面加入了禁止抓取這些動(dòng)態(tài)地址和某些路徑,但是蜘蛛依然每天抓取,而且還收錄了!所以只能強(qiáng)制禁止它訪問。
把下列代碼加入到服務(wù)器配置文件ROOT后面即可
#### 禁止搜索引擎訪問指定文件夾或者路徑 【開始】####
#初始化變量為空
set $deny_spider "";
#如果請(qǐng)求地址中含有需要禁止抓取關(guān)鍵詞時(shí),將變量設(shè)置為y:
if ($request_uri ~* "\?replytocom=(\d+)|\?p=(\d+)|/feed|/date|/wp-admin|comment-page-(\d+)|/go") {
set $deny_spider 'y';
}
#如果抓取的UA中含有spider或bot時(shí),繼續(xù)為變量賦值(通過累加賦值間接實(shí)現(xiàn)nginx的多重條件判斷)
if ($http_user_agent ~* "spider|bot") {
set $deny_spider "${deny_spider}es";
}
#當(dāng)滿足以上2個(gè)條件時(shí),則返回404,符合搜索引擎死鏈標(biāo)準(zhǔn)
if ($deny_spider = 'yes') {
return 403; #如果是刪除已收錄的,則可以返回404
break;
}
#### 禁止搜索引擎訪問指定文件夾或者路徑【結(jié)束】 ####
然后測(cè)試一下,動(dòng)態(tài)地址抓取失敗,靜態(tài)地址成功。
還有一種方法就是把代碼直接寫進(jìn)當(dāng)前主題頁的functions.php里面即可。
PHP代碼如下
/*禁止蜘蛛抓取指定路徑代碼*/
ob_start("Deny_Spider_Advanced");
function Deny_Spider_Advanced() {
$UA = $_SERVER['HTTP_USER_AGENT'];
$Request_uri = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
$Spider_UA = '/(spider|bot|)/i'; //定義需要禁止的蜘蛛U(xiǎn)A,一般是spider和bot
//禁止蜘蛛抓取的路徑,可以參考自己的robots內(nèi)容,每個(gè)關(guān)鍵詞用分隔符隔開,需注意特殊字符的轉(zhuǎn)義
$Deny_path = '/\?replytocom=(\d+)|\?p=(\d+)|\/feed|\/date|\/wp-admin|wp-includes|\/go|comment-page-(\d+)/i';
//如果檢測(cè)到UA為空,可能是采集行為
if(!$UA) {
header("Content-type: text/html; charset=utf-8");
wp_die('請(qǐng)勿采集本站,因?yàn)椴杉恼鹃L木有小JJ!');
} else {
//如果發(fā)現(xiàn)是蜘蛛,并且抓取路徑匹配到了禁止抓取關(guān)鍵詞則返回404或者403
if(preg_match_all($Spider_UA,$UA) && preg_match_all($Deny_path,$Request_uri)) {
//header('HTTP/1.1 404 Not Found');
//header("status: 404 Not Found");
header('HTTP/1.1 403 Forbidden');
header("status: 403 Forbidden");
}
}
}
寫在最后,我在發(fā)布這個(gè)篇文章時(shí),發(fā)現(xiàn)發(fā)布按鈕是灰色不可用的。用控制臺(tái)檢查發(fā)現(xiàn)有錯(cuò)誤:Failed to load resource: the server responded with a status of 403 ()
原來是上面規(guī)則中訪問后臺(tái)目錄會(huì)出現(xiàn)403錯(cuò)誤。把后臺(tái)目錄從上面規(guī)則里刪除即可。
聲明:
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請(qǐng)聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁格式,轉(zhuǎn)載時(shí)請(qǐng)標(biāo)注作者與來源。
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請(qǐng)聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁格式,轉(zhuǎn)載時(shí)請(qǐng)標(biāo)注作者與來源。
THE END