第一種、robots.txt方法
搜索引擎默認的遵守robots.txt協議,創建robots.txt文本文件放至網站根目錄下,編輯代碼如下:
User-agent: *
Disallow: /
通過以上代碼,即可告訴搜索引擎不要抓取采取收錄本網站,注意慎用如上代碼:這將禁止所有搜索引擎訪問網站的任何部分。
如何只禁止百度搜索引擎收錄抓取網頁
1、編輯robots.txt文件,設計標記為:
User-agent: Baiduspider
Disallow: /
以上robots文件將實現禁止所有來自百度的抓取。
這里說一下百度的user-agent,Baiduspider的user-agent是什么?
百度各個產品使用不同的user-agent:
產品名稱 對應user-agent
無線搜索 Baiduspider
圖片搜索 Baiduspider-image
視頻搜索 Baiduspider-video
新聞搜索 Baiduspider-news
百度搜藏 Baiduspider-favo
百度聯盟 Baiduspider-cpro
商務搜索 Baiduspider-ads
網頁以及其他搜索 Baiduspider
你可以根據各產品不同的user-agent設置不同的抓取規則,以下robots實現禁止所有來自百度的抓取但允許圖片搜索抓取/image/目錄:
User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-image
Allow: /image/
請注意:Baiduspider-cpro和Baiduspider-ads抓取的網頁并不會建入索引,只是執行與客戶約定的操作,所以不遵守robots協議,這個就需要和百度的人聯系才能解決了。
如何只禁止Google搜索引擎收錄抓取網頁,方法如下:
編輯robots.txt文件,設計標記為:
User-agent: googlebot
Disallow: /
編輯robots.txt文件
搜索引擎默認的遵守robots.txt協議
robots.txt文件放在網站根目錄下。
舉例來說,當搜索引擎訪問一個網站時,首先會檢查該網站根目錄中是否存在robots.txt這個文件,如果搜索引擎找到這個文件,它就會根據這個文件里的內容,來確定它抓取的權限的范圍。
User-agent:
該項的值用于描述搜索引擎robot的名字,在”robots.txt”文件中,如果有多條User-agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在”robots.txt”文件中,”User-agent:*”這樣的記錄只能有一條。
Disallow:
該項的值用于描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如”Disallow:/help”對/help.html 和/help/index.html都不允許搜索引擎訪問,而”Disallow:/help/”則允許robot訪問/help.html,而不能訪問/help/index.html。任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在”/robots.txt”文件中,至少要有一條Disallow記錄。如果”/robots.txt”是一個空文件,則對于所有的搜索引擎robot,該網站都是開放的。
下面舉幾個robots.txt用法的例子:
User-agent: *
Disallow: /
禁止所有搜索引擎訪問網站的所有部分
User-agent: Baiduspider
Disallow: /
禁止百度收錄全站
User-agent: Googlebot
Disallow: /
禁止Google收錄全站
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
禁止除Google外的一切搜索引擎收錄全站
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
禁止除百度外的一切搜索引擎收錄全站
User-agent: *
Disallow: /css/
Disallow: /admin/
禁止所有搜索引擎訪問某個目錄
(例如禁止根目錄下的admin和css)
第二種、網頁代碼方法
在網站首頁代碼head>與/head>之間,加入meta name="robots" content="noarchive">代碼,此標記禁止搜索引擎抓取網站并顯示網頁快照。
在網站首頁代碼head>與/head>之間,加入meta name="Baiduspider" content="noarchive">即可禁止百度搜索引擎抓取網站并顯示網頁快照。
在網站首頁代碼head>與/head>之間,加入meta name="googlebot" content="noarchive">即可禁止谷歌搜索引擎抓取網站并顯示網頁快照。
另外當我們的需求很怪異的時候,比如下面這幾種情況:
1. 網站已經加了robots.txt,還能在百度搜索出來?
因為搜索引擎索引數據庫的更新需要時間。雖然Baiduspider已經停止訪問您網站上的網頁,但百度搜索引擎數據庫中已經建立的網頁索引信息,可能需要數月時間才會清除。另外也請檢查您的robots配置是否正確。如果您的拒絕被收錄需求非常急迫,也可以通過投訴平臺反饋請求處理。
2. 希望網站內容被百度索引但不被保存快照,我該怎么做?
Baiduspider遵守互聯網meta robots協議。您可以利用網頁meta的設置,使百度顯示只對該網頁建索引,但并不在搜索結果中顯示該網頁的快照。和robots的更新一樣,因為搜索引擎索引數據庫的更新需要時間,所以雖然您已經在網頁中通過meta禁止了百度在搜索結果中顯示該網頁的快照,但百度搜索引擎數據庫中如果已經建立了網頁索引信息,可能需要二至四周才會在線上生效。
希望被百度索引,但是不保存網站快照,如下代碼解決:
meta name="Baiduspider" content="noarchive">
如果要禁止所有的搜索引擎保存你網頁的快照,那么代碼就是下面的:
meta name="robots" content="noarchive">
常用的一些代碼組合:
META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">:可以抓取本頁,而且可以順著本頁繼續索引別的鏈接
META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">:不許抓取本頁,但是可以順著本頁抓取索引別的鏈接
META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">:可以抓取本頁,但是不許順著本頁抓取索引別的鏈接
META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">:不許抓取本頁,也不許順著本頁抓取索引別的鏈接