WordPress 標籤 slug 有空格會怎樣?網址編碼、404 與正確設定方式

WordPress 標籤名稱可以有空格,但 slug 最好不要直接保留空格。例如標籤名稱可以是 The Mom Test,slug 建議設定為 the-mom-test。如果舊資料、匯入、外掛或其他建立流程讓 slug 真的存成 The Mom Test,網址可能出現 %20,在某些路由情況下造成標籤頁 404。修正時應保留標籤名稱,只調整 slug,並視舊網址是否曾公開或被索引,補上 301 轉址。

有些 WordPress 404 問題不是文章被刪掉,也不是分類不存在,而是網址本身的 slug 留下了不乾淨的格式。

整理 404 Logs 時,很容易遇到一種讓人困惑的情況:WordPress 後台明明有某個標籤,文章也確實有使用它,但前台請求的網址卻出現:

/tag/The%20Mom%20Test/

乍看之下只是網址把空格轉成 %20,似乎沒什麼大問題;實際測試卻可能發現,這個標籤頁直接回傳 404。進一步檢查才會發現,真正異常的地方不是標籤名稱,而是 slug 直接被存成了:

The Mom Test

修正時不用把標籤名稱改掉,只要把 slug 改成:

the-mom-test

新的標籤頁就能用乾淨、穩定的網址存取。這個案例很適合提醒所有使用 WordPress 經營內容網站的人:標籤名稱可以照正常語言寫,但 slug 最好使用小寫英文與連字號,不要把空格直接留在 slug 裡。

標籤名稱可以有空格,真正要注意的是 slug

WordPress 的「標籤名稱」和「slug」是兩件不同的事。

標籤名稱是訪客看到的文字,可以自然書寫,例如:

  • The Mom Test
  • Google Tag Manager
  • Never Split the Difference
  • WordPress LMS

這些名稱保留空格完全沒有問題,因為它們是給人看的。

slug 則是網址的一部分,應該盡量簡單、穩定,而且適合放進 URL。比較好的設定方式是:

標籤名稱 建議 slug
The Mom Test the-mom-test
Google Tag Manager google-tag-manager
Never Split the Difference never-split-the-difference
WordPress LMS wordpress-lms

因此,重點不是「標籤不能有空格」,而是不要把帶空格的名稱原封不動拿來當 slug。

為什麼網址中的空格會變成 %20?

URL 在傳輸時不能把一般空格直接當成普通字元處理,因此瀏覽器或系統會進行百分比編碼(percent-encoding),空格常會表現為 %20。

如果 slug 真的是:

The Mom Test

請求網址就可能變成:

/tag/The%20Mom%20Test/

%20 本身不是「錯誤碼」,也不是看到它就代表 SEO 有問題。真正的問題是:WordPress 的分類法重寫規則(taxonomy rewrite)、伺服器規則、外掛或既有資料如果沒有把這個格式正確解析成同一個標籤,就可能找不到對應的分類法詞彙(term),最後回傳 404。

所以不能簡化成「網址看到 %20 一定壞掉」。比較準確的說法是:slug 留空格會增加網址處理與路由不一致的風險,而乾淨的連字號 slug 通常更穩定。

正常 WordPress 不是會自動把空格改成連字號嗎?

會。WordPress Core 本身有 sanitize_title() 與 sanitize_title_with_dashes() 這類處理機制。正常建立文章、分類或標籤時,WordPress 通常會把空白整理成適合網址使用的格式。

例如類似「This Long Title」的文字,正常情況下會整理成以連字號分隔的 slug,而不是直接把空格保留在網址欄位裡。

但實務上,網站經營久了之後,資料不一定永遠只經過標準後台流程。以下情況都可能留下歷史資料:

  • 早期版本建立的標籤。
  • 資料庫匯入或搬站。
  • 外掛批次建立分類法詞彙(taxonomy term)。
  • 自製程式、API 或其他自動化流程寫入。
  • 曾經修改過 slug,再經過不同工具同步。

因此,不要因為「WordPress 理論上會自動處理」就假設資料庫裡一定沒有異常 slug。最可靠的方式還是直接檢查實際 term slug 與前台網址。

為什麼這不是小事?因為 Tag 網址會被網站反覆使用

標籤頁不像一個完全獨立、只會被打開一次的頁面。只要文章有套用某個 Tag,WordPress 佈景主題、文章資訊區、標籤雲、相關文章、Sitemap 或其他外掛,都可能輸出這個標籤網址。

假設一個網站只有 3 個異常 Tag,問題可能不明顯;但內容累積幾年後,若有幾十個、甚至上百個 Tag 的 slug 格式不一致,404 Logs 就可能開始出現一整批帶 %20 的網址。

