先判斷你要解決哪個問題
如果你是不想讓頁面出現在 Google,用 noindex;如果你是不想讓搜尋引擎追蹤頁面上的連結,用 nofollow;兩個目的都有才需要同時使用。這兩個指令解決的問題不同,搞混的話不但沒效,有時候反而會讓情況更複雜。
根據 Google Search Central 的說明,noindex 是用來要求支援這個指令的搜尋引擎不把頁面加入索引;nofollow 則是告訴 Googlebot 不要追蹤頁面上的連結。確認自己的目標後,再看下面的分類:
- 你是不想讓這個頁面出現在 Google 搜尋結果嗎? → 用
noindex - 你是不想讓搜尋引擎追蹤這個頁面上的連結、不想把你的背書傳出去嗎? → 用
nofollow - 兩個目的都有? → 用
noindex, nofollow
大部分情況下,你只需要 noindex,不需要同時加 nofollow。如果你只是想讓頁面不出現在 Google,noindex 就夠了,Googlebot 還是可以抓取這個頁面、追蹤頁面上的連結。
| 症狀 | 應該用 | 不該誤用 |
|---|---|---|
| 頁面出現在 Google,但不想被搜到 | noindex | robots.txt(可能導致 Google 看不到 noindex) |
| 有外部連結不想背書(廣告、贊助、UGC) | nofollow(加在 a 標籤) | meta nofollow(這會影響整個頁面所有連結) |
| 測試站、後台頁面不想外流 | noindex + 伺服器存取限制 | 只靠 noindex(不保護內容本身) |
| 想讓頁面完全不被抓取 | robots.txt(Disallow) | noindex(Google 必須能抓取才看得到 noindex) |
確認自己的症狀後,再往下看對應的設定說明。
noindex 和 nofollow 差在哪?
noindex 控制的是頁面要不要進入 Google 索引;nofollow 控制的是頁面上的連結要不要被搜尋引擎追蹤。兩者可以同時使用,但解決的是不同問題,加了其中一個不代表另一個也生效。
| 指令 | 對 Googlebot 說的事 | Google 可以抓取嗎 | Google 會收錄嗎 | Google 會追蹤頁面上的連結嗎 |
|---|---|---|---|---|
index(預設) |
正常建立索引 | 是 | 是 | 是 |
noindex |
不要把這頁加進索引 | 是(需要抓取才看得到指令) | 否 | 是(除非也加了 nofollow) |
nofollow |
不要追蹤這頁上的連結 | 是 | 是(除非也加了 noindex) | 否 |
noindex, nofollow |
不收錄且不追蹤連結 | 是 | 否 | 否 |
none |
等同 noindex, nofollow | 是 | 否 | 否 |
有一個前提很多人忽略:Google 必須能抓取到這個頁面,才看得到 meta noindex。 如果你同時用 robots.txt 把 Googlebot 擋在門外,Google 根本讀不到頁面上的指令,noindex 就不會生效。這個問題會在後面的章節詳細說明。
另外,nofollow 有兩種用法。一是加在 <meta name="robots"> 裡,影響整個頁面所有連結;二是加在個別 <a> 標籤的 rel 屬性,只影響那一個連結。大部分情況下,你用的是後者,不是前者。詳細的 robots meta 值清單可以參考 MDN robots meta 參考文件,其中包含 index、noindex、follow、nofollow、none、noarchive 等所有合法值。
延伸閱讀:網站爬取 SEO:Googlebot 怎麼找到你的頁面
noindex, nofollow 什麼時候要一起用?
只有在你同時不想讓頁面進入 Google 索引、也不希望搜尋引擎追蹤該頁面上的任何連結時,才需要把 noindex 和 nofollow 一起寫在同一個 meta robots 標籤裡。大部分情況下,只加 noindex 就夠了。
以下三種使用方式各有適用情境:
| 使用方式 | 適合情境 | 說明 |
|---|---|---|
只用 noindex |
感謝頁、付款完成頁、站內搜尋結果、篩選/分頁頁面 | 不想出現在搜尋結果,但頁面上的內部連結還是正常的 |
只用 nofollow(加在 a 標籤) |
贊助連結、廣告連結、用戶留言中的外部連結 | 不想把你的背書傳給外部連結,但頁面本身正常收錄 |
同時用 noindex, nofollow |
後台工具頁、登入後才能訪問的頁面、絕對不能外流的臨時頁面 | 不想收錄,也不想 Google 從這個頁面發現其他 URL |
之前碰到一個電商站,他們把整個購物車流程的頁面都加了 noindex, nofollow,包含商品分類頁、商品描述頁底部的「你也可能喜歡」區塊所在的 section。這樣做有個副作用:Google 從這些頁面探索相關商品的路徑被切斷,部分商品頁的抓取頻率下降。如果你只是不想讓購物車確認頁出現在搜尋結果,只需要在那幾頁加 noindex 就夠了,nofollow 不是必要的。
更多常見索引控制錯誤可以參考:Search Console 索引涵蓋範圍報告:哪種狀態要修
怎麼設定 noindex nofollow?HTML、HTTP header、WordPress 一次看
HTML 頁面通常用 meta robots;PDF、圖片或非 HTML 檔案可用 X-Robots-Tag HTTP header;WordPress 可透過 SEO 外掛(Yoast SEO 或 Rank Math)的頁面進階索引設定完成,不需要手動修改 HTML。
HTML meta 標籤寫法
把以下標籤放在 <head> 區塊內:
<!-- 只設 noindex -->
<meta name="robots" content="noindex">
<!-- 只設 nofollow -->
<meta name="robots" content="nofollow">
<!-- 同時設定 -->
<meta name="robots" content="noindex, nofollow">
<!-- 等同 noindex, nofollow -->
<meta name="robots" content="none">
有幾個常見錯誤要注意:
name="robots"影響所有搜尋引擎。如果你只想針對 Google,可以用name="googlebot"。- 同一頁不要放兩個衝突的 meta robots 標籤,例如一個
content="index"、一個content="noindex"。Google 的行為是不確定的。 - 這個標籤要放在
<head>裡,放在<body>不會生效。
個別連結的 nofollow(a 標籤)
<!-- 廣告或贊助連結 -->
<a href="https://example.com" rel="nofollow">廣告連結</a>
<!-- 贊助連結(Google 建議用 sponsored 更準確)-->
<a href="https://example.com" rel="sponsored">贊助商連結</a>
<!-- 用戶生成內容中的連結 -->
<a href="https://example.com" rel="ugc">用戶留言連結</a>
HTTP X-Robots-Tag(非 HTML 檔案)
如果你要對 PDF、圖片或整個網域的特定路徑下 robots 指令,可以在 HTTP response header 加 X-Robots-Tag,適用語法如下。詳見 MDN X-Robots-Tag header 參考文件。
X-Robots-Tag: noindex
X-Robots-Tag: noindex, nofollow
WordPress 設定方式
WordPress SEO 外掛(Yoast SEO、Rank Math)本質上是在 <head> 輸出和上面一樣的 meta robots 標籤,只是把操作包成 UI 選項。在文章或頁面編輯器的「進階設定(Advanced)」區,會看到「Allow search engines to show this Post/Page in search results」(Yoast)或「Robots Meta」(Rank Math)的下拉選單,選「No」即可輸出 noindex。設定儲存後,建議用瀏覽器檢視原始碼或 Google Search Console URL 檢查工具確認 meta robots 值是否如預期輸出,因為外掛快取或主題設定有時會覆蓋這個值。
robots.txt 和 noindex 不要混用錯
robots.txt 會阻止 Google 抓取頁面,但 noindex 需要 Google 抓到頁面才看得到;如果你想讓已收錄的頁面移出索引,不要先用 robots.txt 擋住它。
這是我見過最常造成誤解的操作。流程上的關鍵差異:
錯誤流程(常見誤操作):
- 用 robots.txt 的 Disallow 擋住 Googlebot
- 頁面上加了 meta noindex
- 等頁面移出索引
- 結果:Google 可能抓不到頁面,也看不到 noindex,頁面可能就這樣留在索引裡(以舊資料形式)
正確流程(想讓已收錄頁面移出索引):
- 確認 robots.txt 沒有擋住這個頁面的抓取
- 在頁面 <head> 加
<meta name="robots" content="noindex"> - 在 GSC 的 URL 檢查工具,要求 Google 重新抓取
- Google 下次抓到頁面後讀到 noindex,才會開始移除索引
如果你只是不想讓頁面出現在搜尋結果,但沒有特別要省爬取資源的需求,不建議同時用 robots.txt 擋。保持可抓取 + noindex,是讓 Google 確實執行移除最直接的方式。
爬取預算(Crawl Budget)診斷與優化指南提供了更完整的爬取資源管理框架,包含 GSC 診斷步驟與症狀識別。robots.txt 的完整說明可以參考:robots.txt 設定完整指南:語法教學、常見錯誤與 GSC 診斷流程
哪些頁面適合 noindex?哪些不該只靠 noindex?
適合 noindex 的通常是使用者可訪問但不適合作為搜尋入口的頁面;真正不該公開的內容,應該用登入、密碼或伺服器層級限制,而不是只靠 noindex。
| 頁面類型 | 建議指令 | 原因 | 注意風險 |
|---|---|---|---|
| 購買完成頁、感謝頁 | noindex | 無搜尋價值,避免出現在索引 | 確保轉換追蹤不依賴這頁的收錄狀態 |
| 站內搜尋結果頁 | noindex | 動態內容,重複性高,Google 通常也不推薦收錄 | 分頁型搜尋結果要一併處理 |
| 標籤頁(tag archive) | 視內容決定,大多 noindex | 低品質彙整頁,容易造成重複內容 | 如果標籤頁有特定排名價值,個別評估 |
| 篩選頁(faceted navigation) | noindex 或 canonical | 大量 URL 組合,容易稀釋抓取資源 | canonical 更適合想傳遞訊號的情況 |
| 分頁(page/2, page/3…) | 通常保持 index | 分頁通常有自己的搜尋流量,不建議全 noindex | 依實際流量與內容品質個別決定 |
| 測試站 / staging | noindex + 存取限制 | 不只靠 noindex,應該加密碼保護或限制 IP | 只靠 noindex 無法保護內容不被看到 |
| 登入後才能看的頁面 | 伺服器層級限制 | noindex 不能阻止有連結的人直接訪問 | 帳號後台頁面應該靠 session/認證,不是 robots 指令 |
| 細碎的分類/存檔頁 | noindex | 年份存檔、作者頁等低品質彙整頁 | 如果這些頁面帶流量,先確認再設定 |
這裡是關鍵:noindex 不等於隱私保護。 Google 可能不收錄這個頁面,但如果有人知道 URL,他還是可以直接訪問。如果你有真正要保護的內容,伺服器層級的存取控制才是正確做法。
不確定哪些頁面應該 noindex,可以先做完整站台稽核:技術 SEO 稽核是什麼?爬取、速度與結構化資料的問題優先級排序
nofollow 不要亂用在內部連結
nofollow 主要用在不想背書的外部連結、贊助連結或使用者產生內容;一般內部連結不應大量 nofollow,否則可能讓重要頁面探索和訊號流動變差。
根據 Google 的 link attributes 說明文件,nofollow 是「提示」而非強制規則,Google 可能仍然會追蹤 nofollow 連結,但不會把它當作排名訊號。對於內部連結,Google 本來就在追蹤你自己的頁面,大量對內部連結加 nofollow 的實際效果通常不如預期,反而可能讓架構訊號傳遞變得複雜。
| 連結情況 | 建議做法 | 說明 |
|---|---|---|
| 贊助商連結、廣告 | rel="sponsored" |
Google 建議用 sponsored 標記,比 nofollow 更準確 |
| 用戶留言、論壇貼文的外部連結 | rel="ugc" 或 rel="nofollow" |
UGC 連結通常你無法審核,適合標記 |
| 外部文章、參考來源 | 通常不加 nofollow | 引用可信來源不需要 nofollow,這是正常引用行為 |
| 一般內部連結(頁面之間的導航) | 不加 nofollow | 讓 Google 正常追蹤你的架構,避免切斷頁面探索 |
| noindex 頁面的內部連結 | 視情況,通常不加 nofollow | noindex 頁面仍可傳遞連結探索路徑,除非你完全不想讓 Google 從這頁出發 |
canonical 和 noindex 的關係可以參考:Canonical Tag 設了沒用?Google 覆蓋設定時的診斷方法
如何檢查 noindex nofollow 有沒有生效?
檢查順序是先看頁面原始碼或 HTTP header,再用 GSC URL 檢查確認 Google 抓取狀態,最後觀察索引狀態變化,不要只靠瀏覽器畫面判斷。
步驟 1:看頁面原始碼
在瀏覽器按 Ctrl+U(或 Cmd+U),搜尋 meta name="robots"。確認 content 屬性值是你預期的(例如 noindex)。
注意:如果頁面用 JavaScript 動態渲染 meta 標籤,這裡可能看不到,Google 需要完整執行 JS 才能讀到。這種情況下更需要搭配 GSC 確認。
步驟 2:確認 HTTP header
用 curl 或 DevTools Network 面板確認 response header 有沒有 X-Robots-Tag:
curl -I https://nitikarn-clinic.com/diagnosis/robots-txt-seo
查看輸出裡有沒有:x-robots-tag: noindex
步驟 3:GSC URL 檢查工具
- 打開 Google Search Console,在頂部搜尋框貼上要檢查的頁面 URL
- 點「測試即時 URL」
- 展開「索引涵蓋範圍」→ 確認「Google 看到的 robots 指令」是否包含 noindex
- 確認「可以收錄嗎」的狀態
步驟 4:確認索引狀態
在 Google 搜尋輸入 site:nitikarn-clinic.com/diagnosis/noindex-nofollow-seo(替換成你自己的網域與路徑),確認是否還出現。這個方法不是即時的,Google 要下次抓取並處理後才會反映,通常需要幾天到幾週。
GSC 更多操作說明:Search Console 索引狀態看不懂?四種狀態的診斷與修復方法
誤設 noindex 導致流量掉,怎麼救?
先確認掉流量的 URL 是否出現 noindex,移除錯誤指令後重新提交 sitemap 或使用 URL 檢查要求索引,再觀察 Google 是否重新抓取。
有個 B2B 客戶的情況是他們在 WordPress 外掛更新後,某個範本的 noindex 預設值被開啟,導致整個部落格分類頁都加了 noindex。GSC 的索引涵蓋範圍報告開始出現大量「已排除:noindex 標記」,但他們過了三週才發現,因為流量是慢慢掉的。
如果你發現類似情況,排查的第一步是:
- 打開 GSC → 索引 → 頁面 → 篩選「理由:noindex 標記(使用者宣告)」,確認哪些 URL 被排除
- 抽查幾個頁面的原始碼,確認
<meta name="robots" content="noindex">是否存在 - 如果是外掛設定問題,先修正範本或批次設定
- 移除錯誤的 noindex 後,回到 GSC URL 檢查工具,對重要頁面點「要求索引」
- 更新或重新提交 sitemap.xml
- 等 Google 重新抓取,觀察 GSC 覆蓋範圍圖表的「已索引」數量變化
這裡要注意:即使移除了 noindex,Google 也不會立即重新收錄,需要等下次抓取。要求索引可以加快這個過程,但不是即時的。
索引覆蓋問題的完整說明:Search Console 索引涵蓋範圍報告:哪種狀態要修、怎麼修
noindex nofollow FAQ
noindex 和 nofollow 的差異是什麼?
noindex 是告訴搜尋引擎不要把這個頁面加進索引,頁面不會出現在搜尋結果;nofollow 是告訴搜尋引擎不要追蹤這個頁面上的連結(或不要把這個連結當作背書)。兩者解決的問題不同,可以單獨使用,也可以同時使用。
noindex follow 是什麼意思?
noindex follow 的意思是:這個頁面不要收錄進索引,但頁面上的連結仍然正常追蹤。這是最常見的 noindex 用法,適合你不想讓這頁出現在搜尋結果,但頁面上有值得 Google 發現的連結。
如何確認 noindex 有沒有加成功?
查看頁面原始碼(Ctrl+U),在 head 區塊找 meta name="robots",確認 content 有 noindex。再用 GSC URL 檢查工具確認 Google 看到的 robots 指令。
加了 noindex 頁面多久會從 Google 消失?
沒有固定時間。Google 必須先重新抓取這個頁面,讀到 noindex 後才會開始處理移除,通常需要幾天到幾週。可以在 GSC URL 檢查工具點「要求索引」來請求重新抓取,加快這個流程,但不保證立即生效。
robots.txt 和 noindex 哪個比較有效?
兩者的作用層面不同,不能直接比較。robots.txt 控制的是抓取(Googlebot 要不要進來),noindex 控制的是索引(要不要收錄)。如果你想讓頁面不被收錄,應該用 noindex,而且要確認 robots.txt 沒有擋住該頁的抓取,否則 Google 可能看不到 noindex 指令。
noarchive 是什麼?
noarchive 是 robots meta 的另一個值,告訴 Google 不要在搜尋結果顯示「網頁快取」連結,但不影響索引本身。如果你只是不想讓用戶看到快取版本,可以加 noarchive,頁面還是會正常出現在搜尋結果。
網頁上的外部連結都要加 nofollow 嗎?
不用。一般的外部引用(例如引用資料來源)不需要 nofollow,這是正常的內容行為。需要 nofollow 或 sponsored 的情況是:你收了對方的費用而放連結、你不願為這個連結背書、或連結是用戶產生的,你無法審核。
canonical 和 noindex 可以同時用嗎?
可以,但通常不需要,因為兩者的目的不同。canonical 是告訴 Google「這個頁面的正式版本是另一個 URL」,適合處理重複內容問題;noindex 是告訴 Google「這個頁面不要收錄」。如果你的目的是把重複頁面的訊號導向主要頁面,用 canonical;如果你的目的是讓這個頁面完全不進索引,用 noindex。
如果 noindex 是由 JavaScript 動態注入,而非寫在初始 HTML 中,Googlebot 在渲染失敗時可能讀不到這個設定。詳見:JavaScript SEO:JS 注入 noindex 的診斷方法。