Google 搜尋網址結構最佳做法

為確保 Google 搜尋能有效檢索網站,請使用符合下列規定的可檢索網址結構。如果網址不符合下列條件,Google 搜尋可能無法有效率地檢索您的網站,包括但不限於檢索率極高,或是完全不檢索。

可檢索網址結構的規定

遵循 IETF STD 66 規定

Google 搜尋支援由 IETF STD 66 所定義的網址。由標準定義為保留的字元必須使用百分比編碼

請勿使用網址片段變更內容

請勿使用片段來變更網頁內容,因為 Google 搜尋通常不支援網址片段。以下是網址片段的範例:

https://example.com/#/potatoes

如果您使用 JavaScript 變更內容,請改用 History API

為網址參數使用常見編碼

指定網址參數時,請使用以下常見的編碼:使用等號 (=) 分隔鍵/值組合,並使用連接符號 (&) 新增其他參數。如要在一個鍵/值組合內針對相同鍵列出多個值,可以使用任何不會與 IETF STD 66 衝突的字元,例如逗號 (,)。

建議使用 不建議使用
使用等號 (=) 分隔鍵/值組合,並使用連接符號 (&) 新增其他參數:
https://example.com/category?category=dresses&sort=low-to-high&sid=789
使用半形冒號 (:) 分隔鍵/值組合,並使用括號 ([ ]) 新增其他參數:
https://example.com/category?[category:dresses][sort:price-low-to-high][sid:789]
使用逗號 (,) 列出同一個鍵的多個值、等號 (=) 分隔鍵/值組合,並使用連接符號 (&) 新增其他參數:
https://example.com/category?category=dresses&color=purple,pink,salmon&sort=low-to-high&sid=789
使用單逗號 (,) 分隔鍵/值組合,並使用雙逗號 (,,) 新增其他參數:
https://example.com/category?category,dresses,,sort,lowtohigh,,sid,789

讓網址結構更易於理解

為了讓 Google 搜尋 (和使用者) 更瞭解您的網站,建議您建立簡單的網址結構,並盡可能套用下列最佳做法。

最佳做法

使用描述性網址

如果可以,請盡量在網址中使用具有意義的字詞,不要使用冗長的 ID 號碼。

建議使用 (簡單的描述性字詞) 不建議使用 (不具意義的冗長 ID 號碼)
https://example.com/wiki/Aviation
https://example.com/index.php?topic=42&area=3a5ebc944f41daa6f849f730f1

使用目標對象的語言

在網址中使用目標對象的語言 (如果適用,請使用音譯的字詞)。舉例來說,如果目標對象使用德文進行搜尋,請在網址中使用德文字詞:

https://example.com/lebensmittel/pfefferminz

或者,如果目標對象使用日文進行搜尋,請在網址中使用日文字詞:

https://example.com/ペパーミント

視需要使用 UTF-8 編碼

連結至網站上的網頁時,請視需要在連結的 href 屬性中使用 UTF-8 編碼。未使用百分比編碼的 ASCII 字元可能會保留為未編碼的格式。此外,非 ASCII 範圍中的字元應採用 UTF-8 編碼。例如:

建議使用 (UTF-8 編碼) 不建議使用 (非 ASCII 字元)
https://example.com/%D9%86%D8%B9%D9%86%D8%A7%D8%B9/%D8%A8%D9%82%D8%A7%D9%84%D8%A9
https://example.com/نعناع
https://example.com/%E6%9D%82%E8%B4%A7/%E8%96%84%E8%8D%B7
https://example.com/杂货/薄荷
https://example.com/gem%C3%BCse
https://example.com/gemüse
https://example.com/%F0%9F%A6%99%E2%9C%A8
https://example.com/🦙✨

使用連字號分隔字詞

建議您盡可能分隔網址中的字詞。具體來說,建議您在網址中使用連字號 (-),不要使用底線 (_) 分隔字詞,這樣使用者和搜尋引擎就能更容易識別網址中的概念。基於歷史原因,我們不建議使用底線,因為這種樣式常用於表示應保持在一起的概念,例如各種程式設計語言用來命名函式 (例如 format_date)。

建議使用 不建議使用

使用連字號 (-) 分隔字詞:

