关于URL的SEO优化

 URL(Uniform Resource Locator),中文俗稱為網頁地址,也就是網址,用以表示資源在網際網路中的位址。


其最早是由 Tim Berners-Lee 爵士在1994年所提出,用於全球資訊網 (World Wide Web, WWW) 的位址,如今已由全球資訊網協會 (World Wide Web Consortium, W3C) 編制為網際網路標準RFC 1738。

在大多數的網頁瀏覽器中,會將網頁的URL展示在頁面上方的網址欄。

一、網址的組成

我們可以將常見的網址結構,拆解如下:

http://www.example.com/folder1/index.html?product=123&color=blue#top

  • 通訊協定 : 決定了該資源在怎樣的約定下傳送,對包括資料格式、傳送速度、傳送步驟等問題做出統一的規定。常見的有HTTP、HTTPS、FTP等等。
  • 伺服器,通常為網站所註冊的網域名稱,有時為IP位址,網域名稱是為了讓人類更容易理解與記憶,而用以替代IP位址的代稱,若是網域則其中可以再細分為三個部分:
    • 子網域名稱
    • 次級域名
    • 頂層網域(TLDs) - 可以想成是一種對網站的分類,除常見的.com .org .net .edu .gov .co .io外還有非常多種。
  • 路徑 : 用「/」作為層級或不同目錄的區隔,可能包含目錄、頁面或檔案名稱
  • 查詢 : 以「?」為開頭與前面的部分分開,後面的參數彼此之間不具階層關係,參數之間以「&」分隔,參數名稱與值之間再以「=」分開
  • 分段、錨點 : 通常以#為開頭,當在網址中使用,瀏覽器會直接滾動至插入該名稱錨點的位置

二、URL對SEO所造成的影響?

1. 使用者體驗

經過妥善規畫後的網址,可以同時讓搜尋引擎與使用者輕易的理解其所連結頁面的主要內容。

若是將網頁標題遮住,使用者僅看網址也能夠大概理解在點下連結後,到達的頁面大概在講述什麼內容,他所經歷的就會是相對容易明瞭的使用體驗。

(現在Google將許多網頁在搜尋結果中的網址以麵包屑連結的形式顯示網址或網站的結構,尤其是行動搜尋結果,目的就是為了讓使用者能夠更容易理解)


2. 搜尋排名

儘管所佔的重要程度可能並不高,但網址內的文字仍是一個搜尋引擎判斷網頁與搜尋字詞關聯性的其中一個因素。在網址內適當的加入關鍵字,只要不過度填充,仍舊是好的作法。

 

3. 連結

在許多時候,若是沒有另外撰寫錨點文字,網址就可能會作為該連結自己的錨點文字。

例如在社群媒體、論壇、部落格等地方發布連結時,人麼可能會透過網址內出現的字詞去推測該網頁的內容,若是網址易懂,可以讓人比較容易了解點擊連結後會出現什麼樣的網頁內容。未經語意化的網址看起來也較為雜亂,有可能降低人們點擊連結的意願。

 

 

 

三、該使用動態網址還是靜態網址?

1. 什麼是動態網址?

現在多數網站的網頁是以資料庫驅動,由程式產生頁面,在伺服器上並沒有獨立存在的網頁文件。當用戶透過網址拜訪網頁時,根據網址中的參數呼叫資料庫資料,即時產生頁面內容。由動態頁面所對應的原始狀態網址也就是動態網址,常包含? = & 等符號,看起來會像這樣:

www.example.com/product.php?order=desc&sid=5201314

 

2. 什麼是靜態網址?

靜態網址,指的就是固定、不會變化的網址,通常不包含網址參數。看起來可能會像這樣:

http://www.example.com/example.html


在伺服器上實際有一個靜態HTML檔案存在時對應的網址就會是後面帶有.htm .html的靜態網址。

由於每個頁面都是一個獨立的文件,這種靜態頁面在大量製作和維護上會比較費時費力。

