URL 是網站上最容易被忽略、卻最難事後修改的東西。它一旦被搜尋引擎收錄、被別人分享出去,你要改就得處理一連串的重導與權重轉移。我做 SEO 二十多年,看過太多網站在上線前沒把 URL 規則想清楚,上線後才發現滿頁都是問號參數與亂碼路徑,回頭修改的成本高得嚇人。這篇我把 URL 該有的樣子拆成幾個判斷點,讓你在動工前就把規則定對。
1. 你的網址如果人看不懂,搜尋引擎也讀不出重點
一個好的 URL,人一眼就能猜到這頁在講什麼。這不是為了美觀,而是因為 URL 本身就是搜尋引擎理解頁面主題的線索之一,也是使用者決定要不要點的依據。網址在搜尋結果、在被分享的訊息裡都會露出,語意清楚的網址天生就比一串亂碼更容易被點。
1.1 語意化命名,讓網址自己說明主題
語意化的意思是用真正描述內容的字詞組成路徑,例如 /products/seo-tools/ 一看就知道是 SEO 工具的產品頁。我的做法是把網址當成一句極短的標題來寫:拿掉它我還看得懂這頁是什麼嗎?如果拿掉路徑裡的字就完全猜不到內容,代表命名不夠語意化。
1.2 網址不是關鍵字堆疊區
語意化不等於把關鍵字全塞進去。我在實務上看過有人把整串目標關鍵字用連字號串成落落長的網址,反而顯得刻意,也讓網址難讀難記。原則是用最少的字把主題講清楚,一個路徑段落對應一個概念,不要為了塞字而讓網址失去可讀性。
1.3 中文網址可以用,但要留意編碼呈現
中文 URL 在台灣網站是可以使用的,語意上對本地使用者甚至更直覺。要注意的是中文在複製、分享時可能被轉成一長串編碼字元,在某些情境下會變得難讀。若你的網址常被貼到外部平台,可以評估中文與英文路徑何者對你的使用者更友善,重點始終是語意清楚、階層一致。
2. 大小寫、符號、連字號,這些小地方最容易出事
URL 的格式細節看起來很瑣碎,卻是最常見的技術性錯誤來源。同一個頁面因為大小寫或符號不同而產生好幾個網址,搜尋引擎會當成不同頁面,內容重複的問題就這樣長出來。
2.1 一律小寫,避免大小寫產生重複頁
在多數伺服器設定下,/Page 與 /page 會被當成兩個不同的 URL。我的做法是全站網址一律小寫,並在伺服器層設定把大寫自動導到小寫版本,從根源杜絕同一頁因大小寫而分裂成多個網址的狀況。
2.2 用連字號分隔字詞,不要用底線
字詞之間用連字號分隔,是搜尋引擎公認能正確斷詞的做法;底線與空白則不建議。空白會被編碼成難看的字元,底線在斷詞判斷上也不如連字號清楚。這是個很小的規則,但一旦定調就要全站一致,不要一部分用連字號、一部分用底線。
2.3 用一張表把常見寫法的好壞看清楚
| 網址寫法 | 問題 | 建議 |
|---|---|---|
| /Products/SEO_Tools/ | 大寫加底線,易產生重複頁 | 改為 /products/seo-tools/ |
| /p?id=123&cat=5 | 動態參數,語意不明 | 改為 /products/seo-tools/ |
| /article/2026/01/post-8842/ | 含流水號,無語意 | 用主題字命名路徑 |
| /我的產品 頁面/ | 含空白,編碼後難讀 | 字詞間用連字號 |
| /services/seo-audit/ | 語意清楚、階層明確 | 維持這種寫法 |
3. 動態參數不是不能用,而是別讓它變成主要網址
問號後面的參數在功能上很方便,篩選、排序、追蹤都靠它。問題出在當這些參數變成頁面被收錄的主要網址時,同一批內容會因為參數順序、追蹤碼不同而生出無數個變體,搜尋引擎抓也抓不完,權重也被稀釋。
3.1 參數會產生無限多個網址變體
我在實務上看過一個篩選功能複雜的網站,光是顏色、尺寸、排序的參數組合,就讓一個分類頁衍生出上千個網址,爬蟲把抓取預算全花在這些幾乎一樣的頁面上,真正重要的內容反而被冷落。參數本身沒錯,錯在放任它們都被當成獨立頁面收錄。
3.2 重要頁面用靜態、語意化的路徑
我的做法是把需要被搜尋引擎收錄、要競爭關鍵字的頁面,一律給它乾淨的靜態路徑,把動態參數留給那些不需要被索引的功能性操作。這樣重要頁面有一個穩定、語意清楚的網址,參數變體則透過 canonical 收斂回主網址,不去分散權重。
3.3 追蹤碼與篩選參數,用 canonical 收斂
行銷用的追蹤參數幾乎一定會出現,這時候 canonical 就是你的安全網。帶參數的網址在 canonical 上指回乾淨的主網址,告訴搜尋引擎「這些變體的正主是這一頁」,權重就不會被切碎。這個習慣可以幫你省掉很多後續的重複內容麻煩。
4. 每頁一個 canonical,是你收斂重複內容的最後防線
canonical 標籤的作用,是在多個網址指向同一份內容時,告訴搜尋引擎哪一個才是正主。它是處理重複內容最直接的工具,但也最常被設錯。我看過 canonical 設定衝突、循環指向的網站,結果搜尋引擎乾脆忽略它的指示,自己選一頁,選的往往不是你想要的那頁。
4.1 每頁都要有自我指向的 canonical
基本原則是:每一頁都設定一個 canonical,而且在沒有重複內容的情況下,它指向自己。這個自我指向看似多餘,卻能在網址被加上追蹤參數、或被別人以不同寫法連過來時,穩穩地把權重收回主網址。這是一個成本很低、保護力很高的習慣。
4.2 避免衝突與循環指向
canonical 最怕互相打架:A 頁指向 B、B 頁又指向 A,或整批頁面指向一個根本不對的網址。我的做法是在改版或大量產頁之後,用抓取工具檢查每頁的 canonical 指向,確認沒有循環、沒有指到 noindex 或不存在的頁面,讓每一條指向都乾淨明確。
4.3 canonical 與 URL 規則要一致
canonical 裡寫的網址,格式要跟你定的 URL 規則完全一致:一樣小寫、一樣的斜線結尾、一樣的協定。如果 canonical 寫的是大寫或缺斜線的版本,跟頁面實際網址對不上,等於自己製造了一組新的不一致。細節一致,收斂才會有效。
5. 路徑要和階層對得起來,網址才不會自打嘴巴
URL 不是孤立存在的,它是網站階層的投影。路徑的每一段都應該對應頁面在結構中的位置。當網址路徑跟導覽、麵包屑講的是同一個故事,搜尋引擎對頁面歸屬的判斷才會一致。
5.1 路徑階層對應實際結構
/services/seo-audit/ 這樣的路徑,清楚說明它是「服務」底下的「網站稽核」。使用者從網址就能推斷自己在網站的哪一層,爬蟲也能從路徑讀出階層關係。反過來,若一個服務詳頁的網址跟服務總覽毫無路徑關聯,爬蟲就得多花力氣去理解它的歸屬。
5.2 網址、麵包屑、導覽講同一個故事
我的做法是把 URL 路徑、麵包屑、導覽三者放在一起檢查,確認它們對頁面的分類是一致的。三者一致時,搜尋引擎收到的是同一個明確訊號;三者各說各話時,訊號就矛盾。URL 是這三者裡最難改的一環,所以更值得在一開始就定對。
5.3 改網址前,先想好重導計畫
URL 一旦上線就有慣性,別人的連結、搜尋引擎的收錄都綁在舊網址上。我在實務上看過網站為了「讓網址更漂亮」就直接改路徑、卻沒做重導,結果舊網址全變 404,累積的排名一夕蒸發。要改網址,務必用 301 把舊網址永久導向新網址,把權重完整地轉過去。
6. 常見問題
6.1 網址裡到底要不要放關鍵字?
放一到兩個真正描述內容的核心字詞是合理的,能幫使用者與搜尋引擎判斷主題。但不要把整串關鍵字堆進網址,那樣既難讀又顯得刻意。原則是語意清楚、一段路徑對應一個概念,而不是把網址當成關鍵字的堆疊區。
6.2 已經上線的醜網址,值得回頭改嗎?
要看代價與收益。改網址必須搭配 301 重導,並更新內部連結與 sitemap,過程有一定風險。若舊網址只是稍微不夠漂亮、排名也穩定,通常不急著動;若它有動態參數失控、重複內容嚴重等實質問題,才值得規劃一次完整的重導再處理。
6.3 帶追蹤參數的網址會被當成重複內容嗎?
如果沒有處理,同一頁加上不同追蹤參數會被視為多個網址,確實有重複內容風險。標準做法是在頁面設定自我指向的 canonical,讓所有帶參數的變體都收斂回乾淨的主網址,權重就不會被切散。
6.4 canonical 設定自己指向自己,不是多此一舉嗎?
不是。自我指向的 canonical 是一道保護:當網址被加上參數、或被人用大小寫不同的寫法連過來時,它能把這些變體的權重收回主網址。這個習慣成本很低,卻能預防很多難以事後追查的重複內容問題。
6.5 中文網址和英文網址,哪個對 SEO 比較好?
兩者都可行,搜尋引擎都能處理。中文網址對本地使用者語意更直覺,但被貼到外部平台時可能被轉成編碼字元而變難讀。選擇的關鍵不在中英文,而在語意是否清楚、格式是否一致、路徑是否對應階層。
6.6 動態參數的頁面完全不能被索引嗎?
不是完全不能,而是要有取捨。真正需要競爭關鍵字的重要頁面,建議給它乾淨的靜態路徑;而篩選、排序、追蹤這類功能性參數,則透過 canonical 收斂或適當設定,避免它們大量佔用爬蟲的抓取預算。
