有一種 SEO 手法,表面上是「幫搜尋引擎多讀一點內容」,實際上卻踩在 Google 明令禁止的紅線上:把 H1 或其他文字設成只給爬蟲看、對訪客隱藏。我在健檢一家工業儲存廠商時,就在首頁原始碼裡挖到一個這樣的隱藏 H1。這篇我把隱藏 H1 與 Cloaking(掩飾)的來龍去脈講清楚:它怎麼發生、為什麼危險、跟正當的視覺處理差在哪,以及該怎麼安全地修回來。這不是危言聳聽,而是我實際處理過、也真的會影響排名的問題。

1. 隱藏 H1 是怎麼發生的,又為什麼危險

1.1 一個只給爬蟲看的 H1 長什麼樣

典型的隱藏 H1,會掛上一個像是專門給爬蟲用的類別名稱,例如某種 crawal-only 之類的 class,然後用樣式把它藏起來,讓一般訪客在畫面上完全看不到,但搜尋引擎讀原始碼時仍讀得到。做這件事的人通常出於一個看似合理的念頭:頁面設計上不想放一個大標題破壞版面,又想讓 Google 讀到含關鍵字的 H1,於是折衷成「藏起來只給機器看」。我在實務上看過不少這種設計,動機都不壞,但方法錯了。

1.2 這正是 Cloaking 的定義

把「給搜尋引擎看的內容」和「給使用者看的內容」做成不一樣,這在 SEO 領域有個專有名詞叫 Cloaking,中文常譯作掩飾或偽裝。隱藏 H1 就是 Cloaking 的一種具體形式:爬蟲讀到一個 H1,訪客卻看不到它。問題的核心不在於那個 H1 寫了什麼,而在於「兩邊看到的東西不一致」這件事本身。搜尋引擎的立場很清楚,它希望排給使用者的頁面,就是使用者真正會看到的頁面,任何刻意製造的落差,它都視為操弄。

1.3 Google 品質指南為什麼把它列為紅線

隱藏內容之所以被 Google 品質指南明令禁止,是因為它動搖了搜尋結果的可信基礎。如果允許網站對爬蟲和訪客展示不同內容,搜尋引擎就無法保證它排上來的頁面名副其實。所以這類行為的風險不是「效果打折」,而是「可能導致網站受到排名懲罰」。我要特別強調這個層級差異:一般的 SEO 缺失頂多是少賺,Cloaking 卻是可能倒賠。H1 本來就應該是頁面上可見且最重要的標題,把它藏起來,等於同時放棄了它該有的正當價值,又扛上了被判作弊的風險。

2. 我在一家工業儲存廠商看到的實例

2.1 首頁那個只對爬蟲顯示的 H1

我健檢這家工業儲存廠商時,在首頁發現了一個帶著 crawal-only class、僅對爬蟲顯示卻對用戶隱藏的 H1。這個 H1 塞了品牌與產業定位的關鍵字,用意顯然是想強化首頁的主題訊號。但它從頭到尾不出現在使用者的畫面上。我當下的判斷是:這正是 Google 品質指南點名的隱藏內容,得優先處理。修法方向不是把它刪掉了事,而是把它扶正成一個真正可見的主標題,讓爬蟲和訪客看到的是同一個。

2.2 連 div 都藏了一段文字

同一個網站上我還發現,不只 H1,連一般的 div 也用了同樣的 crawal-only 手法,藏了一段像是 SUCCESS STORIES 的文字。這段藏起來的文字,嚴格說對 SEO 的直接影響比隱藏 H1 小,因為它不是標題等級的訊號。但我仍然建議一併移除,理由在下一節。而且這種寫法不是單一頁面的意外,我在全站好幾個頁面都看到類似的結構,這代表它是模板層級的習慣,得整批處理,不能只修首頁。

2.3 class 語意分析的潛在風險

為什麼一段影響不大的隱藏 div 我也主張移除?因為風險是往前看的。現在的爬蟲或許還沒有針對 class 名稱做深入的語意分析,但沒有人能保證未來不會。一個明擺著寫著「只給爬蟲看」意圖的 class 名稱,一旦搜尋引擎開始分析 class 的語意,很可能被解讀成刻意區隔爬蟲與用戶的訊號,那時候整個網站的信任分數都可能受牽連。我的做法是不留這種模稜兩可的東西,趁還沒出事先清乾淨,成本低,也免除後患。

3. 為什麼「善意的隱藏」也不該做

3.1 你以為在補 SEO,其實在賭懲罰

隱藏 H1 最弔詭的地方,是做的人往往真心以為自己在做 SEO。但這筆帳要這樣算:一個隱藏的 H1,帶來的好處頂多是多一個關鍵字訊號,而它一旦被判定為 Cloaking,代價可能是整站排名受罰。這是一個報酬極小、風險極大的賭注。我的立場很直接:任何需要對使用者藏起來才能成立的 SEO 手法,本質上都是在賭 Google 不會發現,而 Google 的偵測能力只會愈來愈強,這種賭注長期一定輸。

3.2 可訪問性同時受害