不過後面帶有.htm .html的靜態網址並不一定都是與靜態頁面對應的,動態頁面可以透過伺服器端的技術改寫網址,將動態網址改寫為靜態網址,也可以帶有.htm .html等後綴,這就是所謂的「偽靜態網址」或是「靜態化網址」

 

3. 兩種網址在SEO上有什麼差異?

與動態網址比起來,靜態網址相對較有敘述性,通常較為簡短,也較易於連結的分享。

在過去,許多SEO操作者主張應該要將動態網址靜態化,認為搜尋引擎在處理動態網址時,除了上面所提的好處外,主要是認為搜尋引擎在遇到某些參數時可能會過度消耗搜爬資源或是收錄大量重複內容。


對於這樣的觀點,可以參考一下Google在2008年時發布的文章:〈Dynamic URLs vs. static URLs〉
 

文章內提到的重點如下:

(1) Google有能力能夠抓取動態網址,並且沒有參數數量上的限制

(2) Google會判斷網址中的哪些參數是可以去掉的,動態網址中的參數提供了提示性的訊息,讓其能夠讀懂網址。你可以試著去掉不重要的參數,但對於提供額外訊息的參數要謹慎。

(3) 將網址靜態化很很有可能犯錯,保留動態參數可以幫助Google理解調換參數順序後的網址是同一個頁面,例如:

ww.example.com/article/bin/answer.foo?language=en&answer=3
www.example.com/article/bin/answer.foo?answer=3&language=en

但靜態化後,Google比較不容易判斷兩個網址是不是同一個頁面,可能引起重複內容,相比於直接提供動態網址,可能引起更多抓取的問題。
並且,若把sid或query參數放進靜態化的網址,將產生大量網址不同但頁面內容相同的頁面。


從上面可以看出Google所持的態度,基本上就是怕網站主因為想要將動態網址改寫為靜態網址,考慮的卻不夠周全,或是觀念錯誤、後續維護產生麻煩,所以乾脆建議不要修改動態網址,讓Google自行解讀。

所以在考慮上述Google的說法後,可以在動態與靜態網址的取捨做以下考慮:

  • 考慮所要經營的搜尋引擎,是否也都如Google一樣對於動態網址的檢索與收錄沒有問題。
  • 參數的使用,雖然不會因為數量多寡而影響檢索,但應該以讓網址盡可能的簡短為大原則,最小化參數的數量。
  • 在改寫網址時,可以保留具備額外資訊的參數。若要靜態化,應考慮靜態化的方式是否會造成搜尋引擎解讀資訊的困難。
  • 動態網址的結構若是十分複雜,靜態化的考慮中容易出現紕漏,可能帶來的問題是否超過靜態化帶來的好處。
  • 不要將sid或query等參數放入靜態化的網址,以免產生大量重複內容的相同頁面。

 

四、SEO的網址最佳化作法


1. 保持簡短的網址

這主要是基於對使用者體驗的考量,對搜尋引擎來說,長長一串網址並不會造成什麼問題。


簡短的網址比較容易記憶,也易於複製與傳播,長網址相對比較容易複製得不完整,造成404錯誤。
 

2. 具備描述性

當網址的敘述性文字幫助人們理解的同時,提供給搜尋引擎關於頁面的資訊也會較多,這點對英文網站來說尤其重要。

讓使用者看到網址就能夠大致知道該網址的內容是關於什麼,同時,與網頁標題和內容互相呼應,有助於使用者體驗的提升。

 

3. 在網址中包含關鍵字

在網址中放置關鍵字,對於頁面的相關性得提高還是有些微幫助。

結合上一點來看,在連結於社群媒體、郵件、網站間傳播時,內含的文字或關鍵字可以讓點擊連結者對所要前往的網頁有間一步的認知。

