運營對列表頁url制定靜態化模式,與區區觀點相悖。遂請你們指教點解。php
動態參數包含6個,分別是:html
1認證(有機),2品類(水果),3地區(豐臺),4狀態(衆籌中),5排序(評分),6分頁web
使用狀態很是靈活,每一個參數可能單獨出現,也可能每n(1-6)個任意組合出現php框架
一:傳統方式 cert=1&tagid=2&county=1&status=1&order=star&p=1框架
當只須要其中部分參數的時候能夠codeigniter
方案1:cert=1&county=1 只取須要部分工具
方案2:cert=1&tagid=&county=1&status=&order=&p=1設置不須要的參數爲默認值或無效值post
方案2參考性能
1.http://bbs.csdn.net/topics/390352631#post-393533477 http://bbs.csdn.net/topics/390352631#post-393528571網站
2.http://bbs.csdn.net/topics/380064005#post-381908728 此處京東在點擊電腦品牌後將分頁參數page=1加在url中,並非點了分頁纔出page參數
方案1的建議:保持參數順序一致,但好處(效果)與壞處(代碼複雜度,性能損耗)值得討論,方案2無此問題
解析:好處是於url的「一致性」而言,如兩個頁面
http://www.djz.com/farm/list?cert=1&tagid=1
http://www.djz.com/farm/list?tagid=1&cert=1
谷歌08年9月份曾發表博客建議網站不要靜態化,以參數順序不一樣舉例,認爲這是同一個頁面,參考
http://www.admin5.com/article/20120514/430366.shtml
http://www.seozac.com/seo-tips/url-rewrite-google/
百度未對這種狀況作具體講解。
京東未對參數順序保持一致:
在京東臺式機列表頁,第一次點擊品牌url:http://list.jd.com/list.html?cat=……&brand=……&page=1&JL……
取消品牌篩選條件,再次點擊品牌url :http://list.jd.com/list.html?cat=……&page=1&brand=……&JL=……
結論,此方案建議保持一致
截圖來自谷歌站長工具,顯示谷歌對參數進行分析
二:通常僞靜態
1./cert/4/county/順義區/status/2/tagid/1/order/star/p/2
2./cert-4-county-順義區-status-2-tagid-1-order-star-p-2
1對比2
傳統觀點認爲1目錄型權重高
(參考http://www.discuz.net/thread-2237390-1-1.html) URL爲靜態目錄的網頁>URL爲.html後綴的靜態網頁
(參考http://www.admin5.com/article/20110803/366402.shtml) 把靜態頁變成目錄頁,能夠把內頁權重進一步提高
同時1存在在參數過多的時候層級過多的問題()
(參考http://www.admin5.com/article/20110803/366402.shtml) 一個頁面的權重是隨着目錄的增多而下降的
可能1&2同時會被搜索引擎會認爲是多個頁面,而不是在列表頁進行根據條件篩選結果
三:自定義僞靜態:/tongzhou-cert1-tagid1-status2/star-p1
優勢:比通常僞靜態1層級少,比通常僞靜態2結構明白
缺點:1.參數過多的狀況下,不少模塊須要手工拼接,邏輯笨拙,代碼複雜度高,不具備可維護性,性能嚴重降低,流量大時應重寫
2.搜索引擎會認爲是多個頁面,而不是在列表頁進行根據條件篩選結果
3.和現有url僞靜態衝突
缺點3詳解:
farm/後面直接跟字符串以前設計爲對單個農場的操做
例如
/farm/1 單個農場頁
/farm/review/1 對農場評論
/farm/standpoint 點贊
/farm/upimg 上傳點評圖片
/farm/search 搜索
等等
自定義模式,與現有以上模式須要單獨區分對待,改動的時候須要顧及對方
/farm/cert1 有機農場
/farm/tongzhou 通州農場
/farm/star 按綜合評分排序
/farm/cert1/p2 有機農場第2頁
衝突性表現爲:假若有個地區拼音是:search 那/farm/search 便可表示農場搜索,又可表示search地區的農場,諸如此類
通常形式:/farm/all 或/farm/list 如/farm/list/cert1 例如京東:list.jd.com/list.html?cat=670,671,672
爲何京東的列表頁沒有「farm」(list.jd.com/farm/list.html?cat=670,671,672) 而是 list.jd.com/list.html?cat=670,671,672
由於京東只有商品列表頁,而咱們有項目列表和農場兩個列表。因此應區分project/list 和farm/list 對列表的操做,應該在/farm/list/這裏,對單個農場的操做應該在/farm/這裏。如今用的不是list 而是 /farm/all/ 項目列表頁以應要求去掉all
反方觀點:
http://codeigniter.org.cn/forums/thread-13445-1-1.html 第3樓,回答者爲ci框架管理員。ci框架是全球最流行的php框架之一。
http://bbs.csdn.net/topics/380064005#post-381907584 第2樓,回答者爲2013csdn總版技術專家第8名
我的:傳統方式
百度:不分優劣
http://www.admin5.com/article/20100603/239035.shtml
看到網上不少文章都說百度歧視動態Url,其實不盡然,引用Tencent圍脖上 百度說的話就是:
「百度對URL的動靜態,沒有歧視政策。之前有過提倡靜態的說法,是由於不少動態URL,帶了不少 參數,而實質上內容是同樣的。總的原則就是,URL的動靜態無所謂,只是儘量的避免重複便可。可是動態url也不要動態得太變態,搞幾十個參數,那會嚇 着蜘蛛。」
http://www.admin5.com/article/20100514/232525.shtml
今天在百度站長俱樂部,看到百度技術工程師對這個URL是否應該靜態化的問題有一個很明確的回覆:URL的動靜態無所謂,只是儘量的避免重複便可。
http://www.chinaz.com/web/2010/0603/117726.shtml
看到網上不少文章都說百度歧視動態Url,其實不盡然,引用Tencent圍脖上 百度說的話就是:
「百度對URL的動靜態,沒有歧視政策。之前有過提倡靜態的說法,是由於不少動態URL,帶了不少參數,而實質上內容是同樣的。總的原則就是,URL的動靜態無所謂,只是儘量的避免重複便可。可是動態url也不要動態得太變態,搞幾十個參數,那會嚇着蜘蛛。」
谷歌:傳統方式
http://www.seozac.com/seo-tips/url-rewrite-google/
http://lusongsong.com/blog/post/393.html
目前狀況:
已完成自定義模式,見於http://www.djz.com/farm/,昨晚更新時發現與現有url衝突(詳見自定義僞靜態缺點3),今日寫文分析利弊。
可選擇:
1,解決衝突,在農場相關功能變動時,迂迴維護此節。
2,執行其餘方案
目前猶疑不定,對於着手實施本身不贊同的方案的意義產生懷疑。遂作文分析,陳述觀點。求諸位指教!