深入瞭解Robots.txt及如何規範地編寫

什麼是robots.txt

關於Robots.txt,相信大部分WordPress站長對其都不會感到陌生,一個規範的Robots.txt對於WordPress網站SEO優化來說至關重要。該檔案主要用於告訴搜尋引擎爬蟲,網站哪些頁面可以爬取,哪些頁面不可以。

我們曾經在“如何編寫和優化WordPress網站的Robots.txt”對Robots.txt進行了詳細地介紹,不過,今天這篇文章將會更加詳細,也易於站長解讀及更好地利用Robots.txt檔案。

Robots.txt 是網站中最簡單的一個檔案,但同時也是最容易出錯的。僅僅是一個字元的錯誤可能會影響你的SEO效果、阻礙搜尋引擎抓取你網站中的有效內容。

robots.txt檔案的配置錯誤經常發生,即使經驗豐富的SEO人員也是如此。

在這篇教學中你將會學到:

Robots.txt檔案是什麼?

Robots.txt檔案是用來告訴搜尋引擎,網站上的哪些頁面可以抓取,哪些頁面不能抓取。

首先,它列出了你想從搜尋引擎(如Google)中排除的所有內容。你還可以告訴某些搜尋引擎(非Google)應該如何抓取網站的內容。

重要提示

大多數搜尋引擎都會遵循規則,它們沒有打破規則的習慣。換句話說,少部分的搜尋引擎則會無視這些規則。

Google不是那些不守規矩的搜尋引擎之一。他們遵守robots.txt檔案中的宣告。

只是我們知道有些搜尋引擎完全忽略它。

Robots.txt長什麼樣?

以下是Robots.txt檔案的基本格式:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Sitemap: [URL location of sitemap]
User-agent: [bot identifier]
[directive 1]
[directive 2]
[directive ...]
User-agent: [another bot identifier]
[directive 1]
[directive 2]
[directive ...]
Sitemap: [URL location of sitemap] User-agent: [bot identifier] [directive 1] [directive 2] [directive ...] User-agent: [another bot identifier] [directive 1] [directive 2] [directive ...]
Sitemap: [URL location of sitemap]

User-agent: [bot identifier]
[directive 1]
[directive 2]
[directive ...]

User-agent: [another bot identifier]
[directive 1]
[directive 2]
[directive ...]

如果你以前從未看過這些內容,你可能會覺得很難。但實際上,它的語法非常簡單。簡而言之,你可以通過在檔案中指定user-agents(使用者代理)和directives(指令)來為搜尋引擎蜘蛛分配抓取規則。

讓我們詳細的討論則兩個元件。

User-agents(使用者代理)

每個搜尋引擎都有一個特定的使用者代理。你可以在robots.txt檔案中針對不同的使用者代理分配抓取規則。總共大約有上百種使用者代理(實際上,你只要安裝Spider Analyser外掛,即可輕鬆掌握都有哪些蜘蛛訪問爬取您的網站。),以下是一些對SEO有用的使用者代理:

  • Google: Googlebot
  • Google Images: Googlebot-Image
  • Bing: Bingbot
  • Yahoo: Slurp
  • Baidu: Baiduspider
  • DuckDuckGo: DuckDuckBot

 

小提示. robots.txt中的所有使用者代理均嚴格區分大小寫。

你也可以使用萬用字元(*)來一次性為所有的使用者代理制定規則。

舉個例子,假設你想遮蔽除了谷歌以外的搜尋引擎蜘蛛,下面就是做法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /
User-agent: * Disallow: / User-agent: Googlebot Allow: /
User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

你需要知道,在 robots.txt檔案中,你可以指定無數個使用者代理。雖然這麼說,每當你指定一個新的使用者代理時,它都是獨立的。換句話說,如果你陸續為多一個使用者代理制定了規則,那麼第一個使用者代理的規則並不適用於第二個,或者時第三個。

有一個例外就是,如果你針對同一個使用者代理制定了多次規則,那麼這些規則則會被放在一起執行。

重要提示