這時候真正的成本不是單一 404,而是維護複雜度會一直增加:

  • 搜尋引擎可能持續重新請求舊 Tag 網址。
  • 文章頁輸出的標籤連結可能把爬蟲帶去 404。
  • 網站搬家、換外掛或整理網址時,更難判斷哪些網址才是正式版本。
  • 日後要分析 404 Logs,會被大量歷史 Tag 網址干擾。
  • 同一個標籤可能同時留下大小寫、空格編碼與新 slug 等多個網址版本。

因此,整理 Tag slug 的目的不是為了「看起來漂亮」,而是讓網站長期只保留一個清楚、穩定的正式網址。對文章很多、Tag 很多的網站來說,這會直接降低後續 SEO 與站務維護的成本。

這種問題為什麼會出現在 404 Logs?

當搜尋引擎、其他爬蟲、站內連結或訪客請求舊標籤網址,而 WordPress 找不到對應內容時,就可能留下 404 紀錄。

例如舊網址:

/tag/The%20Mom%20Test/

即使你現在已經沒有主動貼這條連結,搜尋引擎過去抓過、文章頁曾經輸出過 Tag 連結、瀏覽器收藏、外部網站引用,甚至只是爬蟲重新檢查舊網址,都可能再次請求它。

所以 404 Log 裡的 Hit 不應直接理解成「有幾個真人點擊」。它只能先告訴你:這個網址曾經被請求,而且當時沒有正常取得內容。

排查時,應先確認它到底是垃圾掃描、已停用內容、舊網址,還是網站現在仍然存在的結構問題。不要看到 404 就全部導向首頁。

正確設定方式:The Mom Test → the-mom-test

如果你正在新增 WordPress 標籤,最簡單的原則就是把「顯示名稱」和「網址 slug」分開處理。

例如:

名稱:The Mom Test
slug:the-mom-test

名稱保留原本書名或正式名稱,訪客看到的文字不需要為了網址而變成「The-Mom-Test」。slug 則統一使用小寫英文、數字與連字號。

這樣做有幾個好處:網址比較容易閱讀、不同系統處理結果較一致,也能降低大小寫、空格與特殊字元造成的路由問題。Google 的網址結構指南也建議用連字號分隔網址中的字詞,並盡量維持清楚、容易理解的 URL。

已經有空格 slug,應該怎麼修?

如果網站已經運作一段時間,不要只把 slug 改掉就結束。比較安全的做法是依序處理:

  1. 先確認這個 Tag 真的存在。不要因為 404 Log 有一條網址,就直接假設它一定是標籤資料。
  2. 保留標籤名稱。例如名稱仍然叫「The Mom Test」,只修改 slug。
  3. 把 slug 改成乾淨格式。例如 the-mom-test。
  4. 測試新網址。確認 /tag/the-mom-test/ 能正常回傳 200。
  5. 舊網址有使用紀錄時補 301。如果舊網址曾公開、被搜尋引擎抓過、出現在文章連結或 404 Logs,就把舊網址導向新的 Tag 網址。
  6. 檢查站內連結。如果文章正文、選單、頁尾或其他區塊仍直接寫死舊網址,應同步改成新網址。
  7. 持續觀察 404 Logs。確認新的 Tag 404 沒有繼續產生。

301 的作用不是「把錯誤藏起來」,而是清楚告訴瀏覽器與搜尋引擎:這個舊網址已經永久移到新的位置。如果既有網址必須更動,這也是網址維護時很重要的一步。延伸可以看WordPress 換主機前後的 SEO 檢查,裡面也有整理網址變動與轉址的處理原則。

不要因為 404 很多,就把所有網址全部轉址

404 Logs 常常混著很多不同來源。有些是歷史網址,有些是外掛或主題探測,有些是安全掃描,有些甚至是亂數路徑。

真正適合做 301 的情況,是「舊網址有明確的新對應位置」。例如:

/tag/The%20Mom%20Test/
→ /tag/the-mom-test/

兩邊指的是同一個標籤,只是 slug 格式修正,這種一對一關係很清楚。

反過來說,如果是一個完全不存在的掃描網址,或根本沒有替代內容,就不應為了消除 404 硬導到首頁。錯誤轉址太多,反而會讓網站結構更混亂。

空格之外,大小寫與特殊符號也要一起整理

如果已經要整理 slug,不要只把空格換成連字號就停止。網址規則最好一次統一,尤其是英文 Tag。

例如下面這些原始名稱:

Google Tag Manager
Conway's Law
Marketing 6.0
Release It!

顯示名稱可以完全保留,但 slug 可以整理成:

google-tag-manager
conways-law
marketing-6-0
release-it

這樣做的核心不是追求某一種「唯一正確」拼法,而是避免同一個網站同時出現大寫、小寫、空格、句點、撇號與驚嘆號等不同規則。Google 也提醒網址有大小寫差異時,可能被視為不同網址,因此能統一時,使用一致的小寫格式會比較容易管理。

另外,特殊符號怎麼被清理,最好交給 WordPress 正常的 slug 清理機制,再回讀實際結果,不要只靠人工猜。例如 Conway's Law 最後可能整理成 conways-law;修改後應以 WordPress 實際儲存的 slug 為準,再建立舊網址到新網址的 301。

