描述
進公司沒有多久遇到一個問題,定義的url會被大神吐槽說是很渣。之前從來沒有注意這塊,今天把我們團隊的url規范分享給大家。
為什么需要URL規范化
1、網站URL和結構已經成為網站搜索引擎友好的最大基礎性問題,網站URL 和結構問題,早發現早優化,越是往后放,最后就成了制約網站運營和產品開發的決定性因素。
2、無論是網站的可用性還是網站對搜索引擎的吸引力,清晰明了的瀏覽路徑都是相當重要的,URL是統一資源定位,即每個網頁的網址、路徑。
3、瀏覽路徑讓網站的導航結構更清晰,可以更加平衡的分布網站權重。
反例(不規范的URL)
URL中多余的字符
1、子域名的URL中包含"www": "http://www.shuchao.cnblogs.com/"
2、含有默認端口: "http://www.cnblogs.com:80/shuchao/"
3、松散的URL: "http://www.chapters.indigo.ca/books/amazon-sucks-donkey-balls/9780470170779-item.html"
4、多余默認文件名index.html,default.aspx等:"http://www.cnblogs.com/shuchao/index.html"
5、文件路徑中包含多余的"/":"http://www.cnblogs.com/shuchao//",多余的點修飾串:"x/y/z/http://www.cnblogs.com/a/b/http://www.cnblogs.com/../page.html"
6、查詢串中多余的 ? (空查詢串):http://www.cnblogs.com/shuchao?
7、多余的& 無用的查詢變量: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"
其他不規范的URL
1、"http://shuchao.cnblogs.com/" 與 "http://www.cnblogs.com/shuchao/"其實是相同的內容即同一個資源,最好不要有兩個urL
2、使用IP代替域名
3、大小寫敏感("http://www.google.cn/Intl/zh-CN/about.html" 和"http://www.google.cn/intl/zh-CN/about.html")
4、查詢變量順序混亂:"http://www.example.com/test.aspx?bar=1&a=test"
5、含臨時的狀態變量:http://www.example.com/test?back=/prevpage.aspx
設計URL應該遵循的原則
一、簡單,好記
簡單好記的域名會給人以深刻的印象。
二、URL中的字母全部用小寫
全部用小寫,用戶比較容易輸入,不用因為大小寫混合而出現錯誤,這是人們的輸入習慣
有些服務器是區分大小寫的,例如Lunix服務器,這樣在站長做鏈接或者是用戶輸入時,會因為大小寫的問題而出現404錯誤,
而且robots也是區分大小寫的,如果大小寫搞錯了,可能會造成不能收錄的嚴重問題。所以建議所有的URL都使用小寫
三、連詞符的使用
目錄或者文件名中如果有兩個單詞組成時,一般建議中間使用中划線(-)隔開,
切記不要使用下划線或者其他字符,在搜索引擎中,它是把中划線當作一個空格來處理的,而下划線則是被忽略的,
例如seo-caipiao會被讀成seo與caipiao。這是比較友好的寫法
四、URL中避免太多參數
設計的則是URL中的參數應該盡量減少,不要超過三個,一般的情況下URL中的參數2-3個就可以了。
五、目錄層次盡量少
這里所指的目錄層次是指物理目錄結構,而不是指邏輯結構,我們在進行URL的設計時,
網站的結構要盡量的去減少目錄層次,層次不能太深了,一般建議不要超過三層,特別對於一些新站來說,
權重低,搜索引擎蜘蛛爬行得很淺,深一點的頁面,蜘蛛都很可能不會去爬行的,所以要盡量的做到使目錄層次減少,
URL縮短。根據觀察,百度尤其比較喜歡目錄層次比較少的頁面。
六、文件名及目錄名要具描述性
文件名及目錄名要具有可描述性,不但讓用戶一眼就能看出來這個頁面是關於什么的,
對用戶體驗比較友好,而且搜索引擎也比較喜歡這樣的URL。
例如一個關於新聞的目錄,我們可以把它命名為news,用戶看到這個目錄名稱,大概就知道這個目錄是關於什么內容的了。
七、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、不能使用中文單詞,最好使用有意義的英文單詞,少用拼音。
2、層級不能超過三級。
例如:http://domain.com/xx/xx/xx/xx.html不被允許。
3、URL的參數不允許超過3個
4、URL全部小寫
5、網站內部在鏈接到其他網頁,尤其是主頁時,只使用一種URL,即不允許同一個資源有多個URL。
6、不允許出現沒有意義的下URL
例如:http://www.uxuexi.cn/123.html。誰也看不明白是什么意思。
7、如果是內容資源URL,不允許以參數的方法顯示
例如:http://www.uxuexi.cn/user.html?userId=123 需要改成http://www.uxuexi.cn/user/123.html
二、URL類型設置
1、目錄
一般用在頻道頁或是文章欄目(這種方式能獲得更多的權重),最后面必須加上“/”
例如:http://www.uxuexi.cn/search需要改成http://www.uxuexi.cn/search/
2、網頁
一般用來表現網頁內容,需要直接顯示在頁面的必須以.html結尾
例如:http://www.uxuexi.cn/123 需要改成http://www.uxuexi.cn/user/123.html
3.特定功能或交互式
統一以.json 或者.html結尾
例如:
添加評論 http://www.uxuexi.cn/addcomment.json
三、靜態化
1、不經常更新的內容采用靜態化。例如:http://course.uxuexi.cn/detail/111.html。URL中不允許使用?帶參數。
2、實時更新的內容采用偽靜態。例如:http://www.uxuexi.cn/user/111.html。URL中不允許使用?帶參數。
特定功能或交互式用動態URL。
約定
所有需要跳轉頁面的url必須進行統一的管理,統一使用cms:url自定義標簽來實現,方便維護和優化。
例如<cms:url st='xxx' uid='xxx' />
每次添加url,必須寫上注釋。
注釋url功能,注釋每一個參數是什么意思