蜘蛛只會遵循準確表明詳細使用者代理的指令。所以上方的 robots.txt檔案只會排除除谷歌蜘蛛(以及其它型別的谷歌蜘蛛)以外的搜尋引擎爬蟲。谷歌蜘蛛會忽略一些不太具體的使用者代理宣告。

Directives(指令)

指令指的是你希望使用者代理遵循的規則。

目前支援的指令

下面是谷歌目前支援的指令,以及它們的用法.

Disallow指令

使用此指令來規定搜尋引擎不要訪問特定路徑的檔案和頁面。例如,如果你想阻止所有搜尋引擎訪問你的部落格及其所有帖子,則robots.txt檔案就像下方這樣:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /blog
User-agent: * Disallow: /blog
User-agent: *
Disallow: /blog

小提示. 如果你再disallow指令後面沒有給出詳細的路徑,那麼搜尋引擎就會忽略它。

Allow指令

使用此指令來規定搜尋引擎需要訪問特定路徑的檔案和頁面——即使在一個被disallow指令遮蔽的路徑中也可以使用。如果你遮蔽特定文章以外的所有文章頁面,那麼robots.txt應該像下方這樣:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /blog
Allow: /blog/allowed-post
User-agent: * Disallow: /blog Allow: /blog/allowed-post
User-agent: *
Disallow: /blog
Allow: /blog/allowed-post

在這個例子中,搜尋引擎可以訪問: /blog/allowed-post. 但是它不能訪問:

/blog/another-post/blog/yet-another-post/blog/download-me.pdf

谷歌和必應都支援這個指令。

小提示. 和disallow指令一樣,如果你在allow指令之後沒有宣告路徑,那麼搜尋引擎會忽略它。

有關規則衝突的說明

除非你非常的細心,否則部分情況disallow指令會與allow指令互相沖突。下方的這個例子,我們阻止了訪問了這個頁面 /blog/ 同時開放了這個頁面 /blog.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /blog/
Allow: /blog
User-agent: * Disallow: /blog/ Allow: /blog
User-agent: *
Disallow: /blog/
Allow: /blog

這個例子中,這個URL /blog/post-title/ 似乎即被阻止了,又被允許了。那麼到底是哪一個呢?

對與谷歌和必應來說,它們會遵循指令字元較長的那一個,在這個例子中就是disallow指令。

Disallow: /blog/ (6 字元)Allow: /blog (5 字元)

如果disallow指令和allow指令長度一樣,那麼限制範圍較小的指令會勝出,這種情況就是allow指令。

小提示. 這裡, /blog (沒有斜槓為字尾) 是可以被抓取的。

嚴格來說,這只適用於谷歌和必應搜尋引擎。其它搜尋引擎會遵循第一條指令,這種情況就是disallow指令。

Sitemap指令

使用此指令來標記你網站地圖所的位置。如果你對網站地圖不熟悉,它通常會包含你需要被搜尋引擎抓取&索引的所有頁面連結。

下面就是一個使用Sitemap指令的robots.txt檔案:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Sitemap: https://www.domain.com/sitemap.xml
User-agent: *
Disallow: /blog/
Allow: /blog/post-title/
Sitemap: https://www.domain.com/sitemap.xml User-agent: * Disallow: /blog/ Allow: /blog/post-title/
Sitemap: https://www.domain.com/sitemap.xml

User-agent: *
Disallow: /blog/
Allow: /blog/post-title/

在robots.txt中註明sitemap指令有多麼重要呢?如果你已經向谷歌提交了網站地圖,那麼這一步操作就可有可無。但是,對於其它搜尋引擎,比如必應,就可以明確的告訴它你的網站地圖在哪裡,所以這一步還是很有必要的。

