SEO

[SEO] Robots.txt 不為人知的設定,你不曉得的 Robots.txt 設定

Robots.txt 封鎖網址大家都知道,也曉得怎麼用。
初學者可以先看看這編 Google 出品的教學 使用 robots.txt 封鎖網址
這次要來分享一些進階點較不為人知的使用方法。一般人不曉得,容易遺漏的設定….
也教你不要誤用了 Robots.txt!

 

如果有網址不小心被 Google 收錄了,你也可以參考這篇文章

反向 SEO,移除網址把過期廢棄的網址從 Google 上移除!

 

本文目錄:

 

Robots.txt 的基本使用方式

最常使用的幾種 robots.txt

禁止所有搜尋引擎收錄
 請小心使用

User-agent: * 
Disallow: /

 

准許所有搜尋引擎, 收錄所有內容
一般沒什麼特別原因,建議都使用這個

User-agent: *
Disallow:

 

禁止特定搜尋引擎收錄
e.g. 禁止百度

User-agent: Baiduspider
Disallow: /

 

阻擋特定目錄與及所有內容

Disallow: /tmp/
Disallow: /admin/

 

阻擋特定檔案類型
不收錄所有 gif 檔

Disallow: /*.gif$

 

 

Robots.txt 進階使用方式

可以先看看幾個網站的 robots.txt 做為參考

Apple
http://www.apple.com/robots.txt
打開看看,可以看出 Apple 對 Baiduspider(百度) 不太友善 XD
比較特別的是 Sitemap ,我們可以在 robots.txt 裡面指定了多個 sitemap.xml 網址,告訴爬蟲,請爬蟲一塊處理
可以好好利用~~

Sitemap: http://www.apple.com/shop/sitemap.xml
Sitemap: http://www.apple.com/sitemap.xml

 

CNN
http://edition.cnn.com/robots.txt
可以看出 CNN 提出了不少份 sitemap 請求處理

Sitemap: http://www.cnn.com/sitemaps/sitemap-index.xml
Sitemap: http://www.cnn.com/sitemaps/sitemap-news.xml
Sitemap: http://www.cnn.com/sitemaps/sitemap-video-index.xml
Sitemap: http://www.cnn.com/sitemaps/sitemap-section.xml
Sitemap: http://www.cnn.com/sitemaps/sitemap-interactive.xml
User-agent: *
Allow: /partners/ipad/live-video.json
Disallow: /editionssi
.
.
.

 

蘋果日報
http://www.appledaily.com.tw/robots.txt
其實這樣的設定沒什麼意義, 不過也沒有壞影響就是了

User-agent: *
Allow: /
User-agent: Googlebot
Allow: /
User-agent: bingbot
Allow: /

 

 

注意事項

首先,注意大小寫與空白
/Cola 與 /cola 是不同的網址
/cola image 等於 /colaimage


如果想阻擋特定網址
例如:

cola.workxplay.net/cola

你可能會在 robots.txt 裡加入

Disallow: /cola

(嚴格來說,這樣是不對的)

 

這樣的做法會讓

cola.workxplay.net/colaphoto
cola.workxplay.net/colaimage
cola.workxplay.net/colapicture

所以開頭符合 cola 的全被阻擋
正確的設定應該是…

Disallow: /cola$

利用 $ 字號做為結尾。
是的!robots.txt 裡用的是正則表示式
Google 的說明裡稱為 模式媒合規則

一般人不需要瞭解這個,請交給工程師處理吧 XD

 

擔心設定錯誤的話,也可以使用 Google 提供的檢查工具
所有工具都在 Google Search Console

可以看見有幾個錯誤、警告,告訴你 robots.txt 是否正常

你也可以用 Google 模擬器 /Goolge Bot Fetch 來測試網址是否能被正常收錄

(利用模擬器這個方式更加保險)

 

ps : 想要阻擋特定網址比較好的方式還是使用 meta tag (中繼標記) 處理
例如: html  <head> 中加入

<meta name="robots" content="noindex">

 

總之 Robots.txt 的阻擋不是一個 100% 防範和保險的方式
如果你的網址真的非常保密或是不希望被收錄(例如測試機),還是乖乖設定密碼吧

(簡單的密碼防護)

https://en.wikipedia.org/wiki/Basic_access_authentication

 

 

因為 Robots.txt 是一個開放檔案,所有人都可以看見
所以有興趣可以到處看看,各家網站的設定做為參考

 

 

 

可樂

View Comments

Recent Posts

plain PHP 搭配 Slack 進行錯誤追蹤、回報(Error Tracking、Error Handling)

錯誤追蹤、回報非常重要,看到的錯誤才知道怎麼修。現今 PHP 流行的 Laravel 有很好的 Error Tracking, Error Handling。但 plain PHP 怎麼辦呢? 在 production 為了安全考量會設定…

4 years ago

Drone CI/CD 配合 Github 使用 Rsync 進行 Deploy

jenkins、circleci、travis 或 Gitlab CI 皆為目前暫知名的 CI/CD 服務,各自缺點也不言而喻...過於肥大、收費略高(?)、速度不夠快執問題...此時使用 go language 開發的 Drone 就出現啦,完全 docker 容器化的運行方式讓整個 CI…

4 years ago

Nginx brotli 設定

網頁壓縮技術中 gzip 很好用,deflate 己經過時,但你聽過 brotli 嗎? 有著比 gzip 更好、更快的壓縮效率。看起來利大於弊有什麼不用他的理由嗎?簡單從優、缺點來看 brotli!到底 brotli 布羅特利是什麼、如何設定呢。 目前大多的 web server…

4 years ago

本機使用 Docker 容器內 PHP (wrapper/expose PHP)

為什麼要讓本機使用 Docker 內 PHP? 情境... docker 容器內用的是 PHP 7.4 但你的開發本機還在跑 PHP 5.6 或是更舊,因為 dockerize 的關係會將所有相關環境都轉移到…

4 years ago

為什麼你需要密碼管理工具

為什麼你需要密碼管理工具現代人一天下來需要輸入多少組密碼,工作與生活己經和密碼密不可分! 除了足夠全安的密碼,密碼記錄、儲存的方式又足夠安全嗎?密碼管理工具可以帶來什麼幫助呢? 為什麼你需要密碼管理工具 資安問題!!大多人說著沒做壞事不怕被偷資料、監聽。嚴重曝露出現代人的基本科技素養的低落和無知 🤯 密碼的使用無所不在!! 行動裝置的普及,APP 、手機遊戲、銀行帳戶所有和生活相關的東西都需要密碼!!facebook, line 只要打開 APP 也會輸入密碼只是他是自動輸入、一般情況不可視 (auth token) 一般人最常發生的密碼資安問題…

4 years ago

簡單使用 Mysql Partition 優化查詢

mysql 資料表分區 mysql table partition 從架構上調整 mysql 的查詢效率。mysql DB 的優化可以簡單也能複雜,除了調整設定值。也可以透過水平分割(Horizontal Partitioning)、垂直分割(Vertical Partitioning) 分庫或分表將資料分散儲存減少資料搜尋、group by 時的效能消耗。拆開批次處理,理論上效率都會變好,本文就水平分割的…

4 years ago