robots.txt 如何設定以提升 SEO

以下內容將以 robots.txt 的完整設定與如何提升 SEO 為主軸,帶領你從基礎概念到進階應用,一步步了解 robots.txt 的使用方式與最佳實踐。本文使用繁體中文進行說明,並保持內容專業且易於理解。


一、什麼是 robots.txt?

robots.txt 是一個放在網站根目錄(通常為 https://www.example.com/robots.txt)的純文字檔案,用來告訴搜尋引擎(如 Google、Bing、Yahoo 等)或其他爬蟲(crawlers、robots)哪些頁面或資源可以被抓取(crawl),哪些需要被排除。它是搜尋引擎第一個會去尋找的檔案之一,用於指引爬蟲行為。

為什麼需要 robots.txt?

  1. 控制爬蟲行為
    不希望所有內容都被索引時,可以使用 robots.txt 來限制特定的路徑、檔案或資源(例如後台管理頁面)。
  2. 節省伺服器資源
    大型網站或有大量頁面時,不必要的抓取會耗費伺服器頻寬與資源,robots.txt 能協助排除重複或無關頁面。
  3. 避免不必要的曝光
    一些敏感或私密性較高的檔案(如測試環境、系統檔案)可以透過 robots.txt 避免被搜尋引擎抓取與索引。

重要提醒robots.txt 只是一種協議,並不具備權威或法律約束力。惡意爬蟲可能依然會忽略它。若真的需要保護檔案安全,應考慮伺服器端的驗證機制或防火牆,而不僅僅依賴 robots.txt。


二、基本語法與範例

1. 基本語法結構

  • User-agent: 指定要對哪個爬蟲(User-agent)套用規則。
  • Allow: 允許抓取特定路徑。
  • Disallow: 禁止抓取特定路徑。
  • Sitemap: 提示搜尋引擎站點地圖(通常放在網站根目錄或其他指定位置)。

範例 (robots.txt 範本)

User-agent: *
Disallow: /admin/
Allow: /admin/help-docs/
Sitemap: https://www.example.com/sitemap.xml

解釋

  • User-agent: *:代表此規則適用於所有爬蟲。
  • Disallow: /admin/:禁止爬蟲抓取 /admin/ 路徑底下所有內容。
  • Allow: /admin/help-docs/:即使在 /admin/ 之下,也允許爬蟲抓取 help-docs/ 這個資料夾。
  • Sitemap: ...:指定網站的站點地圖位置,協助搜尋引擎更有效率地抓取網站。

2. 多組 User-agent 的示範

User-agent: Googlebot
Disallow: /private/

User-agent: Bingbot
Disallow: /test/

User-agent: *
Disallow: /tmp/

解釋

  • 若是來自 Googlebot 的爬蟲(Google 搜尋引擎),禁止其抓取 /private/
  • 若是來自 Bingbot 的爬蟲(Bing 搜尋引擎),禁止其抓取 /test/
  • 其他所有爬蟲禁止抓取 /tmp/

3. 通配符(Wildcard)語法

在某些情況下,你會遇到想要擋住或開放某些具有相同字串模式的 URL。這時可用 * 做為通配符。

  • Disallow: /*.pdf:禁止抓取所有 .pdf 檔案。
  • Disallow: /folder/*?sessionid=:禁止抓取帶有 sessionid= 參數的網址。

注意:並非所有搜尋引擎都支援複雜的通配符寫法,但 Googlebot 與大部分主流搜尋引擎基本的 * 仍是可行的。


三、如何正確設定 robots.txt?

1. 放置位置

確保 robots.txt 檔案放在網站的根目錄,例如:

https://www.example.com/robots.txt

若你的網站有分不同子網域(subdomain),則每個子網域可擁有自己的 robots.txt,例如:

https://shop.example.com/robots.txt
https://blog.example.com/robots.txt

這些檔案不會互相影響。

2. 注意大小寫

檔案名稱必須全部小寫:robots.txt(而不是 Robots.txtRobots.TXT)。
URL 路徑的大小寫,也要保持一致,因為多數伺服器對大小寫敏感。

3. 檔案編碼

最好使用 UTF-8 編碼存檔,確保搜尋引擎可以正確解析。

4. 測試與驗證

  • Google Search Console(以前稱為「網站管理員工具」)提供了「robots.txt 測試工具」,能即時驗證檔案設定是否正確。
  • 也可以直接在瀏覽器中開啟 robots.txt 的網址,檢視設定內容是否為最新版本。

四、常見錯誤與避免方式

  1. 直接禁止所有爬蟲抓整站
    User-agent: *
    Disallow: /
    
    這行設定會讓整個網站都不被搜尋引擎爬取,導致網站完全不會出現在搜尋結果中。若你要「暫時」阻擋抓取用於測試,務必在上線前移除或調整。
  2. 錯誤放置路徑
    有些站長希望禁止 /admin,卻誤寫成 /admin(少了斜線),或將 DisallowAllow 的位置寫混。
    正確Disallow: /admin/
    錯誤Disallow: admin
  3. 只用 robots.txt 想保護敏感檔案
    例如:
    User-agent: *
    Disallow: /config.php
    
    雖然搜尋引擎不會索引該檔,但並不表示該檔案就「安全」或「無法被檢視」。只要知道 URL,仍能直接連線看到內容。重要檔案應使用伺服器權限或其他安全機制來保護。

五、SEO 提升技巧與建議

  1. 善用 Allow 配合 Disallow
    大多數情況,只要設定 Disallow 即可。但若在被禁止的路徑下,有部分資料夾或檔案是值得搜尋引擎抓取的,可搭配 Allow 明確開放。
    User-agent: *
    Disallow: /admin/
    Allow: /admin/help-docs/
    
  2. 盡量避免阻擋需要被索引的檔案
    若檔案或資料夾中包含重要內容(例如可引導使用者或有關鍵字優勢的頁面),不應該透過 Disallow 全部禁止。
    若不確定哪些內容該擋,建議先觀察網站流量與搜尋流量(可利用 Google Analytics、Search Console 等工具),再行調整。
  3. 使用 Sitemap 指引爬蟲
    在 robots.txt 中指定你的網站地圖位置,有助於搜尋引擎更快速發現所有重要頁面。尤其大規模網站或多層級結構時,更能提升抓取效率。
    Sitemap: https://www.example.com/sitemap.xml
    
  4. 定期檢視抓取狀態與錯誤
    • 在 Google Search Console「抓取狀況」或「索引涵蓋範圍」中,了解哪些頁面被擋下、哪些被成功抓取,是否有出現預期外的阻擋。
    • 若網站架構改版,調整目錄時,一定要同步更新 robots.txt。
  5. 考量 Crawl Budget(爬蟲預算)
    大型網站或經常更新的網站,Googlebot 會分配一定的抓取頻率(Crawl Budget)。若爬蟲花大量時間抓取不需要的頁面,真正有價值的頁面抓取次數可能相對減少。
    • 使用 robots.txt 阻擋如範例:/login//cart/ 或動態參數過多的 URL,讓爬蟲把重心放在更重要的內容上。
  6. 不要使用 robots.txt 來隱藏重複內容
    若有大量的重複內容 (Duplicate Content),可以使用 canonical 標籤、或在後端設定 301/302 轉址等方式來處理。若只用 Disallow,可能造成搜尋引擎無法抓到主要版本的內容,對 SEO 反而不利。

六、綜合範例:最佳實踐 robots.txt

以下是一個較為「最佳實踐」的例子,可依照自己網站需求稍作調整:

# 允許所有爬蟲
User-agent: *

# 禁止抓取後端管理及相關系統檔案
Disallow: /admin/
Disallow: /login/
Disallow: /register/
Disallow: /cgi-bin/

# 禁止抓取動態參數頁面
Disallow: /*?sid=
Disallow: /*?session=

# 若確定某些目錄為測試區域,可完全禁止
Disallow: /beta-test/

# 指定網站地圖 (可放一個或多個)
Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/sitemap-posts.xml

七、總結

  1. robots.txt 是網站與搜尋引擎互動的第一道規則設定,可用來優化爬蟲行為與保護部分頁面。
  2. 對於 SEO 來說,善用 DisallowAllow、搭配站點地圖能有效提升抓取效率並集中權重。
  3. 不要 依賴 robots.txt 來保護真正機密或敏感資訊;應採取更安全的伺服器防護與驗證機制。
  4. 設定完成後,定期利用 Google Search Console 的工具檢查爬取狀態,確保不會無意間阻擋了應該被收錄的頁面。

若你能依照以上步驟與建議進行設定,對搜尋引擎和訪客皆能有更良好的體驗,同時也能減少伺服器資源的浪費,進一步提升整體網站的 SEO 表現。祝網站排名節節高升,流量源源不絕!

CONTACT US

網站設計報價洽詢

請填寫您的資料,我們將儘快與您聯繫! 為必填