Noindex 標籤(Noindex)是什麼?|SEO・GEO 百科

Noindex 是放進網頁的指令,告訴 Google 這一頁不要收進搜尋結果。說明它的兩種設定方式,以及和 robots.txt 一起用時最容易踩的坑。

Noindex 是一個你可以放進網頁的指令,用來告訴 Google 這類搜尋引擎:「這一頁請不要收進搜尋結果裡。」簡單說,它的工作就是讓某一頁「存在、打得開,但不出現在 Google 搜尋上」。

重點速覽

  • 只能放在 HTML 的 <meta> 標記或 HTTP 的 X-Robots-Tag,寫進 robots.txt 是無效的。
  • 最大的雷是「robots.txt 擋住」和「noindex」並用:爬蟲進不來就讀不到 noindex,反而可能照樣被收錄。
  • noindex 跟 nofollow、canonical 都不一樣,想藏頁面用 noindex,想集中重複內容用 canonical

Noindex 標籤是什麼?

依 Google 官方說明,noindex 是一條「規則」,你可以用兩種方式設定:一種是 HTML 裡的 <meta> 標記,另一種是伺服器回傳的 HTTP 標頭(X-Robots-Tag)。

只要是支援這條規則的搜尋引擎(例如 Google),當它的爬蟲 Googlebot 抓到這一頁、讀到 noindex,就會把整頁從搜尋結果裡拿掉——即使有別的網站連結到它,也一樣不會出現。

最常見的寫法,是在網頁的 <head> 區塊裡加一行:

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

這裡的 robots 代表「對所有讀得懂這規則的爬蟲」都生效;如果你只想針對 Google,可以把 robots 換成 googlebot

另一種方式是 X-Robots-Tag,它寫在 HTTP 回應標頭裡,例如 X-Robots-Tag: noindex。它的效果和 <meta> 標記一樣,但有一個 meta 做不到的優勢:可以套用在「不是 HTML」的檔案上,例如 PDF、圖片、影片,這也是它最常見的用途。

要特別強調一個 Google 白紙黑字寫明、新手最該先記住的前提:noindex 要生效,這一頁就「不能被 robots.txt 擋住」,而且要讓爬蟲進得來。如果頁面被 robots.txt 擋住,爬蟲根本看不到裡面的 noindex,這一頁反而可能繼續留在搜尋結果裡。


用白話文怎麼說?

你可以把 noindex 想成貼在店門口的一張「本日不對外」的小牌子。

店還在、燈還亮著、門也打得開(網址照樣能連),只是你掛了一張牌子告訴「帶客人來逛的導覽員」(搜尋引擎):這間店不要收進你的推薦名單,請別帶人進來。導覽員看到牌子,就會把這間店從它給客人的清單裡劃掉。

但這裡有個關鍵:導覽員必須「走到門口、看得到那張牌子」才算數。

如果你在巷子口就拉了一條封鎖線,不讓導覽員走進這條巷子(這就是 robots.txt 的「不准爬」),那他根本到不了門口,也就看不到「本日不對外」的牌子——結果反而可能憑著「聽說這裡有間店」,把它掛進清單裡。

你可以這樣記:noindex 是「請別把我列進搜尋」的牌子,但前提是搜尋引擎得先進得來、看得到這張牌子。


Noindex 標籤實際上要做什麼?

noindex 的用途很單純:把「你不想被搜尋到、但又得保留」的頁面,藏起來不進搜尋結果。

常見情境包括:感謝頁、結帳完成頁(像「訂閱成功」「表單已送出」這種只給特定使用者看、沒必要被搜尋的頁);站內搜尋結果頁(內容雜、價值低,通常不希望被 Google 收錄);後台、登入、測試頁;以及重複或單薄的彙整頁(某些標籤頁、篩選頁,當內容太薄或太重複時)。

