-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
前端頁(yè)面優(yōu)化方法(前端頁(yè)面優(yōu)化方法是什么)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于前端頁(yè)面優(yōu)化方法的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、做一個(gè)網(wǎng)站優(yōu)化整改方案,應(yīng)該怎么做
一個(gè)完整的SEO優(yōu)化方案主要由四個(gè)小組組成:
一、前端/頁(yè)編人員
二、內(nèi)容編輯人員
三、推廣人員
四、數(shù)據(jù)分析人員
第一個(gè),站內(nèi)結(jié)構(gòu)優(yōu)化
合理規(guī)劃站點(diǎn)結(jié)構(gòu)(1、扁平化結(jié)構(gòu) 2、輔助導(dǎo)航、面包屑導(dǎo)航、次導(dǎo)航)
內(nèi)容頁(yè)結(jié)構(gòu)設(shè)置(最新文章、推薦文章、熱門文章、增加相關(guān)性、方便自助根據(jù)鏈接抓取更多內(nèi)容)
較快的加載速度
簡(jiǎn)潔的頁(yè)面結(jié)構(gòu)
第二個(gè),代碼優(yōu)化
Robot.txt
次導(dǎo)航
404頁(yè)面設(shè)置、301重定向
網(wǎng)站地圖
圖片Alt、title標(biāo)簽
標(biāo)題
關(guān)鍵詞
描述
關(guān)鍵字密度
個(gè)別關(guān)鍵字密度
H1H2H3中的關(guān)鍵字
關(guān)鍵字強(qiáng)調(diào)
外鏈最好nofollow
為頁(yè)面添加元標(biāo)記meta
豐富網(wǎng)頁(yè)摘要(微數(shù)據(jù)、微格式和RDFa)
第三個(gè),網(wǎng)站地圖設(shè)置
html網(wǎng)站地圖(1、為搜索引擎建立一個(gè)良好的導(dǎo)航結(jié)構(gòu) 2、橫向和縱向地圖:01橫向?yàn)轭l道、欄目、專題/02縱向主要針對(duì)關(guān)鍵詞 3、每頁(yè)都有指向網(wǎng)站地圖的鏈接)
XML網(wǎng)站地圖(sitemap.xml提交給百度、google)
第四個(gè),關(guān)鍵詞部署
挑選關(guān)鍵詞的步驟(1、確定目標(biāo)關(guān)鍵詞 2、目標(biāo)關(guān)鍵詞定義上的擴(kuò)展 3、模擬用戶的思維設(shè)計(jì)關(guān)鍵詞 4、研究競(jìng)爭(zhēng)者的關(guān)鍵詞)
頁(yè)面關(guān)鍵詞優(yōu)化先后順序(1、最終頁(yè)>專題>欄目>頻道>首頁(yè) 2、最終頁(yè):長(zhǎng)尾關(guān)鍵詞 3、專題頁(yè):【a、熱門關(guān)鍵詞 b、為熱點(diǎn)關(guān)鍵詞制作專題 c、關(guān)鍵詞相關(guān)信息的聚合 d、輔以文章內(nèi)鏈導(dǎo)入鏈接】 4、欄目頁(yè):固定關(guān)鍵詞 5、頻道頁(yè):目標(biāo)關(guān)鍵詞 6、首頁(yè):做行業(yè)一到兩個(gè)頂級(jí)關(guān)鍵詞,或者網(wǎng)站名稱)
關(guān)鍵詞部署建議(1、不要把關(guān)鍵詞堆積在首頁(yè) 2、每個(gè)頁(yè)面承載關(guān)鍵詞合理數(shù)目為3-5個(gè) 3、系統(tǒng)規(guī)劃)
網(wǎng)站內(nèi)部?jī)?yōu)化
第一個(gè),網(wǎng)站內(nèi)容來(lái)源
第二個(gè),內(nèi)容細(xì)節(jié)優(yōu)化
第三個(gè),關(guān)鍵詞部署
第四個(gè),內(nèi)鏈策略
站外優(yōu)化
第一個(gè),外鏈建設(shè)基本途徑
第二個(gè),鏈接誘餌建設(shè)思路
數(shù)據(jù)分析
第一個(gè),自身網(wǎng)站數(shù)據(jù)分析
第二個(gè),競(jìng)爭(zhēng)對(duì)手分析
第三個(gè),關(guān)鍵詞定位
第四個(gè),長(zhǎng)尾關(guān)鍵詞挖掘—長(zhǎng)尾關(guān)鍵詞類型
第五個(gè),挖掘長(zhǎng)尾關(guān)鍵詞用到的工具
二、☆前端優(yōu)化:瀏覽器緩存技術(shù)介紹
在前端開發(fā)中,性能一直都是被大家所重視的一點(diǎn),然而判斷一個(gè)網(wǎng)站的性能最直觀的就是看網(wǎng)頁(yè)打開的速度。 其中提高網(wǎng)頁(yè)反應(yīng)速度的一個(gè)方式就是使用緩存 。緩存技術(shù)一直一來(lái)在WEB技術(shù)體系中扮演非常重要角色,是快速且有效地提升性能的手段。
一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁(yè)請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。
所以,緩存技術(shù)是無(wú)數(shù)WEB開發(fā)從業(yè)人員在工作過程中不可避免的一大問題。 在產(chǎn)品開發(fā)的時(shí)候我們總是想辦法避免緩存產(chǎn)生,而在產(chǎn)品發(fā)布之時(shí)又在想策略管理緩存提升網(wǎng)頁(yè)的訪問速度 。了解瀏覽器的緩存命中原理,是開發(fā)WEB應(yīng)用的基礎(chǔ),本文著眼于此,學(xué)習(xí)瀏覽器緩存的相關(guān)知識(shí),總結(jié)緩存避免和緩存管理的方法,結(jié)合具體的場(chǎng)景說(shuō)明緩存的相關(guān)問題。希望能對(duì)有需要的人有所幫助。
在實(shí)際WEB開發(fā)過程中,緩存技術(shù)會(huì)涉及到不同層、不同端,比如:用戶層、系統(tǒng)層、代理層、前端、后端、服務(wù)端等, 每一層的緩存目標(biāo)都是一致的,就是盡快返回請(qǐng)求數(shù)據(jù)、減少延遲 ,但每層使用的技術(shù)實(shí)現(xiàn)是各有不同,面對(duì)不同層、不同端的優(yōu)劣,選用不同的技術(shù)來(lái)提升系統(tǒng)響應(yīng)效率。所以,我們首先看下各層的緩存都有哪些技術(shù),都緩存哪些數(shù)據(jù),從整體上,對(duì)WEB的緩存技術(shù)進(jìn)行了解,如下圖所示:
本篇文章重點(diǎn)講的就是上面紅色框部分緩存內(nèi)容。
當(dāng)瀏覽器請(qǐng)求一個(gè)網(wǎng)站的時(shí)候,會(huì)加載各種各樣的資源,比如:HTML文檔、圖片、CSS和JS等文件。對(duì)于一些不經(jīng)常變的內(nèi)容,瀏覽器會(huì)將他們保存在本地的文件中,下次訪問相同網(wǎng)站的時(shí)候,直接加載這些資源,加速訪問。
那么如何知曉瀏覽器是讀取了緩存還是直接請(qǐng)求服務(wù)器?如下圖網(wǎng)站來(lái)做個(gè)示例:
第一次打開該網(wǎng)站后,如果再次刷新頁(yè)面。會(huì)發(fā)現(xiàn)瀏覽器加載的眾多資源中,有一部分size有具體數(shù)值,然而還有一部分請(qǐng)求,比如圖片、css和js等文件并沒有顯示文件大小,而是顯示了 from dis cache 或者 from memory cache 字樣。這就說(shuō)明了,該資源直接從本地硬盤或者瀏覽器內(nèi)存讀取,而并沒有請(qǐng)求服務(wù)器。
瀏覽器啟用緩存至少有兩點(diǎn)顯而易見的好處: (1)減少頁(yè)面加載時(shí)間;(2)減少服務(wù)器負(fù)載;
瀏覽器是否使用緩存、緩存多久,是由服務(wù)器控制的 。準(zhǔn)確來(lái)說(shuō),當(dāng)瀏覽器請(qǐng)求一個(gè)網(wǎng)頁(yè)(或者其他資源)時(shí), 服務(wù)器發(fā)回的響應(yīng)的「響應(yīng)頭」部分的某些字段指明了有關(guān)緩存的關(guān)鍵信息 。下面看下,HTTP報(bào)文中與緩存相關(guān)的首部字段:
根據(jù)上面四種類型的首部字段不同使用策略, 瀏覽器中緩存可分為強(qiáng)緩存和協(xié)商緩存 :
當(dāng)瀏覽器對(duì)某個(gè)資源的請(qǐng)求命中了強(qiáng)緩存時(shí), 返回的HTTP狀態(tài)為200 ,在chrome的開發(fā)者工具的network里面 size會(huì)顯示為from cache ,比如:京東的首頁(yè)里就有很多靜態(tài)資源配置了強(qiáng)緩存,用chrome打開幾次,再用f12查看network,可以看到有不少請(qǐng)求就是從緩存中加載的:
Expires是HTTP 1.0提出的一個(gè)表示資源過期時(shí)間的header,它描述的是一個(gè)絕對(duì)時(shí)間,由服務(wù)器返回,用GMT格式的字符串表示 ,如:Expires:Thu, 31 Dec 2037 23:55:55 GMT,包含了Expires頭標(biāo)簽的文件,就說(shuō)明瀏覽器對(duì)于該文件緩存具有非常大的控制權(quán)。
例如,一個(gè)文件的Expires值是2020年的1月1日,那么就代表,在2020年1月1日之前,瀏覽器都可以直接使用該文件的本地緩存文件,而不必去服務(wù)器再次請(qǐng)求該文件,哪怕服務(wù)器文件發(fā)生了變化。
所以, Expires是優(yōu)化中最理想的情況,因?yàn)樗静粫?huì)產(chǎn)生請(qǐng)求 ,所以后端也就無(wú)需考慮查詢快慢。它的緩存原理,如下:
Expires是較老的強(qiáng)緩存管理header, 由于它是服務(wù)器返回的一個(gè)絕對(duì)時(shí)間 ,在服務(wù)器時(shí)間與客戶端時(shí)間相差較大時(shí),緩存管理容易出現(xiàn)問題, 比如:隨意修改下客戶端時(shí)間,就能影響緩存命中的結(jié)果 。所以在HTTP 1.1的時(shí)候,提出了一個(gè)新的header, 就是Cache-Control,這是一個(gè)相對(duì)時(shí)間,在配置緩存的時(shí)候,以秒為單位,用數(shù)值表示 ,如:Cache-Control:max-age=315360000,它的緩存原理是:
Cache-Control描述的是一個(gè)相對(duì)時(shí)間 ,在進(jìn)行緩存命中的時(shí)候, 都是利用客戶端時(shí)間進(jìn)行判斷 ,所以相比較Expires,Cache-Control的緩存管理更有效,安全一些。
這兩個(gè)header可以只啟用一個(gè),也可以同時(shí)啟用, 當(dāng)response header中,Expires和Cache-Control同時(shí)存在時(shí),Cache-Control優(yōu)先級(jí)高于Expires :
此外,還可以為 Cache-Control 指定 public 或 private 標(biāo)記。 如果使用 private,則表示該資源僅僅屬于發(fā)出請(qǐng)求的最終用戶,這將禁止中間服務(wù)器(如代理服務(wù)器)緩存此類資源 。對(duì)于包含用戶個(gè)人信息的文件(如一個(gè)包含用戶名的 HTML 文檔),可以設(shè)置 private,一方面由于這些緩存對(duì)其他用戶來(lái)說(shuō)沒有任何意義,另一方面用戶可能不希望相關(guān)文件儲(chǔ)存在不受信任的服務(wù)器上。需要指出的是,private 并不會(huì)使得緩存更加安全,它同樣會(huì)傳給中間服務(wù)器(如果網(wǎng)站對(duì)于傳輸?shù)陌踩砸蠛芨?,?yīng)該使用傳輸層安全措施)。 對(duì)于 public,則允許所有服務(wù)器緩存該資源 。通常情況下,對(duì)于所有人都可以訪問的資源(例如網(wǎng)站的 logo、圖片、腳本等), Cache-Control 默認(rèn)設(shè)為 public 是合理的 。
當(dāng)瀏覽器對(duì)某個(gè)資源的請(qǐng)求沒有命中強(qiáng)緩存, 就會(huì)發(fā)一個(gè)請(qǐng)求到服務(wù)器,驗(yàn)證協(xié)商緩存是否命中,如果協(xié)商緩存命中,請(qǐng)求響應(yīng)返回的http狀態(tài)為304并且會(huì)顯示一個(gè)Not Modified的字符串 ,比如你打開京東的首頁(yè),按f12打開開發(fā)者工具,再按f5刷新頁(yè)面,查看network,可以看到有不少請(qǐng)求就是命中了協(xié)商緩存的:
查看單個(gè)請(qǐng)求的Response Header, 也能看到304的狀態(tài)碼和Not Modified的字符串,只要看到這個(gè)就可說(shuō)明這個(gè)資源是命中了協(xié)商緩存,然后從客戶端緩存中加載的 ,而不是服務(wù)器最新的資源:
【Last-Modified,If-Modified-Since】的控制緩存的原理,如下 :
【Last-Modified,If-Modified-Since】都是根據(jù)服務(wù)器時(shí)間返回的header,一般來(lái)說(shuō), 在沒有調(diào)整服務(wù)器時(shí)間和篡改客戶端緩存的情況下,這兩個(gè)header配合起來(lái)管理協(xié)商緩存是非常可靠的,但是有時(shí)候也會(huì)服務(wù)器上資源其實(shí)有變化,但是最后修改時(shí)間卻沒有變化的情況 ,而這種問題又很不容易被定位出來(lái),而當(dāng)這種情況出現(xiàn)的時(shí)候,就會(huì)影響協(xié)商緩存的可靠性。 所以就有了另外一對(duì)header來(lái)管理協(xié)商緩存,這對(duì)header就是【ETag、If-None-Match】 。它們的緩存管理的方式是:
Etag和Last-Modified非常相似,都是用來(lái)判斷一個(gè)參數(shù),從而決定是否啟用緩存。 但是ETag相對(duì)于Last-Modified也有其優(yōu)勢(shì),可以更加準(zhǔn)確的判斷文件內(nèi)容是否被修改 ,從而在實(shí)際操作中實(shí)用程度也更高。
協(xié)商緩存跟強(qiáng)緩存不一樣,強(qiáng)緩存不發(fā)請(qǐng)求到服務(wù)器, 所以有時(shí)候資源更新了瀏覽器還不知道,但是協(xié)商緩存會(huì)發(fā)請(qǐng)求到服務(wù)器 ,所以資源是否更新,服務(wù)器肯定知道。大部分web服務(wù)器都默認(rèn)開啟協(xié)商緩存,而且是同時(shí)啟用【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】,比如apache:
如果沒有協(xié)商緩存,每個(gè)到服務(wù)器的請(qǐng)求,就都得返回資源內(nèi)容,這樣服務(wù)器的性能會(huì)極差。
【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】一般都是同時(shí)啟用,這是為了處理Last-Modified不可靠的情況。有一種場(chǎng)景需要注意:
比如,京東頁(yè)面的資源請(qǐng)求,返回的repsonse header就只有Last-Modified,沒有ETag:
協(xié)商緩存需要配合強(qiáng)緩存使用,上面這個(gè)截圖中,除了Last-Modified這個(gè)header,還有強(qiáng)緩存的相關(guān)header, 因?yàn)槿绻粏⒂脧?qiáng)緩存的話,協(xié)商緩存根本沒有意義 。
如果資源已經(jīng)被瀏覽器緩存下來(lái),在緩存失效之前,再次請(qǐng)求時(shí),默認(rèn)會(huì)先檢查是否命中強(qiáng)緩存,如果強(qiáng)緩存命中則直接讀取緩存,如果強(qiáng)緩存沒有命中則發(fā)請(qǐng)求到服務(wù)器檢查是否命中協(xié)商緩存,如果協(xié)商緩存命中,則告訴瀏覽器還是可以從緩存讀取,否則才從服務(wù)器返回最新的資源。其瀏覽器判斷緩存的詳細(xì)流程圖,如下:
三、前端開發(fā)需要學(xué)習(xí)什么?應(yīng)該怎么學(xué)
目前前端開發(fā)主要通過自學(xué)和報(bào)班學(xué)習(xí)兩種途徑學(xué)習(xí),自學(xué)的難度高一些。
自學(xué)的話,要先規(guī)劃好自己要學(xué)哪些知識(shí),從哪里入手,有困難如何解決。機(jī)構(gòu)學(xué)的話,就要選一個(gè)靠譜的機(jī)構(gòu)。近幾年,前端的發(fā)展還是非常好的,市場(chǎng)需求大,加上學(xué)習(xí)起來(lái)也相對(duì)簡(jiǎn)單,有眾多人選擇并學(xué)習(xí)。
學(xué)習(xí)的內(nèi)容包括:
①計(jì)算機(jī)基礎(chǔ)以及PS基礎(chǔ)
②前端開發(fā)基礎(chǔ)(HTML5開發(fā)、JavaScript基礎(chǔ)到高級(jí)、jQuery網(wǎng)頁(yè)特效、Bootstrap框架)
③移動(dòng)開發(fā)
④前端高級(jí)開發(fā)(ECMAScript6、Veu.js框架開發(fā)、webpack、前端頁(yè)面優(yōu)化、React框架開發(fā)、AngularJS 2.0框架開發(fā)等)
⑤小程序開發(fā)
⑥全棧開發(fā)(MySQL數(shù)據(jù)庫(kù)、Python編程語(yǔ)言、Django框架等)
⑦就業(yè)拓展(網(wǎng)站SEO與前端安全技術(shù))
想要系統(tǒng)學(xué)習(xí),你可以考察對(duì)比一下開設(shè)有IT專業(yè)的熱門學(xué)校,好的學(xué)校擁有根據(jù)當(dāng)下企業(yè)需求自主研發(fā)課程的能,建議實(shí)地考察對(duì)比一下。
祝你學(xué)有所成,望采納。
四、前端主要學(xué)什么?
分享一份Web前端的學(xué)習(xí)路線,包含所有要掌握的知識(shí)點(diǎn)。可以參考下:
1、前端頁(yè)面重構(gòu)。主要內(nèi)容為PC端網(wǎng)站布局、Photoshop 工具及切圖、H5移動(dòng)端網(wǎng)頁(yè)布局、HTML5+CSS3新特性與交互。學(xué)習(xí)目標(biāo)是完成PC端網(wǎng)站布局,可實(shí)現(xiàn)響應(yīng)式布局,一套代碼適配 PC 端、移動(dòng)端、平板設(shè)備等。
2、前后端網(wǎng)頁(yè)交互。主要內(nèi)容為JavaScript語(yǔ)法全面進(jìn)階、ES6 到 ES10 新語(yǔ)法實(shí)踐、jQuery 應(yīng)用及插件使用、設(shè)計(jì)模式及插件編寫、封裝JS工具庫(kù)及Web APIS、AJAX+PHP+MySQL前后端交互、前端工程化與模塊化應(yīng)用以及PC 端全棧開發(fā)項(xiàng)目等。學(xué)習(xí)目標(biāo)是可以掌握前端工程化工具,如 git、gulp、Webpack 等,搭建項(xiàng)目及開發(fā)項(xiàng)目。
3、Node.js + 前端框架。主要內(nèi)容為Node.js 全面進(jìn)階、Koa2+MongoDB搭建服務(wù)、Vue.js 框架、React.js 框架、小程序云開發(fā)與小程序框架、原生APP與混合APP、數(shù)據(jù)可視化與桌面應(yīng)用等。學(xué)習(xí)目標(biāo)是掌握桌面應(yīng)用及可視化大數(shù)據(jù),實(shí)現(xiàn)復(fù)雜數(shù)據(jù)展示類項(xiàng)目,能夠獨(dú)立完成前后臺(tái)相關(guān)功能,勝任HTML5全棧開發(fā)工程師職位。
很多學(xué)習(xí)Web前端的朋友都希望在學(xué)成后能找到一份滿意的工作,所以我們?cè)趯W(xué)習(xí)過程中一定要注意實(shí)戰(zhàn)經(jīng)驗(yàn)的積累,如果你所學(xué)的東西對(duì)企業(yè)沒有用,那你所做的一切都是無(wú)用功。
以上就是關(guān)于前端頁(yè)面優(yōu)化方法相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
app前端和web前端的區(qū)別(web前端和軟件前端)
前端vue低代碼開發(fā)平臺(tái)(vue 低代碼平臺(tái))
2022年杭州中考各學(xué)校錄?。ê贾莞咧袖浫》?jǐn)?shù)線2022年公布)