URL在網站優化中的一些知識
作者:晉城網站建設 日期:2012-02-16
關于 URL 的一些準則
首先是與 URL 有關的一些準則。
一個 URL 必須唯一地,永久地代表一個在線對象
URL 的最基本的使命是唯一地代表 Internet 上的一個對象,URL 必須和 Internet 上的對象一對一匹配。然而現實中,這很難實現,我們經常可以通過多個 URL 到達同一個頁面,比如, http://mysite.com/product/tv 和 http://mysite.com/product?name=tv,這種情形在現代 CMS 中更是比比皆是,針對這個問題,SEO moz 有一篇很好的文章,講到了如何使用 Canonical URL 機制解決站點中的重復 URL 問題。
URL 應該是永久的,這就要求你在站點上線前就非常嚴謹地規劃 URL。如果有一天,你不得不更改 URL,一定使用 HTTP 301 機制,告訴瀏覽器和搜索引擎,你的那個 URL 所代表的對象,已經搬遷到新地址,這個機制可以保證你舊地址所獲得 PR 不會被清零。
盡可能用戶友好
這是 URL 設計的根本,你的 URL 應該為最終用戶而設計。保持 URL 友好的一個好辦法是在保證可讀性的同時讓它盡可能短。比如 /about 就好過 /about-acme-corp-page,當然,保持簡短不能犧牲可讀性, /13d2 一類的地址短則短矣,但并不友好。如果要在 Twitter, Facebook 一類的社會媒體網絡分享你的 URL,可以使用 Bit.ly 一類的網址縮短工具,但這種工具產生的縮短 URL 并不友好,在 Wordpress 一類的 CMS 中,可以使用 PrettyLink Pro 或 Short URL plugin 一類的可控制的地址縮短插件。
URL 的設計切忌使用一些對用戶來說沒有意義的內容,比如數據庫的 ID 號, /products/23 這樣的 URL 地址對用戶是極不友好的,應當使用 /products/ballpoint-pen 一類的地址。
保持一致性
站點內的所有 URL 必須保持一致的格式和結構,這樣可以為用戶帶來信任感,如果你必須更改 URL 格式和結構,需要使用 HTTP 301 機制。
可預測的 URL
這也是 URL 一致性的一個表現,如果你的 URL 擁有很好的一致性,用戶可以根據 URL 猜測別的內容的 URL,假如 /events/2010/01 指向 2010 年 1 月份的日程內容,那
/events/2009/01 應當指向 2009 年 1 月的日程。 /events/2010 應當指向 2010 年全年的日程。 /events/2010/01/21 應當指向2010年1月21日的日程。URL中的關鍵詞
URL 中應該包含本頁重點內容的關鍵詞,比如 /posts/2010/07/02/trip-best-buy-memory-cards 一類的 URL 本身就是對頁面內容的反應。在 URL 包含重點內容關鍵詞,也可以提高 SEO 性能。SEO 的一個很重要的原則就是,在 URL 地址中包含內容關鍵詞。
關于 URL 的技術細節
下面說的是有關 URL 的一些技術細節。
URL 不應包含 .html, aspx, cfm 一類的后綴
這類信息對最終用戶是沒有意義的,卻占了額外的空間,一個例外是 .atom, .rss, .json 一類的特殊地址,這類地址是有特別的意義的。譯者注:在某些虛擬主機式 Web 服務器,這種做法未必現實。
URL 不應包含 WWW 部分
WWW 部分并不包含任何意義,是一個額外的負擔,不友好。可以使用 HTTP 301 機制,將 www.domain.com 定向到 domain.com 。
URL 的格式
URL 的格式如下:
domain.com/[key information]/[name]/?[modifiers]
Key information 部分一般代表信息的類型或類別。Modifiers 部分則屬于查詢字符串范疇,它不應當代表數據結構,應當代表數據的修飾。Key information 部分應當盡可能簡短,同時應當表現出一種層級關系,比如 http://domain.com/posts/servers/nginx-ubuntu-10.04,或 http://domain.com/news/tech/2007/11/05/google-announces-android。
Google News 對新聞源有一個有趣的要求,Google 要求新聞源頁面的 URL 中必須包含至少 3 位唯一的數字,因為他們會忽略年份數字,因此,應該使用一個5位或5位以上的數字。另外,也應該提供 Google News 站點地圖 。如果你想向 Google 提供新聞,必須按這樣的結構提供 URL,當然保持一致性,可以預測性也是必需的。
使用小寫字符
URL 中所有字符都應使用小寫,這更容易閱讀。
URL 中包含的行為元素
URL 查詢字符串中可能包含一些表示行為的元素,比如 show, delete, edit 等。非破壞性的行為可以體現在 URL 中,破壞性的行為應該使用 POST 。
使用 URL 友好字符
在 URL 中體現網頁標題的時候,往往會用到一些特殊字符,應當把它們轉換為 URL 友好字符:
全部大寫字符換成小寫 諸如 é 一類的字符應轉換成對應的 e 空格使用短劃線代替 諸如 !, @, #, $, %, ^, &, * 一類的字符應該使用短劃線代替 雙短劃線應該使用單短劃線代替另外,沒有必要的話,避免使用 %20 一類的 URL 逃逸符。
更多觀點
Chris Shiflett 建議,可以使用一些類似句子的 URL,如:
chriscoyier.net/authored/digging-into-wordpress/
chriscoyier.net/has-worked-for/chatman-design/
chriscoyier.net/likes/trailer-park-boys
jacobwg.com/thinks/this-post/is/basically-done
譯者補充:URL 的長度上限
URL 的最大長度是多少?W3C 的 HTTP 協議 并沒有限定,然而,在實際應用中,經過試驗,不同瀏覽器和 Web 服務器有不同的約定:
IE 的 URL 長度上限是 2083 字節,其中純路徑部分不能超過 2048 字節。 Firefox 瀏覽器的地址欄中超過 65536 字符后就不再顯示。 Safari 瀏覽器一致測試到 80000 字符還工作得好好的。 Opera 瀏覽器測試到 190000 字符的時候,還正常工作。Web 服務器:
Apache Web 服務器在接收到大約 4000 字符長的 URL 時候產生 413 Entity Too Large" 錯誤。 IIS 默認接收的最大 URL 是 16384 字符。