摘要:各種各樣的編碼錯(cuò)誤可能會(huì)導(dǎo)致網(wǎng)站加載速度非常慢,從而用戶(hù)離開(kāi)的網(wǎng)站。同時(shí)提高網(wǎng)站加載速度也是提高網(wǎng)站排名的必要步驟之一。
翻譯:瘋狂的技術(shù)宅
原文:https://likegeeks.com/improve...
為你網(wǎng)站的用戶(hù)留下良好的第一印象是非常必要的。隨著商業(yè)領(lǐng)域的競(jìng)爭(zhēng),擁有一個(gè)吸引人的網(wǎng)站可以幫助你脫穎而出。研究表明,如果加載時(shí)間超過(guò)3秒,會(huì)有 40% 的用戶(hù)放棄訪(fǎng)問(wèn)你的網(wǎng)站(https://www.optimumsystemsonl...)。
如果開(kāi)發(fā)人員急于瀏覽網(wǎng)站的編碼部分,問(wèn)題的發(fā)生只是時(shí)間問(wèn)題。各種各樣的編碼錯(cuò)誤可能會(huì)導(dǎo)致網(wǎng)站加載速度非常慢,從而用戶(hù)離開(kāi)的網(wǎng)站。在頁(yè)面加載時(shí)間與跳出率的爭(zhēng)論中,你可以清楚地看到加載速度較慢的網(wǎng)站的參與率較低。
同時(shí)提高網(wǎng)站加載速度也是提高網(wǎng)站排名的必要步驟之一。以下是避免頁(yè)面加載速度緩慢時(shí)需要考慮的一些事項(xiàng)。
為你的頁(yè)面元素選擇正確的加載順序你的頁(yè)面中 部分中的所有元素都需要以正確的方式預(yù)加載。用戶(hù)在你的網(wǎng)站上看到任何內(nèi)容之前,所有這些元素都必須按順序加載。在 部分中使用 JavaScript 會(huì)導(dǎo)致頁(yè)面在嘗試呈現(xiàn)信息時(shí)變慢。
如果沒(méi)有對(duì)頁(yè)面加載元素的順序進(jìn)行優(yōu)化,那么用戶(hù)可能會(huì)在加載過(guò)程中看到白屏。通過(guò)優(yōu)化頁(yè)面加載元素,可以大大的加快頁(yè)面加載的速度。雖然優(yōu)化頁(yè)面加載元素非常耗時(shí),但這種付出還是很值得的。
服務(wù)器性能可能會(huì)導(dǎo)致頁(yè)面加載問(wèn)題只要有人點(diǎn)擊你的網(wǎng)站,它就會(huì)激活從服務(wù)器開(kāi)始的一系列事件。瀏覽器所做的最重要的一件事就是向你的服務(wù)器發(fā)送請(qǐng)求。
如果服務(wù)器響應(yīng)緩慢,就會(huì)導(dǎo)致頁(yè)面加載問(wèn)題,所以你必須排除網(wǎng)絡(luò)故障。如果這類(lèi)問(wèn)題經(jīng)常發(fā)生,你可能需要重新尋找其他 Web 服務(wù)商,要考慮它能為你的網(wǎng)站提供多少速度,即使你需要為可靠的網(wǎng)絡(luò)主機(jī)支付更多費(fèi)用。
優(yōu)化代碼很重要壓縮 JavaScript 代碼也是解決頁(yè)面加載速度緩慢問(wèn)題的好方法。使用代碼壓縮工具,你可以擺脫逗號(hào)、注釋甚至不需要的空格。使用 Google Closure Compiler 等程序是不錯(cuò)的選擇。
優(yōu)化之前:function test(node) { var parent = node.parentNode; if (0) { alert( "Hello Everybody" ); } else { alert( "We love Websites" ); } return; alert( 1 ); }優(yōu)化后:
function test(){alert("We love Websites")}
正如你所看到的,優(yōu)化工具刪除不會(huì)用到的變量,還刪掉了死代碼。
優(yōu)化服務(wù)器端代碼同樣非常重要,就像我們?cè)谔幚泶笪募晃闹锌吹降哪菢樱粫?huì)損失性能。
了解延遲和異步標(biāo)記JavaScript 中最常用的同步加載機(jī)制之一是異步加載?;旧洗藱C(jī)制可確保你的網(wǎng)站以多流方式加載。
在使用瀏覽器找到一串如
在加載 big.js 之前,下面的代碼不會(huì)處理。
向此代碼添加 async 標(biāo)記可確保立即創(chuàng)建 DOM 模型,并且不會(huì)干擾正確加載和執(zhí)行的 JavaScript。以下是正確使用 async 標(biāo)記的示例。
這段代碼會(huì)被處理,并且不依賴(lài)于big.js加載進(jìn)度。
需要注意的是,如果你的 JavaScript 必須進(jìn)行 HTML 或 CSS 操作,則使用 sync 標(biāo)記可能不是最好的方法。必須以強(qiáng)制的順序加載腳本時(shí),應(yīng)避免使用 sync 標(biāo)記。
注意復(fù)雜的文件格式和大圖像雖然編碼錯(cuò)誤是頁(yè)面加載速度緩慢的主要原因之一,但大圖像和復(fù)雜文件格式等也會(huì)導(dǎo)致問(wèn)題。一旦你使用的服務(wù)器被瀏覽器請(qǐng)求,它會(huì)開(kāi)始將需要的每個(gè)字節(jié)都加載到用戶(hù)的移動(dòng)設(shè)備或計(jì)算機(jī)上。
如果你有許多大圖像,那么加載它們需要更長(zhǎng)的時(shí)間。這就是你需要使用文件壓縮軟件和插件的原因。雖然壓縮這些圖像的大小可能會(huì)有所幫助,但在某些情況下,你可能需要?jiǎng)h除一些圖像。
未使用的 .JS 庫(kù)組件許多開(kāi)發(fā)人員按原樣使用 jQuery UI 之類(lèi)的庫(kù),而根本不去優(yōu)化它。這樣做可能會(huì)導(dǎo)致你根本不需要的代碼組件。如果可以選擇從 JavaScript 庫(kù)中排除哪些組件,那么你一定要抓住這個(gè)機(jī)會(huì)。通過(guò)修改這些庫(kù)中的代碼,可以為用戶(hù)提供更好的體驗(yàn)并加快你的網(wǎng)站速度。
使用 GZIP 模塊是理想的選擇雖然 gzip 是一個(gè)相對(duì)古老的發(fā)明,但在加快網(wǎng)站加載速度時(shí)絕對(duì)值得使用。這個(gè)程序能夠壓縮 Web 服務(wù)器上的文件大小,甚至可以將一些靜態(tài)文件壓縮到原始大小的 99%。
由于 JavaScript 被視為文本文件,因此可以通過(guò)用 gzip 壓縮來(lái)減少頁(yè)面加載所需的時(shí)間。
使用 Node.js 對(duì)文件壓縮也是一個(gè)好主意。以下是進(jìn)行設(shè)置的方法:
const zlib = require("zlib");
你可以通過(guò)以下幾種方式使用:
const gzip = zlib.createGzip(); const fs = require("fs"); const inp = fs.createReadStream("input.txt"); const out = fs.createWriteStream("input.txt.gz"); inp.pipe(gzip).pipe(out);
在gzip的幫助下,你可以找到并消除代碼中的重復(fù)元素。這些重復(fù)的元素也可以用歸檔字典中的小符號(hào)進(jìn)行替換。剩下的最終代碼將不會(huì)那么笨重,并且完全針對(duì)性能進(jìn)行了優(yōu)化。
Be Aware of Code Density 意識(shí)到代碼密度當(dāng)你的網(wǎng)站中包含大而密集的元素時(shí)只會(huì)減慢它的速度。像 Facebook 這樣的大型網(wǎng)站擁有超過(guò) 6000 萬(wàn)行代碼。雖然你的站點(diǎn)沒(méi)有這么多代碼,但還是需要找到優(yōu)化代碼的方法,以確保能夠快速加載。
不斷審查自己的代碼并對(duì)其進(jìn)行優(yōu)化是避免問(wèn)題的唯一方法。從長(zhǎng)遠(yuǎn)來(lái)看,在代碼優(yōu)化方面投入的時(shí)間和精力肯定會(huì)得到回報(bào)。
處理太多文件請(qǐng)求每次新用戶(hù)訪(fǎng)問(wèn)時(shí),你網(wǎng)站上的每個(gè) CSS 文件、社交分享按鈕和 JavaScript 元素都會(huì)生成一個(gè)新的文件請(qǐng)求。即使是最強(qiáng)大和最可靠的服務(wù)器也只能在處理這么多請(qǐng)求時(shí)開(kāi)始減速。
你需要考慮的是刪除頁(yè)面上的某些文件請(qǐng)求,而不是試圖弄清楚如何提高服務(wù)器的速度。
放任此此問(wèn)題會(huì)導(dǎo)致在吸引用戶(hù)訪(fǎng)問(wèn)你網(wǎng)站時(shí)遇到很多問(wèn)題。你的主要目標(biāo)應(yīng)該是盡一切可能加速你的網(wǎng)站,并讓人們輕松瀏覽它。
避免使用太多插件即使你使用 WordPress 網(wǎng)站,在頁(yè)面加載速度方面也可能會(huì)遇到問(wèn)題。大多數(shù)企業(yè)主使用 WordPress 模板,因?yàn)樗梢耘c他們的新網(wǎng)站一起運(yùn)行。但是,你通常還需要使用許多不同的插件來(lái)使網(wǎng)站具有更多功能。
這些插件可能是有用的,但是有太多插件會(huì)產(chǎn)生問(wèn)題。如果有插件太多又試圖同時(shí)運(yùn)行,那么它將大大減慢你的網(wǎng)站速度。
客觀地看待正在使用的插件可以幫助你找出哪些插件是可以不用的。減少插件的數(shù)量將使你的 WordPress 網(wǎng)站更快。
適當(dāng)?shù)挠?CSS3 效果而不是 JavaScript一些程序員沒(méi)有意識(shí)到 CSS 的新版本可以比以舊版本做得更多。在過(guò)去 CSS 1.0 和 2.0 需要大量的 JavaScript 輔助才能實(shí)現(xiàn)高級(jí)樣式效果。但是用 CSS3 不僅可以為你提供更大的靈活性,還可以降低你的 CPU 使用率。
下面是一些代碼,你可以用 CSS3 實(shí)現(xiàn)滑塊效果而無(wú)需使用 JavaScript:
HTML:
CSS Slider ![]()
![]()
![]()
![]()
![]()
CSS
@keyframes slidy { 0% { left: 0%; } 20% { left: 0%; } 25% { left: -100%; } 45% { left: -100%; } 50% { left: -200%; } 70% { left: -200%; } 75% { left: -300%; } 95% { left: -300%; } 100% { left: -400%; } } body { margin: 0; } div#slider { overflow: hidden; } div#slider figure img { width: 20%; float: left; } div#slider figure { position: relative; width: 500%; margin: 0; left: 0 text-align: left; font-size: 0; animation: 30s slidy infinite; }
學(xué)習(xí)如何使用更新的工具將幫助你實(shí)現(xiàn)所追求的頁(yè)面加載速度。
定期更新內(nèi)容管理系統(tǒng)大多數(shù)企業(yè)會(huì)使用提供內(nèi)容管理功能的網(wǎng)站平臺(tái),比如 Wix 和 WordPress 這樣的平臺(tái),無(wú)需花費(fèi)大量時(shí)間和金錢(qián)。如果你用的是其中之一的話(huà),則必須定期去更新它。
本文首發(fā)微信公眾號(hào):jingchengyideng 歡迎掃描二維碼關(guān)注公眾號(hào),每天都給你推送新鮮的前端技術(shù)文章 歡迎繼續(xù)閱讀本專(zhuān)欄其它高贊文章:12個(gè)令人驚嘆的CSS實(shí)驗(yàn)項(xiàng)目
世界頂級(jí)公司的前端面試都問(wèn)些什么
CSS Flexbox 可視化手冊(cè)
過(guò)節(jié)很無(wú)聊?還是用 JavaScript 寫(xiě)一個(gè)腦力小游戲吧!
從設(shè)計(jì)者的角度看 React
CSS粘性定位是怎樣工作的
一步步教你用HTML5 SVG實(shí)現(xiàn)動(dòng)畫(huà)效果
程序員30歲前月薪達(dá)不到30K,該何去何從
7個(gè)開(kāi)放式的前端面試題
React 教程:快速上手指南
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102789.html
摘要:今日我就和我們深化共享一下圖片優(yōu)化有必要了解的個(gè)知識(shí)點(diǎn)。一般我們能夠擬定結(jié)構(gòu)化數(shù)據(jù)規(guī)則讓技術(shù)人員設(shè)計(jì)程序批量替換圖片的特點(diǎn),而無(wú)需我們手工操作。關(guān)于圖片地圖,我就不多說(shuō)了,由于谷歌有許多輔導(dǎo)文檔來(lái)協(xié)助你提高圖片的查找排名,看這兒。 假如你運(yùn)營(yíng)在線(xiàn)商城又或是大型電商網(wǎng)站,圖片優(yōu)化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網(wǎng)站加載速度,圖片優(yōu)化扮演者十分要害...
摘要:今日我就和我們深化共享一下圖片優(yōu)化有必要了解的個(gè)知識(shí)點(diǎn)。一般我們能夠擬定結(jié)構(gòu)化數(shù)據(jù)規(guī)則讓技術(shù)人員設(shè)計(jì)程序批量替換圖片的特點(diǎn),而無(wú)需我們手工操作。關(guān)于圖片地圖,我就不多說(shuō)了,由于谷歌有許多輔導(dǎo)文檔來(lái)協(xié)助你提高圖片的查找排名,看這兒。 假如你運(yùn)營(yíng)在線(xiàn)商城又或是大型電商網(wǎng)站,圖片優(yōu)化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網(wǎng)站加載速度,圖片優(yōu)化扮演者十分要害...
摘要:技巧評(píng)估局部變量主要針對(duì)而言,由于局部變量的查找是從最特定作用域到最大作用域,且可以通過(guò)多個(gè)域?qū)蛹?jí),所以這種查找會(huì)導(dǎo)致查詢(xún)到通用的結(jié)果。 文章系國(guó)內(nèi)領(lǐng)先的 ITOM 管理平臺(tái)供應(yīng)商 OneAPM 編譯呈現(xiàn)。 您是網(wǎng)站管理員還是網(wǎng)頁(yè)開(kāi)發(fā)人員?想創(chuàng)建超快速的網(wǎng)站嗎? 今天我們來(lái)看看 JavaScript,這項(xiàng)神奇而又復(fù)雜的技術(shù)。它使網(wǎng)站內(nèi)容更加豐富,但常常出現(xiàn)的運(yùn)行性能問(wèn)題又降低了用戶(hù)的體...
摘要:最優(yōu)化渲染路徑,實(shí)際上只要聚焦三件事情最小化關(guān)鍵資源的數(shù)量最小化關(guān)鍵字節(jié)數(shù)最小化關(guān)鍵路徑的長(zhǎng)度理解頁(yè)面加載速度的測(cè)量辦法當(dāng)百度談?wù)擁?yè)面加載速度時(shí),他們并不是指加載一個(gè)網(wǎng)頁(yè)的總時(shí)間。 張超 — MAY 21, 2015 經(jīng)常有站長(zhǎng)、開(kāi)發(fā)者、運(yùn)維疑惑:為什么我們的后臺(tái)服務(wù)器很快,但是用戶(hù)要看網(wǎng)頁(yè)里面的內(nèi)容卻需要很長(zhǎng)時(shí)間?我們?cè)谏弦黄恼隆豆肢F大作戰(zhàn): 解析網(wǎng)站打開(kāi)慢的原因》中簡(jiǎn)單介紹了影...
閱讀 3460·2023-04-26 01:46
閱讀 3026·2023-04-25 20:55
閱讀 5625·2021-09-22 14:57
閱讀 3032·2021-08-27 16:23
閱讀 1773·2019-08-30 14:02
閱讀 2126·2019-08-26 13:44
閱讀 701·2019-08-26 12:08
閱讀 3188·2019-08-26 11:47