如果有網址不小心被 Google 收錄了,你也可以參考這篇文章
本文目錄:
最常使用的幾種 robots.txt
禁止所有搜尋引擎收錄
請小心使用
User-agent: *
Disallow: /
准許所有搜尋引擎, 收錄所有內容
一般沒什麼特別原因,建議都使用這個
User-agent: *
Disallow:
禁止特定搜尋引擎收錄
e.g. 禁止百度
User-agent: Baiduspider
Disallow: /
阻擋特定目錄與及所有內容
Disallow: /tmp/
Disallow: /admin/
阻擋特定檔案類型
不收錄所有 gif 檔
Disallow: /*.gif$
可以先看看幾個網站的 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 是一個開放檔案,所有人都可以看見
所以有興趣可以到處看看,各家網站的設定做為參考
錯誤追蹤、回報非常重要,看到的錯誤才知道怎麼修。現今 PHP 流行的 Laravel 有很好的 Error Tracking, Error Handling。但 plain PHP 怎麼辦呢? 在 production 為了安全考量會設定…
jenkins、circleci、travis 或 Gitlab CI 皆為目前暫知名的 CI/CD 服務,各自缺點也不言而喻...過於肥大、收費略高(?)、速度不夠快執問題...此時使用 go language 開發的 Drone 就出現啦,完全 docker 容器化的運行方式讓整個 CI…
網頁壓縮技術中 gzip 很好用,deflate 己經過時,但你聽過 brotli 嗎? 有著比 gzip 更好、更快的壓縮效率。看起來利大於弊有什麼不用他的理由嗎?簡單從優、缺點來看 brotli!到底 brotli 布羅特利是什麼、如何設定呢。 目前大多的 web server…
為什麼要讓本機使用 Docker 內 PHP? 情境... docker 容器內用的是 PHP 7.4 但你的開發本機還在跑 PHP 5.6 或是更舊,因為 dockerize 的關係會將所有相關環境都轉移到…
為什麼你需要密碼管理工具現代人一天下來需要輸入多少組密碼,工作與生活己經和密碼密不可分! 除了足夠全安的密碼,密碼記錄、儲存的方式又足夠安全嗎?密碼管理工具可以帶來什麼幫助呢? 為什麼你需要密碼管理工具 資安問題!!大多人說著沒做壞事不怕被偷資料、監聽。嚴重曝露出現代人的基本科技素養的低落和無知 🤯 密碼的使用無所不在!! 行動裝置的普及,APP 、手機遊戲、銀行帳戶所有和生活相關的東西都需要密碼!!facebook, line 只要打開 APP 也會輸入密碼只是他是自動輸入、一般情況不可視 (auth token) 一般人最常發生的密碼資安問題…
mysql 資料表分區 mysql table partition 從架構上調整 mysql 的查詢效率。mysql DB 的優化可以簡單也能複雜,除了調整設定值。也可以透過水平分割(Horizontal Partitioning)、垂直分割(Vertical Partitioning) 分庫或分表將資料分散儲存減少資料搜尋、group by 時的效能消耗。拆開批次處理,理論上效率都會變好,本文就水平分割的…
View Comments
GOOD!!!
先收起來
我那天一定會用到