web頁面性能優(yōu)化以及seo

web頁面性能優(yōu)化

前端優(yōu)化的目的是什么?

  • 從用戶角度而言,優(yōu)化能夠讓頁面加載得更快谒亦、對(duì)用戶的操作響應(yīng)得更及時(shí)竭宰,能夠給用戶提供更為友好的體驗(yàn)。
  • 從服務(wù)商角度而言份招,優(yōu)化能夠減少頁面請(qǐng)求數(shù)切揭、或者減小請(qǐng)求所占帶寬,能夠節(jié)省可觀的源锁摔。
    優(yōu)化的方式有以下幾種:

一廓旬、編輯html的時(shí)候注意語義結(jié)構(gòu)化

結(jié)構(gòu)語義化:根據(jù)內(nèi)容的結(jié)構(gòu),選擇合適的標(biāo)簽谐腰,以便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼嗤谚,同時(shí)讓瀏覽器的爬蟲和機(jī)器很好地解析。
結(jié)構(gòu)語義化的優(yōu)點(diǎn)包括:

  • 在頁面沒有css或者css還未加載出來的時(shí)候怔蚌,頁面也能呈現(xiàn)出很好的結(jié)構(gòu)。
  • 有利于SEO旁赊,易于被搜索引擎抓取桦踊,有利于推廣。
  • 方便盲人閱讀器终畅、屏幕閱讀器等等設(shè)備來解析籍胯。
  • 用戶體驗(yàn)更好,例如圖片的alt屬性离福,在圖片沒有加載出來時(shí)給予合理的解釋杖狼。
  • 便于團(tuán)隊(duì)開發(fā)和維護(hù)。
  • 遵循分離結(jié)構(gòu)和表現(xiàn)原則妖爷。

二蝶涩、 對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化

  • 書寫css和js的時(shí)候要注意代碼優(yōu)化,盡量重復(fù)利用
  • 可以用一個(gè)大的css文件來合并多個(gè)小的css文件,瀏覽器在請(qǐng)求每一個(gè)css文件時(shí)都會(huì)發(fā)送一個(gè)http請(qǐng)求绿聘,在http請(qǐng)求帶來的延遲沒有結(jié)束的時(shí)候嗽上,用戶都將在等待中度過。
  • 如果網(wǎng)頁中使用了大量背景圖片熄攘,那么這些圖片每一張都會(huì)發(fā)送一個(gè)http請(qǐng)求兽愤,可以使用css sprite來合并網(wǎng)頁中的需要頻繁加載的多個(gè)圖片。對(duì)于合并之后的圖片挪圾,我們需要注意對(duì)它圖片質(zhì)量和大小的優(yōu)化浅萧,圖片越小加載速度越快。
  • css文件放置在head哲思,js放置在文檔尾部洼畅。

三、利用多個(gè)域名來存儲(chǔ)網(wǎng)站資源

  • 可以節(jié)約cookie帶寬也殖。
  • 節(jié)約主域名的連接數(shù)土思,優(yōu)化頁面響應(yīng)速度。

四忆嗜、減少http請(qǐng)求己儒,合理設(shè)置 HTTP緩存

http協(xié)議是無狀態(tài)的應(yīng)用層協(xié)議,意味著每次http請(qǐng)求都需要建立通信鏈路捆毫、進(jìn)行數(shù)據(jù)傳輸闪湾,而在服務(wù)器端,每個(gè)http都需要啟動(dòng)獨(dú)立的線程去處理绩卤。這些通信和服務(wù)的開銷都很昂貴途样,減少http請(qǐng)求的數(shù)目可有效提高訪問性能。
減少http的主要手段是合并CSS濒憋、合并javascript何暇、合并圖片。將瀏覽器一次訪問需要的javascript和CSS合并成一個(gè)文件凛驮,這樣瀏覽器就只需要一次請(qǐng)求裆站。圖片也可以合并,多張圖片合并成一張黔夭,如果每張圖片都有不同的超鏈接宏胯,可通過CSS偏移響應(yīng)鼠標(biāo)點(diǎn)擊操作,構(gòu)造不同的URL本姥。
緩存的力量是強(qiáng)大的肩袍,恰當(dāng)?shù)木彺嬖O(shè)置可以大大的減少 HTTP請(qǐng)求。怎樣才算合理設(shè)置 ?原則很簡單婚惫,能緩存越多越好氛赐,能緩存越久越好魂爪。

  • 合并css,js文件鹰祸,減少css甫窟,js重復(fù)代碼,合并圖片等都是為了減少http請(qǐng)求蛙婴,應(yīng)為每次http請(qǐng)求的代價(jià)都是非常昂過的粗井,所以減少http請(qǐng)求能有效優(yōu)化訪問性能。
  • 緩存能緩存得更多街图,緩存得更久浇衬,也是可以大大減少http請(qǐng)求,就優(yōu)化了訪問性能餐济。