隱藏 H1 傷的不只是 SEO,還有可訪問性。使用螢幕閱讀器的訪客,是靠頁面的標題結構在導覽的。一個視覺上不存在、卻在原始碼裡的 H1,會讓螢幕閱讀器讀出一個畫面上根本找不到對應的標題,造成困惑。反過來,如果頁面該有的可見主標題被這種隱藏 H1 頂替掉,視力正常的使用者也失去了快速掌握頁面主題的入口。一個正當、可見的 H1,是同時服務搜尋引擎、AI 與所有使用者的,沒必要藏。

3.3 隱藏內容與正當視覺處理的界線

有人會問:那我用 CSS 做一些視覺效果,會不會也算 Cloaking?關鍵在於「使用者最終看不看得到、以及意圖是不是為了欺騙」。下面這張表把常見情境分成兩類,幫你判斷自己的做法落在哪一邊。

做法 使用者看得到嗎 判定
H1 用 crawal-only class 藏起來只給爬蟲 看不到 Cloaking,違規
用同色字或極小字塞關鍵字 幾乎看不到 隱藏文字,違規
圖片替代文字描述圖片內容 看不到但屬正當替代 合規
手風琴、分頁展開後才顯示的內容 互動後看得到 合規
螢幕閱讀器輔助文字(sr-only)描述互動元件 視障者可讀,屬輔助 合規但須克制

分界其實很好記:內容是為了「幫助使用者理解」還是為了「只餵給搜尋引擎」。前者合規,後者違規。sr-only 這類輔助文字雖然合規,但我建議克制使用,只拿來描述純圖示按鈕之類真的需要的地方,別拿它偷渡關鍵字。

4. 正確的修法:讓 H1 見光

4.1 把隱藏 H1 換成可見的主標題

修隱藏 H1 的正解,是讓它現身。以那家工業儲存廠商為例,我的處理是移除首頁那個只對搜尋引擎可見的 H1 class,把它改成一個真正顯示在頁面上的主標題,內容就用能代表品牌與產業定位的一句話,例如點明它是工業級儲存領導品牌的那類定位文案。這樣一來,爬蟲讀到的 H1 和訪客看到的標題完全一致,Cloaking 的疑慮消失,H1 也回到它該有的正當功能。要注意的是插入的可見文案內容要事先確認,別為了趕工塞一段沒人審過的字。

4.2 全站掃描同類 class

單修首頁不夠。既然這種 crawal-only 的寫法是模板習慣,就一定散落在其他頁面。我的做法是全站掃一遍,把所有帶著同類 class 的隱藏元素都揪出來,逐一判斷該扶正還是移除:屬於標題等級的比照 H1 處理,改成可見;純粹藏文字的直接刪掉。這一步最容易被省略,因為首頁改完看起來就沒事了,但只要模板還留著那個 class,新頁面就會繼續複製同樣的問題。斬草要除根。

4.3 之後新頁面怎麼避免重蹈覆轍

治標之後要治本。我會把「不使用只對爬蟲顯示的隱藏內容」寫進前端的開發規範,並在改版時確認新的頁面模板不會再產生這種 class。這樣做的好處是,修正不只是清掉現有的問題,而是讓之後產出的新網頁從源頭就不會再出現這種狀況。SEO 的技術債最怕的就是修了又長,把規則寫進流程,才不會每次健檢都在處理同一件事。

5. 常見問題

5.1 隱藏 H1 一定會被 Google 懲罰嗎?

不是每次都會即時觸發處分,但它明確違反 Google 品質指南,屬於可能導致排名懲罰的行為。我的立場是不要用機率賭運氣:它帶來的好處極小,潛在代價卻是整站排名,這種不對等的賭注不值得下。發現了就盡快改成可見。

5.2 用 CSS 的 display:none 藏內容都算 Cloaking 嗎?

不一定。判準是使用者最終看不看得到,以及意圖是否為欺騙。手風琴、分頁這類互動後會展開顯示的內容是合規的,因為使用者操作後就看得到。但把含關鍵字的標題永久隱藏、只留給爬蟲,就是違規。差別在互動可見與刻意隱藏。

5.3 那個藏起來的 div 對 SEO 影響不大,非移除不可嗎?

直接影響確實較小,但我仍建議移除。原因是前瞻性風險:一旦搜尋引擎開始對 class 名稱做語意分析,一個寫明「只給爬蟲」意圖的 class 可能被解讀為區隔爬蟲與用戶的訊號,牽連整站信任度。留著沒好處,清掉沒損失,那就清掉。

5.4 我想強化 H1 的關鍵字,又不想放大標題破壞版面,怎麼辦?

正解是把 H1 設計進版面,而不是藏起來。H1 的視覺不一定要是巨大字體,你可以用合理的字級與排版讓它自然融入頁面,同時保有含關鍵字的可見標題。設計與 SEO 不衝突,衝突的是「想要好處又不想露臉」的心態。

5.5 螢幕閱讀器專用的 sr-only 文字算違規嗎?

用得正當就不算。sr-only 是給輔助技術朗讀、用來補充純圖示按鈕等元件語意的,屬於可訪問性的正當工具。界線在於它是為了幫助視障使用者,而不是拿來對一般使用者藏關鍵字。我的建議是只在真正需要輔助說明的地方用,並且克制,別讓它變成隱藏文字的後門。