實際操作上,多數新手其實不用自己手寫程式碼:WordPress 搭配 Yoast、Rank Math 等 SEO 外掛,每篇文章或頁面都有一個開關(類似「是否允許搜尋引擎顯示這篇?」),選「否」就會自動幫你加上 noindex;非 HTML 檔案(PDF、圖片)想擋,就請工程師在伺服器設定 X-Robots-Tag 標頭。

如果你的目標是「把一個已經被收錄的頁面,從搜尋裡拿掉」,Google 建議的標準流程是:

  • 第一步,在那一頁加上 noindex。
  • 第二步,確認這一頁「沒有」被 robots.txt 擋住,讓 Googlebot 能再次抓到它。
  • 第三步,等 Google 重新爬過、讀到 noindex,才會把它移除——這需要時間,不是立刻發生。

如果你需要很急地把某個網址從搜尋拿掉,可以搭配 Google Search Console 的「移除工具」做暫時性隱藏,但那只是暫時的;要真正、長期移除,還是得靠頁面上的 noindex。


關於 Noindex 標籤的常見迷思

迷思一:用 robots.txt 擋住,再加 noindex,最保險

剛好相反,這是最經典的錯誤。robots.txt 的 Disallow 是叫爬蟲「不要爬這頁」;可是 noindex 是寫在「頁面裡面」的,爬蟲得進到頁面才讀得到。

你一邊不讓它進、一邊又把「請別收錄」的紙條藏在門裡,它永遠看不到那張紙條。

結果這頁可能變成 Google Search Console 裡那個有名的狀態:「已建立索引,但遭 robots.txt 封鎖」。

正解是:想 noindex,就「不要」用 robots.txt 擋它,讓爬蟲進得來、讀得到 noindex。

迷思二:noindex 和 nofollow 是同一件事

不是。noindex 管的是「這一頁要不要出現在搜尋結果」;nofollow 管的是「要不要追蹤這一頁上的連結」。兩者各管各的,也可以一起寫成 noindex, nofollow

如果只想把頁面藏起來、但仍讓 Google 順著頁內連結去爬其他頁,用 noindex(預設等於 noindex, follow)即可。

迷思三:把 noindex 寫進 robots.txt 就行了

行不通。早年確實有人在 robots.txt 裡寫 noindex,但那從來不是正式規範,Google 已在 2019 年 9 月 1 日正式停止支援這種寫法。

換句話說,今天把 noindex 放進 robots.txt 是無效的。正確位置只有兩個:HTML 的 <meta> 標記,或 HTTP 的 X-Robots-Tag 標頭。

迷思四:noindex 等於 canonical 標籤

不一樣。canonical 是處理「重複內容」,把好幾個相似網址的功勞集中到一個主網址,那些頁面通常還是想被搜尋到的;noindex 則是直接讓一頁「從搜尋消失」。

Google 也明講:不要用 noindex 來做網址標準化,因為那會把頁面整個移出搜尋,過頭了。想集中重複內容用 canonical,想徹底藏起來才用 noindex。

迷思五:加了 noindex,頁面馬上就會不見

不會立刻。Google 必須「重新爬到」這一頁、讀到 noindex,才會把它從索引移除,這通常要等上一段時間。也因此,前提永遠是讓頁面保持可被抓取——如果你急著加 noindex 又馬上用 robots.txt 擋住,反而會讓 Google 一直看不到 noindex,弄巧成拙。


總結

如果只記一句話:noindex 是一張「請不要把這頁收進搜尋結果」的指令,頁面照樣存在、打得開,只是不出現在 Google 上。

新手可以記住三件事。

  • 第一,它只放在兩個地方——HTML 的 <meta name="robots" content="noindex">,或 HTTP 的 X-Robots-Tag,寫進 robots.txt 是無效的。
  • 第二,最大的雷是「robots.txt 擋住」和「noindex」並用:爬蟲進不來就讀不到 noindex,反而可能照樣被收錄。
  • 第三,noindex 跟 nofollow、canonical 都不一樣,別混用;想藏頁面用 noindex,想集中重複內容用 canonical。

參考資料