五耘擂、使用瀏覽器緩存

對(duì)一個(gè)網(wǎng)站而言,CSS絮姆、javascript醉冤、logo、圖標(biāo)這些靜態(tài)資源文件更新的頻率都比較低篙悯,而這些文件又幾乎是每次http請(qǐng)求都需要的蚁阳,如果將這些文件緩存在瀏覽器中,可以極好的改善性能鸽照。通過設(shè)置http頭中的cache-control和expires的屬性螺捐,可設(shè)定瀏覽器緩存,緩存時(shí)間可以是數(shù)天矮燎,甚至是幾個(gè)月定血。

在某些時(shí)候,靜態(tài)資源文件變化需要及時(shí)應(yīng)用到客戶端瀏覽器诞外,這種情況澜沟,可通過改變文件名實(shí)現(xiàn),即更新javascript文件并不是更新javascript文件內(nèi)容峡谊,而是生成一個(gè)新的JS文件并更新HTML文件中的引用倔喂。
使用瀏覽器緩存策略的網(wǎng)站在更新靜態(tài)資源時(shí),應(yīng)采用逐量更新的方法靖苇,比如需要更新10個(gè)圖標(biāo)文件,不宜把10個(gè)文件一次全部更新班缰,而是應(yīng)該一個(gè)文件一個(gè)文件逐步更新贤壁,并有一定的間隔時(shí)間,以免用戶瀏覽器忽然大量緩存失效埠忘,集中更新緩存脾拆,造成服務(wù)器負(fù)載驟增馒索、網(wǎng)絡(luò)堵塞的情況。

六名船、啟用壓縮

在服務(wù)器端對(duì)文件進(jìn)行壓縮绰上,在瀏覽器端對(duì)文件解壓縮,可有效減少通信傳輸?shù)臄?shù)據(jù)量渠驼。如果可以的話蜈块,盡可能的將外部的腳本、樣式進(jìn)行合并迷扇,多個(gè)合為一個(gè)百揭。文本文件的壓縮效率可達(dá)到80%以上,因此HTML蜓席、CSS器一、javascript文件啟用GZip壓縮可達(dá)到較好的效果。但是壓縮對(duì)服務(wù)器和瀏覽器產(chǎn)生一定的壓力厨内,在通信帶寬良好祈秕,而服務(wù)器資源不足的情況下要權(quán)衡考慮。

七雏胃、圖片懶加載(lazyout images)

圖片懶加載一般運(yùn)用到圖片較多的頁面请毛,電商類的頁面一般都有圖片懶加載處理。
步驟:

  • 將要懶加載的網(wǎng)頁中的圖片都設(shè)為同一張loading圖片丑掺;
  • 給圖片設(shè)置data-src的屬性获印,保存圖片的真實(shí)地址;
  • 當(dāng)圖片滾動(dòng)到可視區(qū)域時(shí)街州,將圖片src替換為真實(shí)地址兼丰。

八、CSS放在頁面最上部唆缴,javascript放在頁面最下面

瀏覽器會(huì)在下載完成全部CSS之后才對(duì)整個(gè)頁面進(jìn)行渲染鳍征,因此最好的做法是將CSS放在頁面最上面,讓瀏覽器盡快下載CSS面徽。如果將 CSS放在其他地方比如 BODY中艳丛,則瀏覽器有可能還未下載和解析到 CSS就已經(jīng)開始渲染頁面了,這就導(dǎo)致頁面由無 CSS狀態(tài)跳轉(zhuǎn)到 CSS狀態(tài)趟紊,用戶體驗(yàn)比較糟糕氮双,所以可以考慮將CSS放在HEAD中。

Javascript則相反霎匈,瀏覽器在加載javascript后立即執(zhí)行戴差,有可能會(huì)阻塞整個(gè)頁面,造成頁面顯示緩慢铛嘱,因此javascript最好放在頁面最下面暖释。但如果頁面解析時(shí)就需要用到j(luò)avascript袭厂,這時(shí)放到底部就不合適了。

