如何使用.htaccess擋掉搜尋引擎機器人?

相信很多網站常常遭到流量爆掉導致於主機需要加錢,或是月底常常流量不敷使用被主機商停掉。若有這些問題的使用者不知是否有想過是哪些問題讓流量變大的呢?通常流量會變大可能是檔案被盜連或者是搜尋引擎機器人大量爬你的網站造成讀取量過大,造成流量不夠使用,因此我們就得透過.htaccess擋掉可怕的搜尋機器人!

如果你是租用無限流量虛擬主機,基本上就不用太擔心流量問題,因為不會有流量爆掉的問題,但是也不要因此僥倖,因為很可能CPU Time超過被停空間。所以當流量異常過大時一定要設法找出增加流量的原因,若是不正常增加一定要設法去擋下不正常增加的途徑。

通常檢查方法就是去看一些流量報表,像是Google分析或是Yahoo站長工具,透過這些專業的分析工具幫你查看看到底流量是哪邊來的最多?如果你是cPanel,則可以透過後台的Analog來看流量分析資料。

最常見的流量不正常增加應該是圖片或是檔案被盜連,當然若有此問題你可以透過.htaccess來防止盜連問題,至於該怎防護大家可以參考這篇:如何用.htaccess防止圖片、檔案盜連?

除了檔案被盜會大大增加流量外,還有可能是網站遭受到太多的搜尋引擎來訪。蠻多論壇常常發生流量不敷使的問題,通常原因就是檔案遭盜連以及搜尋引擎機器人太多,導致論壇資源被吃光。因此快來封鎖一些搜尋引擎吧!

建立「htaccess.txt」文字文件

首先一定要建立一個htaccess.txt文件,你可以用筆記本或者是Notepad++建立都可以,建立完成後請按照下方你需要擋的搜尋引擎,將語法加入檔案中。

使用.htaccess擋掉搜尋引擎機器人

擋掉百度暴力搜尋引擎

通常很吃流量的搜尋引擎都是百度,它是傳說中的暴力搜尋引擎,不遵守搜尋引擎的規則,若你嘗試使用robot.txt來擋住,那非常恭喜你,絕對無效。所以一定要使用比較暴力、強硬的手段才能,因此透過.htaccess就可以處理了,如果你要擋掉大陸的一些搜尋引擎(像是百度、搜狗等),那請將以下程式碼貼到htaccess.txt檔案中。

#擋掉百度

SetEnvIfNoCase User-Agent "^Baidu" bad_bot
SetEnvIfNoCase User-Agent "^sogou" bad_bot
SetEnvIfNoCase User-Agent "^Bloghoo" bad_bot
SetEnvIfNoCase User-Agent "^Scooter" bad_bot
Deny from env=bad_bot

使用.htaccess擋掉搜尋引擎機器人

擋掉Google搜尋引擎

如果你想要擋掉Google搜尋引擎,當然也可以透過.htaccsee擋掉,只要輸入以下程式碼就可以了,如果要連同暴力百度搜尋引擎一起封鎖,那就把這兩串程式碼放在同一個htaccsee.txt檔案中。

#擋掉Google
SetEnvIf User-Agent "^Googlebot" google
Deny from env=google

上傳並更名為.htaccess檔案

接著請上傳剛剛設定好的htaccess.txt檔案,然後將檔案上傳到網站根目錄,也就是放在「public_html」目錄下,接著將檔案名稱改成「.htaccess」,這樣就完成設定阻擋搜尋引擎囉!

使用.htaccess擋掉搜尋引擎機器人

網站上已經有.htaccess檔案

如果你網站上本來已經有.htaccess檔案,若仍想要擋掉搜尋引擎,那請您忽略剛剛前面說的建立「htaccess.txt」文字文件,您只要到FTP中去下載您原本的.htaccess檔案,下載後請開起該檔案,在以不破壞原本.htaccess結構的前提下,將阻擋搜尋引擎的程式碼加在檔案內,一般來說你可以加在檔案尾部或是前頭,千萬不要安插到原本的架構中,否則網站將會發生錯誤。

使用.htaccess擋掉搜尋引擎機器人