大量 Tag 要批次修改時,先做這 6 項檢查

如果只改 1 個 Tag,可以逐項人工檢查;如果一次要處理幾十個以上,就要把安全檢查放在前面。否則最怕的不是「少改一個」,而是大量修改後才發現 slug 衝突或文章關聯被破壞。

  1. 列出所有 slug 含空格的 Tag。先知道範圍,不要邊看 404 邊隨機修改。
  2. 先算出預計的新 slug。例如空格轉連字號、英文轉小寫,再檢查是否會撞到既有 Tag。
  3. 修改前記錄文章關聯數量。改 slug 不應改變 Tag 本身,也不應讓原本套用這個 Tag 的文章消失。
  4. 每一筆都保留舊網址與新網址對照。只有同一個 Tag 的舊、新網址才適合做一對一 301。
  5. 修改後測試新 Tag 頁回應。至少確認新網址能正常開啟,而不是只看到後台顯示「已更新」。
  6. 最後再重新掃描。確認整站已沒有 slug 含空格的 Tag,同時持續觀察 404 Logs 是否還冒出同類型問題。

大量修改最適合採取「小批次、每批回讀」的方式。每完成一批就確認 slug、文章數量與轉址結果,再往下一批。速度可能比一次全部改慢一點,但出問題時比較容易定位,也比較不會把錯誤擴大。

設定新標籤時,養成這 5 個習慣

要避免同樣問題再次出現,可以把標籤建立規則簡化成以下 5 點:

  1. 標籤名稱照正常語言寫,不必為了 URL 犧牲可讀性。
  2. slug 使用小寫英文。
  3. 多個單字用連字號 - 分隔。
  4. 避免直接留下空格,也盡量減少不必要的特殊符號。
  5. 建立後實際開一次前台 Tag 頁,確認網址正常,不要只看後台已儲存。

這個習慣看起來很小,但網站文章累積到幾百篇、上千個 Tag 之後,早期不一致的 slug 很容易變成大量 404、轉址與維護工作。

如果你把網站內容當成長期資產,網址一開始就保持穩定,後面會省很多事情。關於這一點,可以延伸閱讀課程網站可以累積 SEO 嗎?文章為什麼是長期流量資產。

常見問題

WordPress 標籤名稱有空格會造成 404 嗎?

不一定。標籤名稱本身有空格沒有問題,例如「The Mom Test」可以正常顯示。要特別檢查的是 slug 是否真的把空格存進去。正常 WordPress 通常會整理 slug,但舊資料、匯入或外掛建立的 term 仍可能留下異常格式。

網址出現 %20 就代表錯誤嗎?

不是。%20 是空格的百分比編碼,本身不是 HTTP 錯誤。是否會變成 404,要看伺服器與 WordPress 是否能把該網址正確解析到實際內容。

標籤 slug 可以用中文嗎?

可以,WordPress 與現代瀏覽器可以處理中文網址。不過如果網站希望 slug 容易複製、跨系統處理一致,也可以採用簡短英文。重點是建立一致規則,而不是看到中文就一定要修改。

改 Tag slug 之後一定要做 301 嗎?

如果舊網址已經公開使用、被搜尋引擎收錄、被外部網站引用,或在 404 Logs 中持續有人請求,建議做一對一 301。若是尚未公開的新 Tag、舊網址從未使用,就不一定需要額外建立轉址。

標籤很多,要不要一次全部改 slug?

先盤點再改。若確認是一整批相同格式問題,可以批次處理,但應先檢查 slug 衝突、文章與 Tag 關聯、舊網址轉址,以及修改後的新網址是否正常。不要只改資料庫值卻沒有驗證前台。

結論:名稱可以自然寫,slug 要保持乾淨

WordPress 標籤最容易混淆的地方,就是「名稱」和「slug」看起來很像,實際用途卻不同。

名稱是給人看的,所以可以保留:

The Mom Test

slug 是網址的一部分,建議設定成:

the-mom-test

如果網站已經出現 /tag/The%20Mom%20Test/ 這類 404,不要只刪 Log,也不要直接把所有 404 導向首頁。先確認 Tag 是否存在、slug 是否含空格,再修正成乾淨網址,補上必要的 301,最後測試新網址是否正常回傳 200。

這類問題通常不難修,真正麻煩的是拖到標籤累積很多之後才一起整理。從新增標籤的那一刻就把 slug 寫乾淨,會是最省事的做法。

參考資料

WordPress Developer Resources|sanitize_title()|2026年查閱
WordPress Developer Resources|sanitize_title_with_dashes()|2026年查閱
Google Search Central|Google 搜尋的網址結構最佳做法|2026年查閱

元氣站長
元氣站長

經營網路事業,賺取持續收入!
網路賺錢修煉,成就理想人生!