Lazy Load Javascript(只有在需要加載的時(shí)候加載球匕,在一般情況下并不加載信息內(nèi)容纹磺。)隨著 Javascript框架的流行,越來越多的站點(diǎn)也使用起了框架亮曹。不過橄杨,一個(gè)框架往往包括了很多的功能實(shí)現(xiàn),這些功能并不是每一個(gè)頁面都需要的乾忱,如果下載了不需要的腳本則算得上是一種資源浪費(fèi) -既浪費(fèi)了帶寬又浪費(fèi)了執(zhí)行花費(fèi)的時(shí)間讥珍。目前的做法大概有兩種,一種是為那些流量特別大的頁面專門定制一個(gè)專用的 mini版框架窄瘟,另一種則是 Lazy Load衷佃。

九、減少cookie傳輸

一方面蹄葱,cookie包含在每次請(qǐng)求和響應(yīng)中氏义,太大的cookie會(huì)嚴(yán)重影響數(shù)據(jù)傳輸,因此哪些數(shù)據(jù)需要寫入cookie需要慎重考慮图云,盡量減少cookie中傳輸?shù)臄?shù)據(jù)量惯悠。另一方面,對(duì)于某些靜態(tài)資源的訪問竣况,如CSS克婶、script等,發(fā)送cookie沒有意義丹泉,可以考慮靜態(tài)資源使用獨(dú)立域名訪問情萤,避免請(qǐng)求靜態(tài)資源時(shí)發(fā)送cookie,減少cookie傳輸次數(shù)摹恨。

十筋岛、Javascript代碼優(yōu)化

js中減少DOM操作,避免使用eval和 Function晒哄,減少作用域鏈查找(盡量把變量設(shè)為局部變量)睁宰。

十一、CDN加速

CDN(contentdistribute network寝凌,內(nèi)容分發(fā)網(wǎng)絡(luò))的本質(zhì)仍然是一個(gè)緩存柒傻,而且將數(shù)據(jù)緩存在離用戶最近的地方,使用戶以最快速度獲取數(shù)據(jù)较木。

十二诅愚、反向代理

1.傳統(tǒng)代理服務(wù)器位于瀏覽器一側(cè),代理瀏覽器將http請(qǐng)求發(fā)送到互聯(lián)網(wǎng)上,而反向代理服務(wù)器位于網(wǎng)站機(jī)房一側(cè)违孝,代理網(wǎng)站web服務(wù)器接收http請(qǐng)求。
2.反向代理也可以實(shí)現(xiàn)負(fù)載均衡的功能泳赋,而通過負(fù)載均衡構(gòu)建的應(yīng)用集群可以提高系統(tǒng)總體處理能力雌桑,進(jìn)而改善網(wǎng)站高并發(fā)情況下的性能。

SEO(Search Engine Optimization)