注意,你不需要針對不同的代理重複標註sitemap指令。所以最好的方法是將sitemap指令寫在robots.txt的最開始或者最末尾,就像下方這樣:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Sitemap: https://www.domain.com/sitemap.xml
User-agent: Googlebot
Disallow: /blog/
Allow: /blog/post-title/
User-agent: Bingbot
Disallow: /services/
Sitemap: https://www.domain.com/sitemap.xml User-agent: Googlebot Disallow: /blog/ Allow: /blog/post-title/ User-agent: Bingbot Disallow: /services/
Sitemap: https://www.domain.com/sitemap.xml
User-agent: Googlebot
Disallow: /blog/
Allow: /blog/post-title/
User-agent: Bingbot
Disallow: /services/

谷歌支援sitemap指令、同時Ask、必應、雅虎搜尋引擎都支援。

小提示. 你可以在robots.txt中使用多條sitemap指令。

不再支援的指令

下面是一些谷歌不再支援的指令——部分因為技術原因一直都沒有被支援過。

Crawl-delay指令

之前你可以使用這個指令來指定抓取間隔時間(秒)。比如,你希望谷歌蜘蛛再每次抓取之後等待5秒,那麼你就需要將Crawl-delay指令設定為5:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: Googlebot
Crawl-delay: 5
User-agent: Googlebot Crawl-delay: 5
User-agent: Googlebot
Crawl-delay: 5

谷歌已經不再支援這個指令,但是必應Yandex依然支援。

雖然這麼說,在設定這個指令的時候你需要小心,尤其是你有一個大型網站的時候。如果你將Crawl-delay指令設定為5,那麼每天蜘蛛最多隻能抓取17,280個URL。如果你有上百萬的頁面,這個抓取量就非常的小了。反之,如果你是小型網站,則它可以幫你節省頻寬。

Noindex指令

這個指令從來沒有被谷歌支援過。但是直到最近,人們認為谷歌有一些“處理不受支援和未釋出的規則的程式碼(例如noindex)”。所以如果你希望阻止谷歌索引你所有的部落格頁面,那麼你可以使用這個指令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: Googlebot
Noindex: /blog/
User-agent: Googlebot Noindex: /blog/
User-agent: Googlebot
Noindex: /blog/

但是同時,在2019年9月1號,谷歌明確表示這個指令不被支援。如果你想從搜尋引擎中排除一個頁面的話,使用meta robots標籤、或者是x-robots HTTP頭部指令。

Nofollow指令

這個指令谷歌也是從來沒有從官方支援過的。曾經是用來阻止搜尋引擎跟隨某一個連結,或者是某個特殊的路徑。比如,你想遮蔽谷歌跟隨所有的部落格連結,你可以這麼設定指令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: Googlebot
Nofollow: /blog/
User-agent: Googlebot Nofollow: /blog/
User-agent: Googlebot
Nofollow: /blog/

谷歌在2019年9月1號宣告這個指令不會被支援。如果你想阻止搜尋引擎跟隨頁面上的所有連結,那麼你應該使用meta robots標籤、或者是x-robots HTTP頭部指令。如果你想指定一個連結不讓谷歌跟隨,那麼你可以在特定連結中加入rel="nofollow"引數。

你需要一個Robots.txt檔案嗎?

對於一部分網站來說,有沒有robots.txt其實無關痛癢,尤其是小網站。

雖然這麼說,但是沒有一個好的理由不去擁有它。它可以在搜尋引擎訪問網站的規則上給你一些額外的控制權,那麼這可以幫助你:

  • 防止抓取重複頁面;
  • 讓網站在某個階段不公開 (比如:在搭建網站雛形時);
  • 防止抓取內部搜尋頁面;
  • 防止伺服器過載;
  • 防止谷歌浪費crawl budget(抓取預算);
  • 防止部分圖片視訊及其它資源展示在谷歌結果中。

請注意,儘管谷歌通常不會索引robots.txt中阻止的網頁,但這無法保證使用robots.txt檔案可以100%將其排除在搜尋結果之外

谷歌說過,如果內容從另外一個地方獲得連結,那麼依然有可能被呈現在搜尋結果當中。

如何找到你的robots.txt檔案?

如果你的網站已經有了robots.txt檔案,那麼你可以通過domain.com/robots.txt 這個連結進行訪問。如果你看到有類似下方這樣的資訊,這就是你的robots.txt檔案:

