1、對於一個訪問量很高的網站,性能瓶頸在哪裡?可以做哪些優化,架構如何設計
呵呵。大站不需要做優化。需要做的是口碑營銷。做成品牌。
2、康曉寧:網站那些事 互聯網架構如何設計/優化
康曉寧的講演主題很有趣,叫做網站那些事兒,他希望以一種輕松的方式同大家一起交流在架構設計的實踐經驗。他認為網站只不過是一種特殊的軟體,即互聯網時代的軟體。由於面對的最終用戶和市場不同,它的開發呈現出快,猛,糙的特點。對互聯網架構師提出更高的需求。這種高,並不代表需要多麼高新的技術,而是架構師針對需求,制定出來合理的架構的能力要求更高。互聯網架構是個年輕的技術領域,互聯網架構師面臨諸多煩惱。例如,多個層面上的設計,知識面不足;架構設計開發經常要同緊張的時間賽跑;新技術方案和優化手段眾多,難以抉擇。隨後就是本場課程最有價值的內容康曉寧總結自多年架構實踐的互聯網架構設計/優化原則。這些原則受到與會學員的極大歡迎。講師介紹:康曉寧,Googel軟體工程師,清華大學計算機系碩士,曾任清華大學BBS 水木清華站技術站務,供職於數家國內大型網站,從事一線開發和運維工作。
3、什麼樣的網站結構特別適合做SEO優化
讓一個企業產品網站三個月內主關鍵詞排名上百度首頁不知道大家以為難不難,在這之前小七也認為很難,但是看了朋友的操作案例後,給我做了站內分析「農村包圍城市」,我相信了。在這里不少讀者就說了,「農村包圍城市」我早就知道了,為何我的網站不會上首頁,那一會來驗證你的做法和小七分析的是否大同小意。
先來說下網路上大部分企業產品網站都是如何搭建的,大家都知道,做SEO基本工作都是圍繞著鏈接結構、內容、關鍵詞和網站結構這四個點展開來,每一個點都必須圍繞著數據來進行分析,而搜索引擎的工作其實就是一個數據分析,我們要做的就是讓搜索引擎每一次來分析我們數據的時候都能符合他的要求,只有這樣才能獲得好的排名,讓小七來猜猜大部分企業產品站都是如何做以上四點。
1、網站結構
上圖是最長見的企業產品網站結構,千篇一律,一個非常簡單的樹形結構,首頁,欄目頁,內容頁,一句話網站結構單一。
2、連接結構
企業產品網站連接結構單一,網路上你能看到的百分九十企業產品站連接結構很少跨目錄,除了主導航,麵包屑導航,內容頁面調用的部分本欄目下文章外,幾乎沒有其他的連接。
3、內容
如果你有興趣,可以去網路上找找看,大部分企業產品站內容都少的可憐,除了幾個產品外,就是一些公司的一些動態,幾乎看不到更多的其他內容。
4、關鍵詞
很多企業產品網站關鍵詞布局非常不合理,比如做鋼材的公司,首頁title居然就一個XX鋼鐵公司,甚至有的連欄目頁也都統一用公司名稱。
總結下,這就是目前大部分企業產品網站詬病,這樣的網站給於再多的外部資源也很難得到好的排名,整個網站的內部連接結構非常單一加上內容少,更新不及時,關鍵詞的布局也分析都不到位,如何讓搜索引擎在分析你網站數據的時候能得到好的排名呢?下面小七來分享下如何利用農村包圍城市的方法讓企業產品網站三個月內主關鍵詞排名上首頁。
如果我們要做好企業產品站的優化工作,首先我們要了解企業產品站的痛點在哪裡,根據小七統計,大部分產品站的短板就在內容,內容很難創作,大部分的這類站點基本就是上面說的第三點,那我們應該如何解決呢?
我們知道內容是圍繞著關鍵詞展開,所以我們在建站前要做的第一步工作就是先挖掘產品相關的關鍵詞,回頭我們的網站結構,連接結構和內容都要圍繞著我們挖掘的產品相關關鍵詞展開來,這就是我們說的農村包圍城市的重點一步。
有很多朋友不懂如何去擴展自己的關鍵詞,這里小七推薦兩種方法拓展長尾關鍵詞,兩種關鍵詞的用途也不一樣。
網站結構關鍵詞:
什麼叫網站結構關鍵詞?這個好像大家都沒聽過,大家不知道有沒有注意去觀察很多的企業站,他們更新內容有是不是都有一個特點,那就是在一個新聞資訊欄目里更新文章。做SEO的朋友都知道,網站要想好的排名,就必須經常更新文章,但是這類企業站的內容無非就是產品和客戶案例,內容非常的有限,當這兩個欄目更新完了剩下的唯一可更新的內容就是新聞資訊欄目,哪怕和你產品相關的內容很多,企業動態也很多,也只能更新到這個新聞資動態欄目。
這個時候我們能不能設想下,假如我們有好多欄目,而且這些欄目的標題還能和我們的產品關鍵詞相關呢?有沒有辦法實現?假設你是做鋼材的傳統企業,我們以「鋼材價格」這個為主關鍵詞,我們來分析下這個關鍵詞特性,我們是不是可以把地區和鋼材的類型來當前綴,然後拓展出很多的長尾關鍵詞,如下圖:
這些詞相對「鋼材價格」來說就是長尾關鍵詞,我們把這些詞拓展出來我們全部用來做欄目,這就是我們說的網站結構關鍵詞,那麼我們的網站結構一下就豐富起來,同時我們還能優化這些地區價格和鋼類型價格的長尾關鍵詞,這些長尾關鍵詞相對「鋼材價格」來說,競爭要小的多,假如我們把這些長尾的欄目關鍵詞優化起來,我們主關鍵詞「鋼材價格」也就能得到很高權重
內容關鍵詞:
我們前面提高了,企業產品站最大的詬病就是內容不足,我們有了這么多的欄目,就必須要有內容,而內容又是圍繞關鍵詞展開,所以我們就必須挖掘一批內容關鍵詞,至於怎麼挖大家可以上網找工具,有很多這類的長尾關鍵詞挖掘工具,這里小七使用分析牛網銷服務平台長尾關鍵詞挖掘工具,主要優點是能填寫條件篩選,比如下面的挖掘詞我填寫的條件是必須包含「鋼材」和「價格」這兩個詞:
當我們有了這些長尾關鍵詞後就可以圍繞著這些詞擴展內容,那麼這樣的內容質量相關度都非常高,遠遠高於一般的新聞內容,因為關鍵詞里都包含了「鋼材」和「價格」,相關度極高,而這些長尾關鍵詞的競爭力度又相對小很多,用內頁做這些詞排名也容易很多,我們把這些內容的權重聚焦到欄目頁,從而一層一層的傳遞上去到首頁,這樣我們做排名就簡單容易的多,這就是我們長說的「農村包圍城市」的理論。
連接結構:
當我們在布局這些內容關鍵詞的時候,除了做好相關文章調用,最新文章調用,跨欄目文章調用之外,我們最主要的要做一點,那就是正文里的連接,比如「鋼材多少錢一噸價格」這篇文章出現了「北京鋼材價格」時候我們就可以給個連接到這個欄目,那麼當你內容足夠多的時候就形成了一個很大的蜘蛛網,這就解決了我們很多企業產品站的連接結構單一的問題,網站的內部連接是傳遞權重的重要條件,讓網頁的每個目錄和文章不會成為孤島。
總結:不管什麼產品,什麼行業,只要大家多動動你們聰明的腦袋,都可以用類似的「農村包圍城市」的理論去操作,比如做SEO培訓,那我們是不是也可以是地區+SEO培訓,甚至可以小到小區,假設你是做一個城市的蔬菜網站,那麼你是不是可以想以小區名字+蔬菜,等等這樣的一個邏輯去做排名,邊做邊分析數據,要知道搜索引擎是數據分析。為什麼有的人知道這個理論,但是確做不好排名,要麼沒做好內部連接結構,要麼就是不去做內容關鍵詞,或者就單獨的在一個欄目下面更新文章,導致浪費很多資源。
4、大型網站架構該怎麼優化設計
你得把你的網站拿出來看了才知道怎麼優化改進。並不是說每個網站的優化思路都一樣。比如,你優化結構之前你得考慮你的長尾關鍵詞要怎麼擴展,長尾詞是不是有規律可循。如果有規律,你可以直接利用程序生成標題,生成內容。要根據你的設計思路去設計網站結構。要是每個網站優化思路都一樣,那為什麼不直接程式化,還拿優化運營來做什麼?自動化多好。但是,這是不現實的。所以,你的提問沒人能幫得到你。
5、網站架構優化包括哪些方面
?
6、站內優化和網站架構的整改對於網站有什麼影響
站內優化和網站架構的整改對於網站是有影響的,所以每次對網站的改動不要太大,一點一點的修改,等搜索引擎來收錄抓取你的網站了,再做下一次的修改比較好。這樣才利於優化。
7、網站結構該怎麼去優化 關於當當網架構優化的幾點心得
第一點:用戶體驗。
我覺得這是SEO里的重點,因為如果一個用戶體驗都不良好的網站,搜索引擎也不會認為你是一個好的網站,搜索引擎的排名演算法有很大程度的去考慮用戶體驗的。所以我們建設一個網站要讓用戶訪問到我們的網站中能夠很清楚的自己在什麼地方,接下來要去什麼地方,很方便的點擊鏈接,得到他想要得到的信息。假如你進一個網站,網站內部混亂不堪,沒有清晰的導航,沒有你像看到的信息錨文字,你是是不是也會不假思索的關閉這個網站,去尋找另一個網站。
第二點:收錄量。
我們進行網站結構優化的目的就是利於SEO,SEO的最基礎前提是你的網站有收錄,如果一個良好的網站結構,搜索引擎蜘蛛也很容易爬行到你的網站內頁對你的網站進行收錄,像我的tuihongbao.cn這個網站網站結構就是很清晰的,雖然收錄量不是很(尷)大(尬)。
第三點:網站權重的分配。
網站的哪些內容是你最想給用戶展現的,哪些內容是比較次要的,那麼這個在網站結構規劃的時候,就要對網站進行權重分配,權重高的網站自然排名就會比較高。這樣才能突出我們的主要業務。
第四點:錨文字。
要說網站的站外錨文字自己控制不了,那麼在站內,錨文字站長都是可以控制的。為什麼要達到錨文字清晰的目的,因為錨文字是搜索引擎排名中很重要的一部分。
關於當當網架構優化的幾點心得
第一,對技術部組織架構進行調整。
將原來的職能化組織中的產品、研發和測試部門按照產品線進行整合,轉型為Unit化,以加強同一產品線不同職能團隊之間的配合協作,溝通更高效,團隊更為聚焦。
這樣的組織結構更易於應用敏捷,與實施敏捷的前提同理,產品線拆分建立在系統架構解耦基礎之上,在這一點上,系統架構與組織架構異曲同工且相輔相成。解耦越充分,系統邊界越清晰,模塊越小,越適合敏捷團隊,能夠快速響應業務需求。
業務相近的產品線組成一個產品研發部,這樣多數的小型需求在部門內就可以解決,面對緊急項目還可以靈活使用人力資源,並為員工創造接觸更多類型業務需求的機會。
第二,系統分層依賴。
隨著業務邏輯越來越復雜,系統越來越多,相互依賴也越來越多。比如我的當當中就聚合了安全中心、用戶、賬戶、訂單、收藏夾、推薦等多維度的信息,需要調用多個系統服務。經過討論,決定將用戶交互層面的前端頁面與原有的後端系統拆分,並入前端的產品線,以便為用戶提供更好的服務。
而後端系統之間的依賴關系也需要更為精細的分層定義,對於促銷系統,需要會員系統、訂單系統、價格系統提供基礎數據;對於運費系統需要商品信息和配貨數據,而在精準定位銷售區域的前提下,庫存只是配貨的基礎數據,配貨系統負責判斷是否有貨,Promise則根據配貨結果計算預計送達時間。
調整系統之間的關系是很難的,牽一發而動全身,但重構是契機,2015年,對於電商的核心系統交易和促銷進行了重構,同時價格、配貨、運費等系統也進行了較大調整,從而使系統間依賴問題得到了明顯改善。
第三,服務化。
微服務為互聯網行業的服務化指明了方向,也堅定了我們進行服務拆分和解耦的決心。
原有的架構以系統為維度,服務歸屬於明確的系統,而系統的劃分一般以業務功能為聚合,隨著業務的發展,新的業務功能層出不窮,總會有一些打破原有的系統邊界,給架構提出難題。
服務化,不僅是指系統將能力通過服務對外提供,更重要的是服務本身就是承載業務功能的單元,如果有組合了多個邏輯難以歸入某系統的服務,不必糾結,作為獨立的業務模塊開發就是了,以服務為單元,系統架構更加扁平,簡單清晰。
微服務架構中,服務粒度會更小,服務治理的需求更加迫切,更需要技術手段解決,比如分布式服務框架,當當使用的是基於Dubbo二次研發的DubboX,以及結合ddframe實現的服務調用監控。
去年的容器技術爆發,為微服務架構實施提供了有力工具,當當內部也在部分系統使用了Docker。
微服務大勢所趨,秉承SOA理念,在服務治理中心的基礎上,將系統弱化,提供更多的基礎服務,提高了系統的復用性和靈活性。
第四,平台化。
平台化包括兩個維度,技術平台化和系統平台化。
技術平台化是指在技術層面建立統一的體系,包括根據行業特點進行技術選型,使用穩定可靠的技術組件。
當當從2012年開始將原有的.net平台向Java平台遷移,從封閉到開源,應用電商行業的主流技術棧,到2015年,基本完成了技術轉型,主要後端業務系統都轉移到Java平台。
經過數年的積累,2015年當當架構部研發了Java應用開發框架ddframe,目的是分離技術和業務,封裝技術細節,將應用開發人員的精力集中在業務開發上。
隨後再接再厲,當當架構部又推出了用來替代TBSchele的分布式作業調度框架Elastic-Job。並將之開源,基於JDBC的分布式資料庫中間件Sharding-JDBC也在開發中。
統一的技術棧,能夠復用技術資源,持續積累整體的研發能力,為做精做專提供更好的基礎條件。
系統平台化是指搭建基礎平台,包括測試平台、分布式服務平台、自動化運維平台、監控平台、緩存集群、消息中間件平台、大數據處理平台、項目管理系統、日誌平台、問題跟蹤系統等。
基礎平台是各業務系統有機協作的基礎,保證了整個技術架構的全面可控,能夠降低系統運維復雜度,是大型電商系統不可或缺的組成部分,良好的基礎平台是技術實力和管理能力的雙重體現,而多數公司更注重業務,會在基礎平台建設方面欠下許多技術債務。
2015年,當當搭建了自動化運維平台Pangu、監控平台Radar,重構了項目管理系統,Redis集群管理平台也在搭建中。
第五,核心系統重構。
在電商業務發展的快節奏之下,核心系統持續迭代是常態,而且基本兩、三年以上,就需要考慮重構,否則難以支撐業務的快速變化。
另外,系統重構集中梳理業務邏輯和系統依賴,整理統一的文檔,剔除無用功能,歸並多個版本,甩掉歷史包袱重新設計架構,適度的前瞻性設計使系統在一定周期內具備業務擴展性。
2015年,當當完成了交易系統和促銷系統進行了重構。
交易系統在2015年10月底完成新老版本切換。重構耗費約1500人天,重構代碼17萬行,全部切換至Java開源技術架構,為公司節約大量成本,並進行了架構優化,整體性能平均提升25%,經受住了雙十一和雙十二的考驗。
在當當,有一些「類促銷」業務,從廣義上可以歸入促銷范疇,但業務與數據均不屬於促銷系統,在促銷系統重構設計中,我們考慮將這類業務逐漸回收;另外,促銷系統能不能承擔一些營銷的功能?帶著這兩點考慮,在促銷基礎上進一步抽象出活動模型。
8、網站的組織架構對於優化來說很重要嗎?
什麼是模塊化?
對「模塊化」的解釋,在 CNKI 中就有28種。可見「模塊化」思維使用的廣泛。最接近頁面重構中的「模塊化」,現有的解釋應該就是軟體開發中的解釋了。
先看一下百度詞條是怎麼解釋「 模塊化 」的:
模 塊化是指解決一個復雜問題時自頂向下逐層把軟體系統劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體, 完成整個系統所要求的功能。模塊具有以下幾種基本屬性:介面、功能、邏輯、狀態,功能、狀態與介面反映模塊的外部特性,邏輯反映它的內部特性。在軟體的體 系結構中,模塊是可組合、分解和更換的單元。
相關的書籍也蠻多的,有興趣的同學可以搜一下。需要強調一點,我們所借鑒的是一種思維的方式。
頁面製作為什麼需要模塊化?
站點內容越來越多、代碼越來越臃腫,漸漸影響到了客戶端的體驗(主要是打開速度),影響到了維護的效率。有什麼方法可以解決這些問題呢?
我 們很容易就想到:減少代碼冗餘、提高代碼重用率、圖片壓縮等等,而這些要如何實現呢?模塊化思維可以解決,即可以有效減少代碼冗餘、提高代碼重用率,更重 要是可以支持到多人維護,降低維護成本。CSS寫法較為靈活,容易產生代碼的耦合,使用模塊化也可以在一定程度上降低耦合度,對於BUG的定位也有幫助。 所以,我們更應該在站點前期就重視並使用「模塊化的思維」編寫站點。
我們之前經常提到的站點性能優化,有相當一部分也是「模塊化」的內容,比如提高代碼重用,提高開發效率等等,「模塊化」的優點還有很多,我大概列了一下:
提高代碼重用率
提高開發效率、減少溝通成本
降低耦合
降低發布風險
減少Bug定位時間和Fix成本
提高頁面容錯
更好的實現快速迭代
更好的支持灰度發布
其中最重要的一點,我認為是「提高代碼重用率」,這也是模塊化最重要的特點之一。
如何實現「模塊化」?
這里的主要問題是HTML與CSS的「模塊化」,我們可以看下換膚的實現方法:
同一類名,換文件(JS)
同一文件,換類名(JS)
由此可知HTML與CSS的介面實現:
CSS引入的三種方式
類名
為 了更好的實現這種介面,需要有相關的(交互、設計、頁面、開發)約定、規則、規范,比如:所有當前狀態都使用同一個類名「nonce」,所有變灰的表現都 使用原類名後加「_n」,Tab的實現方式等等。有了這些約定、規則、規范後,HTML代碼就很容易可以實現模板化,統一介面規范。
有兩個誤區需要先認清下:
模塊化後並不是就能被使用在任何位置(模塊化後的代碼段也是有適用的范圍限制,需要一個提供介面規則的環境)
模塊化後並不是就不能再變更(模塊化後的代碼段可根據實際需要做修改)
完 全獨立的模塊放在同一項目中,由於項目有自己的表現、交互統一性,所以各模塊間必定出現類似的部分,這些部分可以被提出來做為公共的定義,減少冗餘,這時 就會出現耦合的問題,完全不耦合是不可能的,因此模塊化中很重要一點就是「適度的耦合」。有了公共定義,就得調整模塊樣式的實現方式了,而這種調整也會影 響到「介面」的實現方式。
9、怎樣才能更好的做到網站結構優化?
網站的結構優化工作是網站優化人員日常工作中必不可少的組成部分,它跟網站的收錄與權重或多或少都有些關系。其優化的好處在於:
1、網站結構優化可給用戶帶來更貼心的體驗
2、網站結構優化能增加網站的收錄機會
3、可幫助站長合理分配和提高網站權重
4、可讓建站者自己的網站關鍵字排名靠前
因此,要做好網站優化,首先要明確用戶需求,有創意有想法。
10、通過什麼方法對網站結構進行優化
①網站導航優化。搜索引擎蜘蛛到達某個網站時,訪問網站每個頁面,大部分情況下,是通過網站導航欄的鏈接進入的。文本樣式的導航鏈接更有利於蜘蛛程序的爬行,如果確實需要用Flash、Javascript、圖片作為網站導航的設計,那麼需要解決搜索引擎不識別的問題。比如:在頁面的其他部位(如導航條下部、頁面底部等)放置文本文字的鏈接;在頁面的底部或者其他顯著位置放置HTML格式的網站sitemap;通過設置圖片的alt屬性優化圖片,增加蜘蛛程序的識別性。。
②麵包屑導航的優化。麵包屑導航清晰地顯示出當前頁面的訪問路徑,能夠讓用戶清楚地了解訪問所處的位置,同時優化麵包屑導航文字內容,也是內部鏈接優化的重要部分。一方面,可以在麵包屑導航文字內容中布置頁面關鍵字,提高關鍵字與目標頁面的相關性,提升目標頁面的權重;另一方面,麵包屑導航讓上一級欄目頁獲取大量的內部反向鏈接,也提升了上一級頁面的權重。麵包屑導航的優化不僅有利於蜘蛛程序的爬行,同時也提升了用戶體驗度。
③相關頁面的鏈接優化。在內容頁的側欄或者下部添加相關文章的鏈接,這也是一種提高網頁搜索引擎性能的做法。對於訪問網站的用戶來說,提供相關產品的鏈接功能,可以增加用戶頁面訪問數量,延長用戶駐留網站的時間,吸引客戶訪問更多的產品或服務,從而提升網站的轉化率。而對於搜索引擎優化來講,一方面,用戶網站瀏覽時間長短及網站轉化率能夠體現網站用戶體驗度,而用戶體驗度的高低是影響網站排名的關鍵因素;另一方面,添加相關文章的鏈接,優化網站的關鍵字,可以提升頁面相關性。
④網站地圖。網站地圖可以清晰地展示整個網站的主要鏈接結構,通過網站地圖,網站的各個頁面可以很容易被蜘蛛程序抓取到,而且不容易被遺漏掉。