如何定義好一個符合規範的url

描述

進公司沒有多久遇到一個問題,定義的url會被大神吐槽說是很渣。以前歷來沒有注意這塊,今天把咱們團隊的url規範分享給你們。html

爲何須要URL規範化

一、網站URL和結構已經成爲網站搜索引擎友好的最大基礎性問題,網站URL 和結構問題,早發現早優化,越是日後放,最後就成了制約網站運營和產品開發的決定性因素。
二、不管是網站的可用性仍是網站對搜索引擎的吸引力,清晰明瞭的瀏覽路徑都是至關重要的,URL是統一資源定位,即每一個網頁的網址、路徑。
三、瀏覽路徑讓網站的導航結構更清晰,能夠更加平衡的分佈網站權重。android

反例(不規範的URL)

URL中多餘的字符

一、子域名的URL中包含"www": "http://www.shuchao.cnblogs.com/"json

二、含有默認端口: "http://www.cnblogs.com:80/shuchao/"服務器

三、鬆散的URL: "http://www.chapters.indigo.ca/books/amazon-sucks-donkey-balls/9780470170779-item.html"dom

四、多餘默認文件名index.html,default.aspx等:"http://www.cnblogs.com/shuchao/index.html"優化

五、文件路徑中包含多餘的"/":"http://www.cnblogs.com/shuchao//",多餘的點修飾串:"x/y/z/http://www.cnblogs.com/a/b/http://www.cnblogs.com/../page.html"網站

六、查詢串中多餘的 ? (空查詢串):http://www.cnblogs.com/shuchao?ui

七、多餘的& 無用的查詢變量:http://www.example.com/display?id=123&fake=fake搜索引擎

URL缺乏字符串

缺乏"/":"http://www.cnblogs.com/shuchao"
查詢串缺乏名稱或者值:"http://www.example.com/display?id=" 或者 "http://www.example.com/display?=123"google

其餘不規範的URL

一、"http://shuchao.cnblogs.com/" 與 "http://www.cnblogs.com/shuchao/"實際上是相同的內容即同一個資源,最好不要有兩個urL

二、使用IP代替域名

三、大小寫敏感("http://www.google.cn/Intl/zh-CN/about.html" 和"http://www.google.cn/intl/zh-CN/about.html")

四、查詢變量順序混亂:"http://www.example.com/test.aspx?bar=1&a=test"

五、含臨時的狀態變量:http://www.example.com/test?back=/prevpage.aspx

設計URL應該遵循的原則

1、簡單,好記

簡單好記的域名會給人以深入的印象。

2、URL中的字母所有用小寫

所有用小寫,用戶比較容易輸入,不用由於大小寫混合而出現錯誤,這是人們的輸入習慣
有些服務器是區分大小寫的,例如Lunix服務器,這樣在站長作連接或者是用戶輸入時,會由於大小寫的問題而出現404錯誤,
並且robots也是區分大小寫的,若是大小寫搞錯了,可能會形成不能收錄的嚴重問題。因此建議全部的URL都使用小寫

3、連詞符的使用

目錄或者文件名中若是有兩個單詞組成時,通常建議中間使用中劃線(-)隔開,
切記不要使用下劃線或者其餘字符,在搜索引擎中,它是把中劃線看成一個空格來處理的,而下劃線則是被忽略的,
例如seo-caipiao會被讀成seo與caipiao。這是比較友好的寫法

4、URL中避免太多參數

設計的則是URL中的參數應該儘可能減小,不要超過三個,通常的狀況下URL中的參數2-3個就能夠了。

5、目錄層次儘可能少

這裏所指的目錄層次是指物理目錄結構,而不是指邏輯結構,咱們在進行URL的設計時,
網站的結構要儘可能的去減小目錄層次,層次不能太深了,通常建議不要超過三層,特別對於一些新站來講,
權重低,搜索引擎蜘蛛爬行得很淺,深一點的頁面,蜘蛛都極可能不會去爬行的,因此要儘可能的作到使目錄層次減小,
URL縮短。根據觀察,百度尤爲比較喜歡目錄層次比較少的頁面。

6、文件名及目錄名要具描述性

文件名及目錄名要具備可描述性,不但讓用戶一眼就能看出來這個頁面是關於什麼的,
對用戶體驗比較友好,並且搜索引擎也比較喜歡這樣的URL。
例如一個關於新聞的目錄,咱們能夠把它命名爲news,用戶看到這個目錄名稱,大概就知道這個目錄是關於什麼內容的了。

7、URL應該呈現一個降級的次序

例如:域名/類型/分類/標題
例如:域名/年/月/日
http://domain.com/news/tech/2007/11/05/google-announces-android

其餘

1.URL能反應站點的結構
2.URL是能夠被用戶猜想和hack的(也鼓勵用戶如此)
3.永久連接,Cool URLdon't change
4.動態的也要作成僞靜態

url規範誕生

1、基本規範

一、不能使用中文單詞,最好使用有意義的英文單詞,少用拼音。

二、層級不能超過三級。
例如:http://domain.com/xx/xx/xx/xx.html不被容許

三、URL的參數不容許超過3個

四、URL所有小寫

五、網站內部在連接到其餘網頁,尤爲是主頁時,只使用一種URL,即不容許同一個資源有多個URL。

六、不容許出現沒有意義的下URL
例如:http://www.uxuexi.cn/123.html。誰也看不明白是什麼意思

七、若是是內容資源URL,不容許以參數的方法顯示
例如:http://www.uxuexi.cn/user.html?userId=123 須要改爲http://www.uxuexi.cn/user/123.html

2、URL類型設置

一、目錄
通常用在頻道頁或是文章欄目(這種方式能得到更多的權重),最後面必須加上「/」
例如:http://www.uxuexi.cn/search須要改爲http://www.uxuexi.cn/search/

二、網頁
通常用來表現網頁內容,須要直接顯示在頁面的必須以.html結尾
例如:http://www.uxuexi.cn/123 須要改爲http://www.uxuexi.cn/user/123.html

3.特定功能或交互式
統一以.json 或者.html結尾
例如:
添加評論 http://www.uxuexi.cn/addcomment.json

3、靜態化

一、不常常更新的內容採用靜態化。例如:http://course.uxuexi.cn/detail/111.html。URL中不容許使用?帶參數
二、實時更新的內容採用僞靜態。例如:http://www.uxuexi.cn/user/111.html。URL中不容許使用?帶參數
特定功能或交互式用動態URL。

約定

全部須要跳轉頁面的url必須進行統一的管理,統一使用cms:url自定義標籤來實現,方便維護和優化。 例如 每次添加url,必須寫上註釋。 註釋url功能,註釋每個參數是什麼意思

相關文章
相關標籤/搜索