robots.txt檔案

ahrefs robots

如何建立一個robots.txt檔案?

如果你沒有robots.txt檔案的話,那麼做一個也十分的簡單。你只需要打卡一個空的.txt檔案(記事本檔案)然後按照要求填寫指令。比如,你希望搜尋引擎不抓取你的 /admin/ 目錄,你可以像下方這樣設定:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /admin/
User-agent: * Disallow: /admin/
User-agent: *
Disallow: /admin/

你可以繼續新增指令,只要你滿意為止,然後將檔案儲存為“robots.txt”。

除此之外,你還可以使用robots.txt生成工具來製作,比如Smart SEO Tool外掛:

robots creator外掛管理robots.txt檔案

利用類似這樣工具的優勢就是,更加容易編輯管理。當然為了避免指令語法錯誤,建議任何工具生成的robots.txt都應該使用搜尋引擎站長工具進行檢驗,比如百度資源管理平臺

百度搜尋資源平臺robots.txt檔案檢測

這個非常重要,因為一個小的語法錯誤都會導致災難性的後果,還是小心無大錯比較好。

在哪裡放置robots.txt檔案呢?

將robots.txt檔案放置在對應域名/子域名的根目錄資料夾中。比如,如果你的網站使用的是domain.com,那麼robots.txt就可以通過domain.com/robots.txt訪問到。

如果你希望你控制二級域名的訪問限制,比如blog.domain.com,那麼它的robots.txt就需要通過blog.domain.com/robots.txt訪問到才可以。

Robots.txt的最佳做法

牢記下方提示,可以避免不必要的錯誤:

每一個新指令都需要另起一行

每個指令都需要新起一行。否則會讓搜尋引擎產生誤解:

錯誤示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: * Disallow: /directory/ Disallow: /another-directory/
User-agent: * Disallow: /directory/ Disallow: /another-directory/
User-agent: * Disallow: /directory/ Disallow: /another-directory/

標準示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /directory/
Disallow: /another-directory/
User-agent: * Disallow: /directory/ Disallow: /another-directory/
User-agent: * 
Disallow: /directory/ 
Disallow: /another-directory/

使用萬用字元簡化指令

你不僅可以使用萬用字元(*)將指令應用於所有使用者代理,同時可以在宣告指令時用來匹配雷同的URL。例如,如果你想防止搜尋引擎訪問網站上的引數化產品類別URL,可以像這樣列出它們:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /products/t-shirts?
Disallow: /products/hoodies?
Disallow: /products/jackets?
User-agent: * Disallow: /products/t-shirts? Disallow: /products/hoodies? Disallow: /products/jackets? …
User-agent: * 
Disallow: /products/t-shirts?
Disallow: /products/hoodies?
Disallow: /products/jackets?
…

