青海小程序開發
網站的Robots規則如何寫才正確?

日期:2024-01-25 10:06:26 作者:青海青晟網絡科技有限公司

瀏覽量:1050次

網站的Robots規則如何寫才正確?

Robots協議用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓??;可以屏蔽一些網站中比較大的文件,如:圖片,音樂,視頻等,節省服務器帶寬;可以屏蔽站點的一些死鏈接。方便搜索引擎抓取網站內容;設置網站地圖連接,方便引導蜘蛛爬取頁面。下面是Robots文件寫法及文件用法。


robots2.png

一、文件寫法

User-agent: * 這里的*代表的所有的搜索引擎種類,*是一個通配符

Disallow: /admin/ 這里定義是禁止爬尋admin目錄下面的目錄

Disallow: /require/ 這里定義是禁止爬尋require目錄下面的目錄

Disallow: /ABC/ 這里定義是禁止爬尋ABC目錄下面的目錄

Disallow: /cgi-bin/*.htm 禁止訪問/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。

Disallow: /*?* 禁止訪問網站中所有包含問號 (?) 的網址

Disallow: /.jpg$ 禁止抓取網頁所有的。jpg格式的圖片

Disallow:/ab/adc.html 禁止爬取ab文件夾下面的adc.html文件。

Allow: /cgi-bin/ 這里定義是允許爬尋cgi-bin目錄下面的目錄

Allow: /tmp 這里定義是允許爬尋tmp的整個目錄

Allow: .htm$ 僅允許訪問以".htm"為后綴的URL。

Allow: .gif$ 允許抓取網頁和gif格式圖片

Sitemap: 網站地圖 告訴爬蟲這個頁面是網站地圖

robots1.png


二、文件用法

例1. 禁止所有搜索引擎訪問網站的任何部分

User-agent: *

Disallow: /

實例分析:淘寶網的 Robots.txt文件

User-agent: Baiduspider

Disallow: /

User-agent: baiduspider

Disallow: /

很顯然淘寶不允許百度的機器人訪問其網站下其所有的目錄。

例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file)

User-agent: *

Allow: /

例3. 禁止某個搜索引擎的訪問

User-agent: BadBot

Disallow: /

例4. 允許某個搜索引擎的訪問

User-agent: Baiduspider

allow:/

例5.一個簡單例子

在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。

需要注意的是對每一個目錄必須分開聲明,而不要寫成 “Disallow: /cgi-bin/ /tmp/”。

User-agent:后的*具有特殊的含義,代表“any robot”,所以在該文件中不能有“Disallow: /tmp/*” or “Disallow:*.gif”這樣的記錄出現。

User-agent: *

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~joe/

Robot特殊參數:

允許 Googlebot:

如果您要攔截除Googlebot以外的所有漫游器不能訪問您的網頁,可以使用下列語法:

User-agent:

Disallow: /

User-agent: Googlebot

Disallow:

Googlebot 跟隨指向它自己的行,而不是指向所有漫游器的行。

“Allow”擴展名:

Googlebot 可識別稱為“Allow”的 robots.txt 標準擴展名。其他搜索引擎的漫游器可能無法識別此擴展名,因此請使用您感興趣的其他搜索引擎進行查找?!癆llow”行的作用原理完全與“Disallow”行一樣。只需列出您要允許的目錄或頁面即可。

您也可以同時使用“Disallow”和“Allow”。例如,要攔截子目錄中某個頁面之外的其他所有頁面,可以使用下列條目:

User-agent: Googlebot

Allow: /folder1/myfile.html

Disallow: /folder1/

這些條目將攔截 folder1 目錄內除 myfile.html 之外的所有頁面。

如果您要攔截 Googlebot 并允許 Google 的另一個漫游器(如 Googlebot-Mobile),可使用”Allow”規則允許該漫游器的訪問。例如:

User-agent: Googlebot

Disallow: /

User-agent: Googlebot-Mobile

Allow:

使用 * 號匹配字符序列:

您可使用星號 (*) 來匹配字符序列。例如,要攔截對所有以 private 開頭的子目錄的訪問,可使用下列條目: User-Agent: Googlebot

Disallow: /private*/

要攔截對所有包含問號 (?) 的網址的訪問,可使用下列條目:

User-agent: *

Disallow: /*?*

使用 $ 匹配網址的結束字符

您可使用 $字符指定與網址的結束字符進行匹配。例如,要攔截以 .asp 結尾的網址,可使用下列條目: User-agent: Googlebot

Disallow: /*.asp$

您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 表示一個會話 ID,您可排除所有包含該 ID 的網址,確保 Googlebot 不會抓取重復的網頁。但是,以 ? 結尾的網址可能是您要包含的網頁版本。在此情況下,可對 robots.txt 文件進行如下設置:

User-agent: *

Allow: /*?$

Disallow: /*?

Disallow: / *?

一行將攔截包含 ? 的網址(具體而言,它將攔截所有以您的域名開頭、后接任意字符串,然后是問號 (?),而后又是任意字符串的網址)。

Allow: /*?$ 一行將允許包含任何以 ? 結尾的網址(具體而言,它將允許包含所有以您的域名開頭、后接任意字符串,然后是問號 (?),問號之后沒有任何字符的網址)。

Robots協議舉例

禁止所有機器人訪問User-agent:*Disallow:/

允許所有機器人訪問User-agent:*Disallow:

禁止特定機器人訪問User-agent:BadBotDisallow:/

允許特定機器人訪問User-agent:GoodBotDisallow:

禁止訪問特定目錄User-agent:*Disallow:/images/

僅允許訪問特定目錄User-agent:*Allow:/images/Disallow:/

禁止訪問特定文件User-agent:*Disallow:/*.html$

僅允許訪問特定文件User-agent:*Allow:/*.html$Disallow:/

盡管robots.txt已經存在很多年了,但是各大搜索引擎對它的解讀都有細微差別。Google與百度都分別在自己的站長工具中提供了robots工具。如果您編寫了robots.txt文件,建議您在這兩個工具中都進行測試,因為這兩者的解析實現確實有細微差別。

更多青晟網絡資訊請登錄官方網站:http://www.bbautomation.cn或者http://www.qhqswl.cn




下一個項目 · 由你講述

聯系我們
服務熱線
服務熱線:15009714454
TOP