除此之外,在插入連結時,時常發生沒有另外設置錨點文字的情況,這時,網址本身就是超連結的文字,其中的關鍵字同樣可以幫助了解網頁。

最後就是在搜尋結果中,一定會列出網址,這也會是使用者考慮是否點擊連結的因素之一。這些都值得你好好考慮要在網址中放置什麼關鍵字以增進使用體驗。


 

4. 相同內容不同網址的規範化

當你的網站內有兩個以上網址內的內容大部分相同時,應考慮利用301重新導向或是rel="canonical"標記,進行網址的規範化。

重複內容並不算是個會被搜尋引擎懲罰的項目,但可能造成一些排名指標訊號的分散,進而降低網頁的排名能力。


5. 如果可以,將網址靜態化

關於是否將動態網址靜態化的考量,我們在上一個段落詳細的討論過了,建議依網站情況與能力進行考慮。

 

6. 降低重導向的次數

當從一個網址導向到另一個網址,就可能因此降低網頁的速度,在網路速度不快的情況下,可能帶來不佳的使用者體驗。

 

7. 考慮減少目錄層數

目錄層次與整個網站分類的結構相關,分類的層數多,目錄層次也會隨之增多。

並不是說這些分層會影響網站表現,但網址的分層結構對使用者和搜尋引擎來說,可作為一種理解網站結構深度的提示。

在可能的情況下,尤其是靜態化網址時,可試著精簡目錄層次,一方面也是簡化分類結構。

但這並不是建議將所有頁面都放在根目錄之下,頁數多的網頁可能因為這種做法而難以管理,對於頁面的從屬關係也難以判斷。這點並無一定的作法,需視網站情況斟酌,運用你的專業判斷。

 

8. 字母使用小寫

在Microsoft/IIS伺服器上,網址包含大小寫不會造成什麼問題,但如果是使用Linux/UNIX等區分大小寫的伺服器,則可能因為大小寫混用而發生錯誤。

再加上,robots.txt檔案也是區分大小寫,全部使用小寫可以減低錯誤的發生,對人工輸入也較容易,比較不容易因大小寫參雜而出錯

 

9. 避免在網址中使用空格、逗號和其他特殊符號

網址中的空格或逗號等符號,雖然對Google來說處理起來不見得會有問題,但像是空格會被顯示為%20,這些符號的使用會讓網址看起來比較難以理解,對網址的傳播可能帶來負面的影響。

 

10. 優先使用連字號作為字詞間的分隔

關於在網址中分隔字詞時該使用連字號「-」還是底線「_」,在SEO的圈子內一直有許多討論,近一兩年也都還有許多相關文章出現。

谷歌對於網址內該使用連字號還是底線的說明提到了一些重要的內容:

  • 使用連字號分隔的字詞,會被拆開視為獨立的詞,與用空格間隔的效果類似,例如red-widget,會被拆分為「red」與「widget」兩個詞。
  • 而使用底線連接的字詞,則是會被視為一整個詞彙,如war_of_1812,會被視為「war_of_1812」。


會這麼做的原因在於,在Google發展初期,開發的程式工程師希望能夠較為精準,讓TMP_MAX這類的程式用語在搜尋時不被拆分為單獨的字詞,因而這樣設計。

對於其他一般搜尋用字,這並不是一個會造成主要影響的因素,以維基百科為例,它在網址中都使用底線分隔字詞,但由於其網頁內容、網域的權威性等等多種因素的表現,使其網站依舊在極其多的搜尋結果中名列前茅。


不过来自谷歌的相关信息:

使用連字號或是底線來分隔字詞都沒有問題,只是用連字號比較容易閱讀。

總結來說,如果你現在才剛要開始網站的建立,建議以連字號「-」作為網址設計中字詞分隔的優先,同時也會比較好閱讀;而如果你的網站已經使用底線作為字詞分隔一段時間了,可以不用針對這點特別做出改變,這在所有排名因素中佔的重要程度並不高。

发表评论

0 评论