SEO(Search Engine Optimization):搜索引擎優(yōu)化祖今。是一種方式:利用搜索引擎的規(guī)則提高網(wǎng)站在有關(guān)搜索引擎內(nèi)的自然排名校坑。目的是:為網(wǎng)站提供生態(tài)式的自我營銷。解決方案千诬,讓其在行業(yè)內(nèi)占據(jù)領(lǐng)先地位耍目,獲得品牌收益;SEO包含站外SEO和站內(nèi)SEO兩方面徐绑;為了從搜索引擎中獲得更多的免費(fèi)流量邪驮,從網(wǎng)站結(jié)構(gòu)、內(nèi)容建設(shè)方案傲茄、用戶互動(dòng)傳播毅访、頁面等角度進(jìn)行合理規(guī)劃,還會(huì)使搜索引擎中顯示的網(wǎng)站相關(guān)信息對(duì)用戶來說更具有吸引力盘榨。
通過了解各類搜索引擎抓取互聯(lián)網(wǎng)頁面喻粹、進(jìn)行索引以及確定其對(duì)特定關(guān)鍵詞搜索結(jié)果排名等技術(shù),來對(duì)網(wǎng)頁進(jìn)行相關(guān)的優(yōu)化草巡,使其提高搜索引擎排名守呜,從而提高網(wǎng)站訪問量,最終提升網(wǎng)站的銷售或宣傳的效果山憨。
搜索引擎優(yōu)化

  • 內(nèi)部優(yōu)化
     〔槠埂(1)META標(biāo)簽優(yōu)化:例如:TITLE,KEYWORDS萍歉,DESCRIPTION等的優(yōu)化侣颂;
      (2)內(nèi)部鏈接的優(yōu)化枪孩,包括相關(guān)性鏈接(Tag標(biāo)簽)憔晒,錨文本鏈接,各導(dǎo)航鏈接蔑舞,及圖片鏈接拒担;
      (3)網(wǎng)站內(nèi)容更新:每天保持站內(nèi)的更新(主要是文章的更新等)攻询。
  • 外部優(yōu)化
     〈雍场(1)外部鏈接類別:友情鏈接、博客钧栖、論壇低零、B2B婆翔、新聞、分類信掏婶、貼吧啃奴、知道、百科雄妥、站群最蕾、相關(guān)信息網(wǎng)等盡量保持鏈接的多樣性;
     ±涎帷(2)外鏈運(yùn)營:每天添加一定數(shù)量的外部鏈接瘟则,使關(guān)鍵詞排名穩(wěn)定提升;
     ≈Τ印(3)外鏈選擇:與一些和你網(wǎng)站相關(guān)性比較高,整體質(zhì)量比較好的網(wǎng)站交換友情鏈接,鞏固穩(wěn)定關(guān)鍵詞排名醋拧。
    搜索引擎優(yōu)化技術(shù)
    可分為兩大類:白帽技術(shù)與黑帽技術(shù)。
  • 白帽技術(shù)(Whitehat):在搜索引擎優(yōu)化行業(yè)中宿百,使用正規(guī)符合搜索引擎網(wǎng)站質(zhì)量規(guī)范的手段和方式趁仙,使網(wǎng)站在搜索引擎中關(guān)鍵詞獲得良好的自然排名稱為白帽技術(shù)。白帽技術(shù)是較為流行的網(wǎng)絡(luò)營銷方式垦页,主要目的是增加特定關(guān)鍵字的曝光率以增加網(wǎng)站的能見度雀费,進(jìn)而增加銷售的機(jī)會(huì)。分為站外SEO和站內(nèi)SEO兩種痊焊。SEO的主要工作是通過了解各類搜索引擎如何抓取互聯(lián)網(wǎng)頁面盏袄、如何進(jìn)行索引以及如何確定其對(duì)某一特定關(guān)鍵詞的搜索結(jié)果排名等技術(shù),來對(duì)網(wǎng)頁進(jìn)行相關(guān)的優(yōu)化薄啥,使其提高搜索引擎排名辕羽,從而提高網(wǎng)站訪問量,最終提升網(wǎng)站的銷售能力或宣傳能力的技術(shù)垄惧。
  • 黑帽技術(shù)(Blackhat):黑帽技術(shù)是指在seo就是通過一些類似作弊的方法或技術(shù)手段刁愿,以不符合主流搜索引擎優(yōu)化發(fā)行方針規(guī)定的手法來獲得短時(shí)間內(nèi)較好的搜索引擎優(yōu)化的一種技術(shù)。黑帽SEO獲利主要的特點(diǎn)就是短平快為了短期內(nèi)的利益而采用的作弊方法到逊,同時(shí)隨時(shí)會(huì)因?yàn)樗阉饕嫠惴ǖ母淖兌媾R懲罰铣口。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市觉壶,隨后出現(xiàn)的幾起案子脑题,更是在濱河造成了極大的恐慌,老刑警劉巖铜靶,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叔遂,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)已艰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門痊末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哩掺,你說我怎么就攤上這事舌胶。” “怎么了疮丛?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辆它。 經(jīng)常有香客問我誊薄,道長,這世上最難降的妖魔是什么锰茉? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任呢蔫,我火速辦了婚禮,結(jié)果婚禮上飒筑,老公的妹妹穿的比我還像新娘片吊。我一直安慰自己,他們只是感情好协屡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布俏脊。 她就那樣靜靜地躺著,像睡著了一般肤晓。 火紅的嫁衣襯著肌膚如雪爷贫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天补憾,我揣著相機(jī)與錄音漫萄,去河邊找鬼。 笑死盈匾,一個(gè)胖子當(dāng)著我的面吹牛腾务,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播削饵,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岩瘦,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了葵孤?” 一聲冷哼從身側(cè)響起担钮,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尤仍,沒想到半個(gè)月后箫津,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年苏遥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饼拍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡田炭,死狀恐怖师抄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情教硫,我是刑警寧澤叨吮,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站瞬矩,受9級(jí)特大地震影響茶鉴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜景用,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一涵叮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伞插,春花似錦割粮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杠步,卻和暖如春氢伟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幽歼。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工朵锣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甸私。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓诚些,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皇型。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诬烹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容