共計(jì) 2916 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。
robots.txt 文件是一個(gè)文本文件,使用任何一個(gè)常見(jiàn)的文本編輯器,比如 Windows 系統(tǒng)自帶的 Notepad,就可以創(chuàng)建和編輯它。robots.txt 是一個(gè)協(xié)議,而不是一個(gè)命令。robots.txt 是搜索引擎訪問(wèn)網(wǎng)站的時(shí)候要查看的第一個(gè)文件。robots.txt 文件告訴蜘蛛程序在服務(wù)器上什么文件是可以被查看的。
robots.txt 協(xié)議是當(dāng)一個(gè)搜索蜘蛛訪問(wèn)一個(gè)站點(diǎn)時(shí),它會(huì)首先檢查該站點(diǎn)根目錄下是否存在 robots.txt,如果存在,搜索機(jī)器人就會(huì)按照該文件中的內(nèi)容來(lái)確定訪問(wèn)的范圍; 如果該文件不存在,所有的搜索蜘蛛將能夠訪問(wèn)網(wǎng)站上所有沒(méi)有被口令保護(hù)的頁(yè)面。百度官方建議,僅當(dāng)您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用 robots.txt 文件。如果您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請(qǐng)勿建立 robots.txt 文件。
robots.txt 怎么寫(xiě):robots.txt 寫(xiě)法視頻教程
robots.txt 作用是告訴蜘蛛哪些文件可以爬取,哪些不可以爬取。
User-agent: * 這里的 * 代表的所有的搜索引擎種類(lèi),* 是一個(gè)通配符
Disallow: /admin/ 這里定義是禁止爬尋 admin 目錄下面的目錄
Disallow: /require/ 這里定義是禁止爬尋 require 目錄下面的目錄
Disallow: /ABC/ 這里定義是禁止爬尋 ABC 目錄下面的目錄
Disallow: /cgi-bin/*.htm 禁止訪問(wèn) /cgi-bin/ 目錄下的所有以 ”.htm” 為后綴的 URL(包含子目錄)。
Disallow: /*?* 禁止訪問(wèn)網(wǎng)站中所有包含問(wèn)號(hào) (?) 的網(wǎng)址
Disallow: /.jpg$ 禁止抓取網(wǎng)頁(yè)所有的.jpg 格式的圖片
Disallow:/ab/adc.html 禁止爬取 ab 文件夾下面的 adc.html 文件。
Allow: /cgi-bin/ 這里定義是允許爬尋 cgi-bin 目錄下面的目錄
Allow: /tmp 這里定義是允許爬尋 tmp 的整個(gè)目錄
Allow: .htm$ 僅允許訪問(wèn)以 ”.htm” 為后綴的 URL。
Allow: .gif$ 允許抓取網(wǎng)頁(yè)和 gif 格式圖片
Sitemap: 網(wǎng)站地圖 告訴爬蟲(chóng)這個(gè)頁(yè)面是網(wǎng)站地圖
robots.txt 文件用法
例 1. 禁止所有搜索引擎訪問(wèn)網(wǎng)站的任何部分
User-agent: *
Disallow: /
實(shí)例分析:淘寶網(wǎng)的 Robots.txt 文件
User-agent: Baiduspider
Disallow: /
User-agent: baiduspider
Disallow: /
很顯然淘寶不允許百度的機(jī)器人訪問(wèn)其網(wǎng)站下其所有的目錄。
例 2. 允許所有的 robot 訪問(wèn) (或者也可以建一個(gè)空文件“/robots.txt”file)
User-agent: *
Allow: /
例 3. 禁止某個(gè)搜索引擎的訪問(wèn)
User-agent: BadBot
Disallow: /
例 4. 允許某個(gè)搜索引擎的訪問(wèn)
User-agent: Baiduspider
allow:/
例 5. 一個(gè)簡(jiǎn)單例子
在這個(gè)例子中,該網(wǎng)站有三個(gè)目錄對(duì)搜索引擎的訪問(wèn)做了限制,即搜索引擎不會(huì)訪問(wèn)這三個(gè)目錄。
需要注意的是對(duì)每一個(gè)目錄必須分開(kāi)聲明,而不要寫(xiě)成“Disallow: /cgi-bin/ /tmp/”。
User-agent: 后的 * 具有特殊的含義,代表“any robot”,所以在該文件中不能有“Disallow: /tmp/*”or“Disallow:*.gif”這樣的記錄出現(xiàn)。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
Robot 特殊參數(shù):
允許 Googlebot:
如果您要攔截除 Googlebot 以外的所有漫游器不能訪問(wèn)您的網(wǎng)頁(yè),可以使用下列語(yǔ)法:
User-agent:
Disallow: /
User-agent: Googlebot
Disallow:
Googlebot 跟隨指向它自己的行,而不是指向所有漫游器的行。
“Allow”擴(kuò)展名:
Googlebot 可識(shí)別稱(chēng)為“Allow”的 robots.txt 標(biāo)準(zhǔn)擴(kuò)展名。其他搜索引擎的漫游器可能無(wú)法識(shí)別此擴(kuò)展名,因此請(qǐng)使用您感興趣的其他搜索引擎進(jìn)行查找。“Allow”行的作用原理完全與“Disallow”行一樣。只需列出您要允許的目錄或頁(yè)面即可。
您也可以同時(shí)使用“Disallow”和“Allow”。例如,要攔截子目錄中某個(gè)頁(yè)面之外的其他所有頁(yè)面,可以使用下列條目:
User-agent: Googlebot
Allow: /folder1/myfile.html
Disallow: /folder1/
這些條目將攔截 folder1 目錄內(nèi)除 myfile.html 之外的所有頁(yè)面。
如果您要攔截 Googlebot 并允許 Google 的另一個(gè)漫游器 (如 Googlebot-Mobile),可使用”Allow”規(guī)則允許該漫游器的訪問(wèn)。例如:
User-agent: Googlebot
Disallow: /
User-agent: Googlebot-Mobile
Allow:
使用 * 號(hào)匹配字符序列:
您可使用星號(hào) (*) 來(lái)匹配字符序列。例如,要攔截對(duì)所有以 private 開(kāi)頭的子目錄的訪問(wèn),可使用下列條目:User-Agent: Googlebot
Disallow: /private*/
要攔截對(duì)所有包含問(wèn)號(hào) (?) 的網(wǎng)址的訪問(wèn),可使用下列條目:
User-agent: *
Disallow: /*?*
使用 $ 匹配網(wǎng)址的結(jié)束字符
您可使用 $ 字符指定與網(wǎng)址的結(jié)束字符進(jìn)行匹配。例如,要攔截以 .asp 結(jié)尾的網(wǎng)址,可使用下列條目:User-agent: Googlebot
Disallow: /*.asp$
您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 表示一個(gè)會(huì)話 ID,您可排除所有包含該 ID 的網(wǎng)址,確保 Googlebot 不會(huì)抓取重復(fù)的網(wǎng)頁(yè)。但是,以 ? 結(jié)尾的網(wǎng)址可能是您要包含的網(wǎng)頁(yè)版本。在此情況下,可對(duì) robots.txt 文件進(jìn)行如下設(shè)置:
User-agent: *
Allow: /*?$
Disallow: /*?
Disallow: / *?
一行將攔截包含 ? 的網(wǎng)址 (具體而言,它將攔截所有以您的域名開(kāi)頭、后接任意字符串,然后是問(wèn)號(hào) (?),而后又是任意字符串的網(wǎng)址 )。
Allow: /*?$ 一行將允許包含任何以 ? 結(jié)尾的網(wǎng)址 (具體而言,它將允許包含所有以您的域名開(kāi)頭、后接任意字符串,然后是問(wèn)號(hào) (?),問(wèn)號(hào)之后沒(méi)有任何字符的網(wǎng)址 )。
盡管 robots.txt 已經(jīng)存在很多年了,但是各大搜索引擎對(duì)它的解讀都有細(xì)微差別。Google 與百度都分別在自己的站長(zhǎng)工具中提供了 robots 工具。如果您編寫(xiě)了 robots.txt 文件,建議您在這兩個(gè)工具中都進(jìn)行測(cè)試,因?yàn)檫@兩者的解析實(shí)現(xiàn)確實(shí)有細(xì)微差別 [1]。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!