網站Robots.txt文件對SEO有什麼用

壹萬小時探索 發佈 2024-03-02T17:28:55.399675+00:00

如果用對了,可以確保搜尋引擎機器人正確抓取和索引你的網站頁面。如果用錯了,可能會對SEO排名和網站流量造成負面影響,那怎麼設置robots.txt文件才算正確?

robots.txt,是一個給搜尋引擎機器人下指令的文本文件,用於SEO優化。

如果用對了,可以確保搜尋引擎機器人(也叫爬蟲或蜘蛛)正確抓取和索引你的網站頁面。

如果用錯了,可能會對SEO排名和網站流量造成負面影響,那怎麼設置robots.txt文件才算正確?今天就和大家分享下一點心得,內容主要包括以下幾個方面。

1. robots.txt是什麼?

robots.txt是一個放在網站根目錄的純文本文件,需要自己添加,如下圖所示。

如果你網站的域名是www.abc.com,robots.txt的查看地址是www.abc.com/robots.txt。

robots.txt里包含了一組搜尋引擎機器人指令。

當搜尋引擎機器人訪問你網站時,首先會查看robots.txt文件里的內容,然後根據robots.txt的指示進行網站頁面的抓取和索引,進而收錄某些頁面,或不收錄某些頁面。

需要注意的是,robot.txt文件不是那種強制性、必須要做的設置。至於做與不做,為什麼要做,做了有什麼用,我接下來為大家詳細解釋。

2. robots.txt對SEO有什麼用?

簡單的說,robots.txt有兩個功能,允許和阻止搜尋引擎機器人抓取你的網站頁面。如果沒有的話,搜尋引擎機器人將對整個網站進行爬行,包括網站根目錄的所有數據內容。

具體的工作原理可以參考elliance的說明,如下圖所示。

1993年,網際網路才起步沒多久,能被發現的網站少之又少,Matthew Gray編寫了一個蜘蛛爬蟲程序World Wide Web Wanderer,目的是發現收集新網站做網站目錄。

但後面搞爬蟲的人不僅是收集網站目錄這麼簡單,還會抓取下載大量網站數據。

同年7月,Aliweb創始人Martijn Koster的網站數據被惡意抓取,於是他提出了robots協議。

目的是告訴蜘蛛爬蟲,哪些網頁可以爬行,哪些網頁不可以爬行,特別是那些不想被人看到的網站數據頁面。經過一系列的討論,robots.txt正式走上歷史舞台。

從SEO角度來說,剛上線的網站,由於頁面較少,robots.txt做不做都可以,但隨著頁面的增加,robots.txt的SEO作用就體現出來了,主要表現在以下幾個方面。

  • 優化搜尋引擎機器人的爬行抓取
  • 阻止惡意抓取,優化伺服器資源
  • 減少重複內容出現在搜索結果中
  • 隱藏頁面連結出現在搜索結果中

3. robots.txt怎麼寫才符合SEO優化?

首先,robots.txt文件沒有默認格式。

robots.txt的寫法包括User-agent,Disallow,Allow和Crawl-delay。

  • User-agent: 後面填你要針對的搜尋引擎,*代表全部搜尋引擎
  • Disallow: 後面填你要禁止抓取的網站內容和文件夾,/做前綴
  • Allow: 後面填你允許抓取的網站內容,文件夾和連結,/做前綴
  • Crawl-delay: 後面填數字,意思是抓取延遲,小網站不建議使用

舉個例子,如果你要禁止谷歌機器人抓取你網站的分類,寫法如下:

User-agent: googlebot
Disallow: /category/

舉個例子,如果你要禁止所有搜索引起抓取wp登陸連結,寫法如下:

User-agent: *
Disallow: /wp-admin/

舉個例子,如果你只允許谷歌圖片抓取你的wp網站圖片,寫法如下:

User-agent: Googlebot-Image
Allow: /wp-content/uploads/

更具體的寫法,大家可以參考谷歌robots.txt官方文檔,如下圖所示。

雖然這些寫法指令看上去很複雜,但只要你使用的是WordPress,就會變的簡單許多,畢竟wp是谷歌的親兒子,就SEO而言WordPress網站的robots.txt最佳寫法如下,需要用文本編輯。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.yourdomain.com/sitemap.xml

或者是下面這個樣子。

User-agent: *
Allow: /
Sitemap: https://www.yourdomain.com/sitemap.xml

兩者的區別是要不要禁止抓取/wp-admin/。

關於/wp-admin/,2012年WordPress增加了一個新標記@header( 『X-Robots-Tag: noindex』 ),效果和用robots.txt禁止抓取/wp-admin/一樣,如果還是不放心的話,可以加上。

至於其它不想被搜尋引擎抓取的網站內容和連結,根據自己網站的需求來做就行了。

可以使用robots.txt禁止抓取,也可以使用Meta Robots做Noindex。我個人的看法是wp程序自帶連結用Meta Robots,需要隱藏的網站內容頁面用robots.txt。

總結

接下來要做的是把寫好的robots.txt文件添加到WordPress網站。

根據我自己的經驗,robots.txt的指令越少越好,在我還是小白的時候看了一些大神的文章,把很多文件目錄和網站內容都禁止了,特別是/wp-includes/,直接導致JS和CSS無法正常運行。

最後,要注意的是robots.txt文件里的指令是分大小寫的,不要弄錯了。

關鍵字: