很多(duo)同學(xue)會有(you)(you)(you)這樣(yang)的疑(yi)惑,索引(yin)量工具顯(xian)示索引(yin)量數(shu)值很高但流量總也上不去,也沒(mei)有(you)(you)(you)發現(xian)我們站內(nei)有(you)(you)(you)低質內(nei)容,百度這是要(yao)鬧(nao)哪樣(yang)?6月中旬,藝龍SEO負責人(ren)劉(liu)明(ming)給(gei)我推薦了他寫的文章《如何避免大量URL重復收錄》,找(zhao)到(dao)了索引(yin)量高流量低的一個原因(yin)并給(gei)出的解決方案。另外,如果(guo)各位同學(xue)還有(you)(you)(you)工作經驗等內(nei)容想(xiang)分享、或者對已有(you)(you)(you)內(nei)容持(chi)相反意(yi)見者。
首先聲(sheng)明,我們只談(tan)論有(you)檢索意(yi)義的(de)(de)URL,也就(jiu)是用戶(hu)會從搜索引擎查(cha)找的(de)(de)頁(ye)面。其他頁(ye)面按照常(chang)用的(de)(de)方法做屏蔽就(jiu)好(hao)了。鑒于很多站長都愛(ai)討論整體的(de)(de)收(shou)(shou)錄(lu)量,我必須潑一下(xia)冷水(shui),也許你(ni)的(de)(de)有(you)效收(shou)(shou)錄(lu)是1/10。
URL參數
也叫URL query,是一個最復雜,最容易被忽視,最容易被妥協的問題。他是網站運營中必不可少的元素,如果簡單的去除,其他部門就無法工作了。 靜態化是的話題,URL參數經常被用于以下幾方面:
同一個實體的不同狀態展示,比如同一個酒店,在不同時間點會有不同的房間庫存://www.travel.com/hotel/123/?checkindate=2015-06-09&checkoutdate=2015-06-10
為了統計不同渠道的流量://www.a.com/?tracking=website_a
為了統計不同渠道,具體模塊的點擊量://www.a.com/?tracking=website_a&click_spot=zone_abc
調試://www.a.com/product/item123/?debug=true
全世界最奇葩的是亞馬遜,居然把統計參數放到了路徑中//www.amazon.cn/abc/dp/B005TZHJEQ/ref=lp_2130608051_1_1
出現這種問題的壞處有幾點:
1. 浪費搜索引擎對你網站的各項配額,從而影響其他正常的頁面。
2. 丟失很多本應拿到的鏈接加分,站外渠道的鏈接往往是最優質的。同一個URL的分值可能分散成幾十份。
3. SEO的流量被統計到別的渠道(因為tracking字段寫的是別的渠道,而且被收錄被點擊)
4. 往往形成(cheng)一(yi)種局面,產(chan)品用一(yi)套(tao)URL,SEO用另一(yi)套(tao)URL, 甚至不同渠道用不同的URL,后(hou)期開(kai)發和維護的成(cheng)本(ben)極高。
為(wei)了解決這個(ge)(ge)問題(ti),首先要(yao)弄清URL的(de)定義(yi)。以我的(de)理解,每一(yi)(yi)(yi)個(ge)(ge)URL是(shi)(shi)(shi)一(yi)(yi)(yi)個(ge)(ge)靜態(tai)的(de)、獨立(li)不(bu)重復的(de)、有意(yi)義(yi)的(de)實體,一(yi)(yi)(yi)般也有檢索(suo)意(yi)義(yi)(就是(shi)(shi)(shi)有人會(hui)搜)。比如一(yi)(yi)(yi)個(ge)(ge)人、一(yi)(yi)(yi)輛(liang)車、一(yi)(yi)(yi)條(tiao)道路、一(yi)(yi)(yi)個(ge)(ge)零件。而(er)不(bu)能混(hun)入各(ge)種"狀(zhuang)態(tai)",比如這個(ge)(ge)人生(sheng)病的(de)時(shi)候,難道就不(bu)是(shi)(shi)(shi)他自己(ji)了么? 一(yi)(yi)(yi)件商品在促(cu)銷的(de)狀(zhuang)態(tai)難道是(shi)(shi)(shi)另一(yi)(yi)(yi)件商品了么?
理論上canonical標簽就可以解決這個問題了, 但是從實際測試結果看,百度對這個標簽的支持優先級非常低, 幾乎可以忽略不計。那么我的解決方案是這樣的:
1. 建立好網站的思維導圖和元信息。 (可參考: )
2. 所有和SEO元信息相關的參數都放到路徑中去
3. 所有和SEO元信息不相干的參數都放到#后邊,因為#后邊不影響web服務器返回的內容。簡單的說就是用"#"替代"?"。
4. 每個頁面中都利用js獲取#后邊的參數對,通過二次請求發回給統計服務器
5. 如果#后邊的參數影響頁面內容,比如酒店的入住日期。那么這部分內容用ajax加載就行,他是不穩定的,不屬于頁面內容的一部分。(當然還有變通的辦法,暫不贅述。)
6. 原始(shi)的#錨(mao)點定義肯(ken)定會沖突,定義一個#后邊(bian)的變量,并用(yong)js控制屏幕(mu)滾動,來保證原始(shi)錨(mao)點的作用(yong)。
有人可能會想到,根據ua判斷,如果是搜索引擎爬蟲,就用跳轉的方式去掉URL參數。但效率最高的方法必然是從一開始就不展示錯誤URL。那么前面的例子優化后就變成了:
//www.travel.com/hotel/123/#checkindate=2015-06-09&checkoutdate=2015-06-10
//www.a.com/#tracking=website_a
//www.a.com/#tracking=website_a&click_spot=zone_abc
//www.a.com/product/item123/#debug=true
其實很多網站早就使用這種方式了,但是還有很多網站由于開發效率無法及時實現。所以對于一般的小網站,一定要考慮開發成本,不要輕易冒進。只要能避免問題的發生,變通的方法是很多的。
路徑中使用非必要元素
很多網站仿照亞馬遜的做法,把商品名體現在URL中,然后再通過id來決定頁面展示的內容://www.amazon.cn/博集典藏館043?基督山伯爵-亞歷山大?仲馬/dp/B005TZHJEQ/
這(zhe)樣雖然可以提(ti)高(gao)一些相關性(xing),但是(shi)(shi)很危險。在長期(qi)甚至短期(qi)的時間內(nei),大量商品的名(ming)稱(cheng)是(shi)(shi)非常(chang)(chang)可能(neng)有變化的,那(nei)么(me)URL也就跟著變化。成本也是(shi)(shi)非常(chang)(chang)高(gao)的,因(yin)為加(jia)大了技術實現(xian)難度,不管從站內(nei)還是(shi)(shi)站外(wai),每次增加(jia)鏈接都(dou)是(shi)(shi)一個很麻煩的事情(qing)。
在我接手藝龍SEO之前,URL被全部改成了這樣,對我早期的工作造成了非常巨大的負擔://www.a.com/Shangrila_International_Hotel-12345678-hotel/
通過日志分析發現基本所有的百度蜘蛛發起的請求都被301跳轉了一次。細致調查后發現,從SEO拼接規則到后臺的漢字和翻譯數據被一直修改。也就是說,這個URL相關的元素有:
1. 中文 (非必要元素)
2. 由中文翻譯的英文 (非必要元素)
3. id (必(bi)要元素)
而當時負責SEO的同事把英文和id拼接在了URL中,那么這樣一個URL先后變成過:
//www.a.com/Shangrila_International_Hotel-12345678-hotel/
//www.a.com/Xianggelila_International_Hotel-12345678-hotel/
//www.a.com/XiangGeLiLa_International_Hotel-12345678-hotel/
//www.a.com/Shangrila_guoji_Hotel-12345678-hotel/
跟"相關性"比,URL的唯一性和穩定性更重要。所以針對這個問題,URL的最佳策略應該是://www.a.com/hotel/12345678/
如果這個id是隸屬于一個分類下的,比如城市,那么就可以是://www.a.com/hotel/beijing/123/
從技術角度說, id一般是(shi)(shi)數據庫的primary key,可以(yi)是(shi)(shi)數字(zi)也(ye)可以(yi)是(shi)(shi)字(zi)符(fu)串,那(nei)么這個時(shi)候URL是(shi)(shi)一維的; id也(ye)可以(yi)是(shi)(shi)聯合的唯一索引(yin),那(nei)么URL就是(shi)(shi)二(er)維的,就像上(shang)(shang)面的(bejing,123)缺一不可。電(dian)商類網站列表頁經常用到三(san)維以(yi)上(shang)(shang)。
大小寫
如果網站的技術架構用的是開源系統,一般是不會有這個問題的。如果使用了微軟的技術架構,這個問題非常常見:
//www.a.com/newyork/
//www.a.com/Newyork/
//www.a.com/NewYork/
我的建議是統一使用小寫(xie),大(da)寫(xie)自動跳轉(zhuan)為小寫(xie)(小心301死循環!)。
目錄的規范
很多網站同時存在這樣的URL,無形中把收錄量擴大了一倍:
//www.a.com/product/123
//www.a.com/product/123/
上邊第一(yi)個路(lu)徑的意思(si)是(shi)在product目錄(lu)下有(you)一(yi)個123文(wen)(wen)件(jian)(jian)。第二個路(lu)徑的意思(si)是(shi)在product目錄(lu)下有(you)一(yi)個123目錄(lu),這(zhe)個目錄(lu)下可能有(you)很(hen)多文(wen)(wen)件(jian)(jian),但(dan)是(shi)他代表眾多文(wen)(wen)件(jian)(jian)中的index.html或index.php或default.aspx等優(you)先級最(zui)高的那(nei)個文(wen)(wen)件(jian)(jian)。為了避免歧義,我定義文(wen)(wen)件(jian)(jian)都是(shi)用".html"結尾的。
為了減少重復收錄,那么按我的習慣是:
//www.a.com/product/123 => //www.a.com/product/123/
//www.a.com/product/123 => //www.a.com/product/123.html
總結
1. 所有部門統一使用SEO定義的URL,屏蔽非SEO URL的入口。
2. 用"#"替代"?"
3. 統一使用小寫
4. 保證目錄的規范
5. 把不規范的URL跳轉到規范的URL
2022-05-19
2019-08-20
2019-05-30
2019-05-30
2019-06-12
2019-07-01
2019-06-12
2019-06-12
2019-06-12
2019-06-12
微信號:webgotoo
電(dian)話: