robots.txt是放在網站根目錄的一個文本文件,它是一個被Google等搜索引擎廣泛承認的協議,允許網站管理員自己定義網站上那些頁面是可以被搜索引擎索引或收錄的,也可以指明網站站點地圖的位置。在進行Robots.txt使用過程中需要注意一些事項,文章將針對這些事項,進行基本介紹。
用Robots.txt阻止指定頁面
robots.txt最常用的方式是用來阻止Google等搜索引擎蜘蛛爬行網站指定的頁面。最簡單的規則是允許所有的頁面都可以被搜索引擎抓取,即代碼:“User-agent: *”,用“Disallow: /example.html”來阻止搜索引擎抓取example.html頁面。
User-agent: *
Disallow: /example.html
用Robots.txt阻止指定文件夾
如果Disallow的參數是以斜杠“/”結尾的,則表示阻止搜索引擎蜘蛛爬行整個文件夾。
User-agent: *
Disallow: /example/
上面兩句代碼表示example文件夾下的所有頁面都不會被搜索引擎抓取。
用Robots.txt允許特定頁面
robots.txt不僅可以阻止指定路徑,也可以用來告訴搜索引擎蜘蛛哪些頁面可以被索引。小提示:默認情況下網站所有的頁面都是可被抓取的。
User-agent: *
Disallow: /example/
Allow: /example/hello.html
上面用Allow來覆蓋掉Disallow指令,意思是example目錄下僅允許抓取hello.html這個頁面。
用Robots.txt阻止指定的搜索引擎
上面我們提到的指令對所有搜索引擎都是一樣的,然而,我們可以用“User-agent:”來限制這些適用這些規則的搜索引擎。
User-agent: googlebot
Disallow: /example/
用googlebot代替“*”號來阻止Google蜘蛛抓取example目錄,但其它搜索引擎可以正常爬行這個目錄。
Robots.txt基本通配符
通配符對于一系列具有部份相同路徑的網頁是非常有用的,用“*”號來表示0個或多個任何有效的字符(包括斜杠、問號等)
例如:“Disallow: news*.html”將會阻止:
news.html
news1.html
news123.html
newsabc.html?id=1
但是不會阻止:
newshtm (少了一個點“.”)
News.html (大小寫敏感)
/example/news.html
用Robots.txt阻止特定參數
通配符也會經常被用來阻止包含特定參數的頁面被搜索引擎抓取,例如我們只允許搜索引擎三級目錄,類似/dir1/dir2/dir3/的三層結構,當添加第四級目錄時變為/dir1/dir2/dir3/dir4/?crawl=no。這時可以用規則“*crawl=no”來阻止第四級目錄。
用Robots.txt匹配指定文件名
有時候我們可能想阻止搜索引擎抓取特定的文件,比如說圖片。但需要特別注意的是,robots指令寫不規范可能會把sample-of-jpg.html這些頁面可阻止了。這時候就要用到結束標志“$”了:
User-agent: *
Disallow: *.jpg$
結束標志“$”也可以用于其它規則,比如“Disallow: /example.html”會把“/example.html?sort=asc”也給阻止了,這時候在htm后面加上結束標志“$”就不會出現類似錯誤了。
用Robots.txt添加站點地圖
很多網站的robots.txt文件的最后一行都會指明網站的站點地圖文件位置,因為搜索引擎訪問網站時首先會檢查根目錄下是否有robots.txt,在robots.txt文件中列出站點地圖文件位置就方便搜索引擎更好的抓取網站的每一個頁面,比如:
User-agent: *
Sitemap: http://www.seoteacher.cn/sitemap.xml
實際上你可以添加多個站點地圖文件,只要每一行對應一個文件。
新聞熱點
疑難解答