https://example.com/summer-clothing/filter?color-profile=dark-grey

使用底線 (_) 分隔字詞:

https://example.com/summer_clothing/filter?color_profile=dark_grey

將網址中的字詞結合在一起:

https://example.com/greendress

盡量減少參數

刪去不必要的參數 (也就是不會變更內容的參數),盡可能縮短網址。

請注意,網址有區分大小寫

與遵循 IETF STD 66 的其他 HTTP 用戶端一樣,Google 搜尋的網址處理方式會區分大小寫 (例如,Google 會將 /APPLE/apple 視為含有各自內容的不同網址)。如果您的網路伺服器會忽略網址文字的大小寫差異,請將所有文字都轉換成大寫或小寫,以利 Google 判斷網址參照的網頁是否相同。

針對多地區網站

如果您的網站是多地區網站,建議考慮使用可輕鬆為網站指定不同地理區域的網址結構。如需更多範例,瞭解如何建構網址,請參閱使用地區專屬的網址

建議 (使用國家/地區專屬網域):

https://example.de

建議 (使用搭配 gTLD 的國家/地區專屬子目錄):

https://example.com/de/

避免發生與網址相關的常見問題

太過複雜的網址可能會為檢索器帶來問題,特別是那些包含多個參數的網址,因為這意味著可能有大量不必要的網址指向網站上的相同或類似內容,導致 Googlebot 平白占用更多頻寬,甚至可能讓 Google 搜尋無法為網站的所有內容建立索引。

造成網址數量過多的原因有很多種,其中包括:

常見問題

對項目組進行多重篩選

許多網站能讓您以不同方式檢視同一組項目或搜尋結果,通常是允許使用者透過預先定義好的條件來篩選某一組項目,例如「顯示海灘旅館」。如果系統允許組合多個篩選器,例如「顯示有健身中心的海灘旅館」,那麼網站中的網址數量 (也就是資料的檢視方式) 就會大幅增加。建立大量只有些微差異的旅館清單並無必要,因為 Googlebot 僅需要查看少量清單即可造訪每個旅館的網頁。例如:

  • 「平價」旅館:
    https://example.com/hotel-search-results.jsp?Ne=292&N=461
  • 海灘上的「平價」旅館:
    https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
  • 海灘上附有健身中心的「平價」旅館:
    https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270

不相關的參數

網址中包含無關的參數可能會產生大量網址,例如:

  • 參照連結網址參數:
    https://example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=OPD+Product+Page&cat=79
    https://example.com/discuss/showthread.php?referrerid=249406&threadid=535913
    https://example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories
  • 購物排序參數:
    https://example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance&search_category=25
  • 工作階段 ID:
    https://example.com/search/noheaders?sessionid=6EE2BF1AF6A3D705D5561B7C3564D9C2

建議使用 robots.txt 檔案禁止 Googlebot 存取這些有問題的網址。

日曆問題

動態產生的日曆可能產生連向未來與過去日期的連結,但這些連結並未針對起始或結束日期設下任何限制。例如:

https://example.com/calendar.php?d=13&m=8&y=2011

如果您的網站有無限日曆,請在指向動態產生未來日曆網頁的連結中加入 nofollow 屬性。

如果伺服器未針對不存在的網頁回應正確的 HTTP 狀態碼,在錯誤的網頁上放置上層相對連結可能會產生無限的空格。舉例來說,https://example.com/category/community/070413/html/FAQ.htm 上的上層相對連結 (例如 <a href="../../category/stuff">...</a>) 可能會導向 https://example.com/category/community/category/stuff 等假網址。如要修正這個問題,請在連結中使用根相對網址 (而非上層相對網址)。

修正與檢索相關的網址結構問題

如果發現 Google 搜尋會檢索這些有問題的網址,建議您採取以下做法:

  • 建議使用 robots.txt 檔案禁止 Googlebot 存取有問題的網址。一般說來,請考慮封鎖動態網址 (例如會產生搜尋結果的網址),或是可能建立無限空格的網址 (例如日曆),以及排序和篩選功能。
  • 如果網站有多面向導覽,請參閱這篇文章,瞭解如何管理多面向導覽網址的檢索。