但是這並不簡潔,你可以利用萬用字元,簡寫成下方這樣:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /products/*?
User-agent: * Disallow: /products/*?
User-agent: * 
Disallow: /products/*?

這個例子就是遮蔽了所有的搜尋引擎使用者抓取 /product/ 目錄下,所有包含問號(?)的連結。換句話說就是遮蔽了所有帶有引數的產品連結。

使用美元符號($)來標註以特定字元結尾的URL

在指令最後加入”$”。比如,如果你像遮蔽所有以 .pdf結尾的連結,那麼你的可以這樣設定你的 robots.txt:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /*.pdf$
User-agent: * Disallow: /*.pdf$
User-agent: * 
Disallow: /*.pdf$

這個例子中,搜尋引擎無法抓取任何以 .pdf 結尾的連結,意味著搜尋引擎無法抓取 /file.pdf,但是搜尋引擎可以抓取這個 /file.pdf?id=68937586,因為它沒有以”.pdf“結尾。

相同的使用者代理只宣告一次

如果你多次宣告相同的使用者代理,谷歌雖然並不反對,依然可以結合在一起執行。比如,像下方這樣…

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: Googlebot
Disallow: /a/
User-agent: Googlebot
Disallow: /b/
User-agent: Googlebot Disallow: /a/ User-agent: Googlebot Disallow: /b/
User-agent: Googlebot
Disallow: /a/

User-agent: Googlebot 
Disallow: /b/

… 谷歌蜘蛛不會抓取兩個中任何一個目錄。

雖然這麼說,最好只宣告一次,因為這不會產生困惑。換句話說,保持簡單明瞭,可以讓你不會出現致命的錯誤。

使用精準的指令避免以外的錯誤

如果不使用精準的指令,那麼很可能會導致SEO中產生致命的錯誤。假設你現在有一個多語言的網站,正在操作一個德語版本的 /de/ 子目錄。

因為還未完成,所以暫時你想阻止搜尋引擎抓取這個目錄內的內容。

下方的robots.txt檔案可以遮蔽搜尋引擎抓取這個目錄以及下方的所有內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /de
User-agent: * Disallow: /de
User-agent: *
Disallow: /de

但是,同時這也阻止了搜尋引擎抓取所有以 /de.開頭的內容。

比如:

  • /designer-dresses/
  • /delivery-information.html
  • /depeche-mode/t-shirts/
  • /definitely-not-for-public-viewing.pdf

這種情況,解決方法也很簡單,只需要在後面加個斜槓:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /de/
User-agent: * Disallow: /de/
User-agent: *
Disallow: /de/

使用註釋給開發者提供說明

使用註釋功能,可以向開發者說明你的robots.txt指令的用途——很可能是未來的你自己。如果需要使用註釋,只需要以(#)開頭即可:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# This instructs Bing not to crawl our site.
User-agent: Bingbot
Disallow: /
# This instructs Bing not to crawl our site. User-agent: Bingbot Disallow: /
# This instructs Bing not to crawl our site.
User-agent: Bingbot
Disallow: /

蜘蛛會忽略所有以(#)開頭的指令。

針對不同的子域名使用不同的robots.txt檔案

Robots.txt只在當前所屬的子域名中生效。如果你需要控制不同的子域名抓取規則,那麼你就需要分開設定不同的robots.txt檔案。

比如,你的主站執行在 domain.com 上,你的部落格執行在 blog.domain.com 上。那麼你就需要有兩個robots.txt檔案。一個是放在主站的根目錄中,一個是放在部落格站的根目錄中。

Robots.txt檔案示例

下方使一些 robots.txt的檔案示例。這些主要是為了給你一些啟發。但是如果碰巧符合你需求的,可以請將其複製貼上到記事本文件中,另存為“ robots.txt”,然後將其上傳到對應的根目錄中。

允許所有蜘蛛訪問

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /
User-agent: * Disallow: /
User-agent: * 
Disallow: /

小提示.在指令後沒有宣告URL會使該指令變得多餘。換句話說,搜尋引擎會忽略它。這就是為什麼這裡的disallow指令是無效的原因。搜尋引擎仍然可以抓取所有頁面和檔案。

不允許任何蜘蛛訪問

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /
User-agent: * Disallow: /
User-agent: *
Disallow: /

針對所有蜘蛛遮蔽一個目錄

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /folder/
User-agent: * Disallow: /folder/
User-agent: *
Disallow: /folder/

針對所有蜘蛛,遮蔽一個目錄(只保留一個頁面)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /folder/
Allow: /folder/page.html
User-agent: * Disallow: /folder/ Allow: /folder/page.html
User-agent: *
Disallow: /folder/
Allow: /folder/page.html

針對所有蜘蛛,遮蔽一個檔案

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /this-is-a-file.pdf
User-agent: * Disallow: /this-is-a-file.pdf
User-agent: *
Disallow: /this-is-a-file.pdf

針對所有蜘蛛,遮蔽所有的pdf檔案

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: *
Disallow: /*.pdf$
User-agent: * Disallow: /*.pdf$
User-agent: *
Disallow: /*.pdf$

針對谷歌蜘蛛,遮蔽所有帶引數URL

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
User-agent: Googlebot
Disallow: /*?
User-agent: Googlebot Disallow: /*?
User-agent: Googlebot
Disallow: /*?

如何檢測robots.txt檔案中的問題?

Robots.txt很容易出現錯誤,因此檢測是十分有必要的。

為了檢測robots.txt相關問題,你只需要檢視 Search Console(谷歌資源管理器)中的 “Coverage(覆蓋率)”報告。下面就是一些常見的錯誤,包括它們的含義以及解決方法:

是否需要檢查與某個頁面相關的錯誤?

將特定URL放入Search Console(谷歌資源管理器)的URL Inspection tool(網址檢測)。如果被robots.txt遮蔽了,那麼就會像下方這樣顯示:

robots.txt攔截蜘蛛爬取URL

blocked by robots txt 1

小提示. 國內站長可以使用百度搜尋資源平臺提供的相關功能檢測!

提交的URL被robots.txt遮蔽了

submitted-url-blocked-by-robots-3

這意味著至少在你提交的Sitemap當中,至少有一條URL被robots.txt遮蔽了。

如果你是正確的建立了你的sitemap,並且不包含canonicalized(規範標籤)、noindexed(指定不索引)、redirected(跳轉)等頁面,那麼你提交的所有的連結都不應該被robots.txt遮蔽。如果被遮蔽了,調查受影響的頁面,然後相應地調整robots.txt檔案,刪除阻止該頁面的指令。

你可以使用谷歌的robots.txt檢測工具或者百度搜尋資源平臺的robots檔案檢測來檢視哪條指令在阻止訪問。在修改的時候你需要小心,因為很容易就會影響到其它的頁面以及檔案。

robots-txt-tester-3

被robots.txt遮蔽了

blocked-by-robots-txt-6

這代表,當前你有內容被robots.txt遮蔽了,但是暫時沒有被谷歌索引。

如果這個內容很重要,並且需要被索引,刪除robots.txt中的阻礙抓取的指令。(同時你得注意這個內容是否被索引標記標註為不索引狀態)如果你需要遮蔽的內容也是不需要谷歌索引的話,那麼你可以去掉遮蔽抓取的指令,然後使用meta robots標籤、或者是x-robots HTTP頭部指令進行遮蔽——這樣就可以保證內容不被索引。

小提示.

如果想要將頁面從索引中刪除,必需先移除抓取阻礙。否則,谷歌無法抓取到頁面的noindex(不索引)標記、或是HTTP頭部指令——這樣只會讓搜尋引擎保持原有的索引狀態。

索引但是被robots.txt遮蔽

indexed-though-blocked-3

這意味著雖然一部分內容被robots.txt遮蔽了,但是依然是被谷歌索引的。

同樣道理,如果你希望從搜尋引擎中去除該內容,robots.txt並不是最好的選擇。移除抓取阻礙,並使用meta robots標記、或者是x-robots HTTP頭部指令防止被索引。

如果你是不小心遮蔽了這個內容,並且希望內容被谷歌索引的話,只需要在robots.txt中移除阻礙索引的指令即可。這樣可以幫助你的內容更好的展現在谷歌當中。

FAQs

下面是經常被問到的,但是並沒有涵蓋在上方內容中的一些問題。你可以在評論中留下你的問題,我們會根據情況進行更新。

(1)robots.txt檔案大小最大是多少?

500 千位元組 (大概).

(2)WordPress中的robots.txt在哪裡?

例子: domain.com/robots.txt.

(3)如何在Wordpress當中編輯robots.txt?

你可以手動編輯,或者使用WordPress SEO優化外掛其中的一個。比如像Smart SEO Tool,它可以讓你直接在後臺編輯robots.txt檔案。

如果我通過robots.txt遮蔽了不索引的頁面有什麼影響?

谷歌則無法看到你noindex的標記,因為它無法抓取這個資訊。

最後的想法

Robots.txt是一個簡單、但是很強大的我呢見。明智地使用它,可以對SEO產生積極影響。隨意使用它,可能會造成災難性的後果。

(via ahrefs.com 譯者,Park Cheng,文章有改動)

評論留言