前端代碼SEO規(guī)范,別讓網(wǎng)站優(yōu)化輸在起跑線上
前端SEO注意事項(xiàng):
1、網(wǎng)站結(jié)構(gòu)布局優(yōu)化:盡量簡單、開門見山,提倡扁平化結(jié)構(gòu)
一般而言,建立的網(wǎng)站結(jié)構(gòu)層次越少,越容易被“蜘蛛”抓取,也就容易被收錄。一般中小型網(wǎng)站目錄結(jié)構(gòu)超過三級,“蜘蛛”便不愿意往下爬了。并且根據(jù)相關(guān)數(shù)據(jù)調(diào)查:如果訪客經(jīng)過跳轉(zhuǎn)3次還沒找到需要的信息,很可能離開。因此,三層目錄結(jié)構(gòu)也是體驗(yàn)的需要。為此我們需要做到:
(1)控制首頁鏈接數(shù)量
網(wǎng)站首頁是權(quán)重最高的地方,如果首頁鏈接太少,沒有“橋”,“蜘蛛”不能繼續(xù)往下爬到內(nèi)頁,直接影響網(wǎng)站收錄數(shù)量。但是首頁鏈接也不能太多,一旦太多,沒有實(shí)質(zhì)性的鏈接,很容易影響用戶體驗(yàn),也會降低網(wǎng)站首頁的權(quán)重,收錄效果也不好。
(2)扁平化的目錄層次
盡量讓“蜘蛛”只要跳轉(zhuǎn)3次,就能到達(dá)網(wǎng)站內(nèi)的任何一個內(nèi)頁。
(3)導(dǎo)航優(yōu)化
導(dǎo)航應(yīng)該盡量采用文字方式,也可以搭配圖片導(dǎo)航,但是圖片代碼一定要進(jìn)行優(yōu)化,標(biāo)簽必須添加“alt”和“title”屬性,告訴搜索引擎導(dǎo)航的定位,做到即使圖片未能正常顯示時,用戶也能看到提示文字。
其次,在每一個網(wǎng)頁上應(yīng)該加上面包屑導(dǎo)航,好處:從用戶體驗(yàn)方面來說,可以讓用戶了解當(dāng)前所處的位置以及當(dāng)前頁面在整個網(wǎng)站中的位置,幫助用戶很快了解網(wǎng)站組織形式,從而形成更好的位置感,同時提供了返回各個頁面的接口,方便用戶操作;對“蜘蛛”而言,能夠清楚的了解網(wǎng)站結(jié)構(gòu),同時還增加了大量的內(nèi)部鏈接,方便抓取,降低跳出率。
(4)網(wǎng)站的結(jié)構(gòu)布局---不可忽略的細(xì)節(jié)
頁面頭部:logo及主導(dǎo)航,以及用戶的信息。
頁面主體:左邊正文,包括面包屑導(dǎo)航及正文;右邊放熱門文章及相關(guān)文章,好處:留住訪客,讓訪客多停留,對“蜘蛛”而言,這些文章屬于相關(guān)鏈接,增強(qiáng)了頁面相關(guān) 性,也能增強(qiáng)頁面的權(quán)重。
頁面底部:版權(quán)信息和友情鏈接。
特別注意:分頁導(dǎo)航寫法,推薦寫法:“首頁 1 2 3 4 5 6 7 8 9 下拉框”,這樣“蜘蛛”能夠根據(jù)相應(yīng)頁碼直接跳轉(zhuǎn),下拉框直接選擇頁面跳轉(zhuǎn)。而下面的寫法是不推薦的,“首頁 下一頁 尾頁”,特別是當(dāng)分頁數(shù)量特別多時,“蜘蛛”需要經(jīng)過很多次往下爬,才能抓取,會很累、會容易放棄。
(5)利用布局,把重要內(nèi)容HTML代碼放在最前
搜索引擎抓取HTML內(nèi)容是從上到下,利用這一特點(diǎn),可以讓主要代碼優(yōu)先讀取,廣告等不重要代碼放在下邊。例如,在左欄和右欄的代碼不變的情況下,只需改一下樣式,利用float:left;和float:right;就可以隨意讓兩欄在展現(xiàn)上位置互換,這樣就可以保證重要代碼在最前,讓爬 蟲最先抓取。同樣也適用于多欄的情況。
(6)控制頁面的大小,減少http請求,提高網(wǎng)站的加載速度。
一個頁面最好不要超過100k,太大,頁面加載速度慢。當(dāng)速度很慢時,用戶體驗(yàn)不好,留不住訪客,并且一旦超時,“蜘蛛”也會離開。
2、網(wǎng)頁代碼優(yōu)化
(1)突出重要內(nèi)容---合理的設(shè)計title、description和keywords
***title***標(biāo)題:只強(qiáng)調(diào)重點(diǎn)即可,盡量把重要的關(guān)鍵詞放在前面,關(guān)鍵詞不要重復(fù)出現(xiàn),盡量做到每個頁面的title標(biāo)題中不要設(shè)置相同的內(nèi)容。
***meta keywords***標(biāo)簽:關(guān)鍵詞,列舉出幾個頁面的重要關(guān)鍵字即可,切記過分堆砌。
***meta description***標(biāo)簽:網(wǎng)頁描述,需要高度概括網(wǎng)頁內(nèi)容,切記不能太長,過分堆砌關(guān)鍵詞,每個頁面也要有所不同。
(2)語義化書寫HTML代碼,符合W3C標(biāo)準(zhǔn)
盡量讓代碼語義化,在適當(dāng)?shù)奈恢檬褂眠m當(dāng)?shù)臉?biāo)簽,用正確的標(biāo)簽做正確的事。讓閱讀源碼者和“蜘蛛”都一目了然。比如:h1-h6 是用于標(biāo)題類的,***nav***標(biāo)簽是用來設(shè)置頁面主導(dǎo)航,列表形式的代碼使用ul或ol,重要的文字使用strong等。
(3)***a***標(biāo)簽:頁內(nèi)鏈接,要加 ***title***屬性加以說明,讓訪客和 “蜘蛛” 知道。而外部鏈接,鏈接到其他網(wǎng)站的,則需要加上 el="nofollow" 屬性, 告訴 “蜘蛛” 不要爬,因?yàn)橐坏爸┲搿迸懒送獠挎溄又?,就不會再回來了?br />
<a href="https://www.360.cn" title="360安全中心" class="logo"></a>
(4)正文標(biāo)題要用***h1***標(biāo)簽:h1標(biāo)簽自帶權(quán)重“蜘蛛” 認(rèn)為它最重要,一個頁面有且最多只能有一個H1標(biāo)簽,放在該頁面最重要的標(biāo)題上面,如首頁的logo上可以加H1標(biāo)簽。副標(biāo)題用***h2***標(biāo)簽, 而其它地方不應(yīng)該隨便亂用 h 標(biāo)題標(biāo)簽。
(5)***img***應(yīng)使用 "alt" 屬性加以說明
<img src="cat.jpg" width="300" height="200" alt="貓" />
當(dāng)網(wǎng)絡(luò)速度很慢,或者圖片地址失效的時候,就可以體現(xiàn)出alt屬性的作用,他可以讓用戶在圖片沒有顯示的時候知道這個圖片的作用。同時為圖片設(shè)置高度和寬度,可提高頁面的加載速度。
(6)表格應(yīng)該使用***caption***表格標(biāo)題標(biāo)簽
caption 元素定義表格標(biāo)題。 caption 標(biāo)簽必須緊隨 table 標(biāo)簽之后,您只能對每個表格定義一
<table border='1'>
<caption>表格標(biāo)題</caption>
<tbody>
<tr>
<td>apple</td>
<td>100</td>
</tr>
<tr>
<td>banana</td>
<td>200</td>
</tr>
</tbody>
</table>
(7)***br***標(biāo)簽:只用于文本內(nèi)容的換行,比如:
<p>
第一行文字內(nèi)容<br/>
第二行文字內(nèi)容<br/>
第三行文字內(nèi)容
</p>
(8)strong、***em***標(biāo)簽 :需要強(qiáng)調(diào)時使用。***strong***標(biāo)簽在搜索引擎中能夠得到高度的重視,它能突出關(guān)鍵詞,表現(xiàn)重要的內(nèi)容,***em***標(biāo)簽強(qiáng)調(diào)效果僅次于***strong***標(biāo)簽;b、***i***標(biāo)簽:只是用于顯示效果時使用,在SEO中不會起任何效果。
(9)文本縮進(jìn)不要使用特殊符號 應(yīng)當(dāng)使用CSS進(jìn)行設(shè)置。版權(quán)符號不要使用特殊符號 © 可以直接使用輸入法打出版權(quán)符號©。
(10)重要內(nèi)容不要用JS輸出,因?yàn)椤爸┲搿辈粫x取JS里的內(nèi)容,所以重要內(nèi)容必須放在HTML里。
(11)盡量少使用iframe框架,因?yàn)椤爸┲搿币话悴粫x取其中的內(nèi)容。
(12)謹(jǐn)慎使用 display:none :對于不想顯示的文字內(nèi)容,應(yīng)當(dāng)設(shè)置z-index或縮進(jìn)設(shè)置成足夠大的負(fù)數(shù)偏離出瀏覽器之外。因?yàn)樗阉饕鏁^濾掉display:none其中的內(nèi)容。
3、前端網(wǎng)站性能優(yōu)化
(1)減少http請求數(shù)量
在瀏覽器與服務(wù)器進(jìn)行通信時,主要是通過 HTTP 進(jìn)行通信。瀏覽器與服務(wù)器需要經(jīng)過三次握手,每次握手需要花費(fèi)大量時間。而且不同瀏覽器對資源文件并發(fā)請求數(shù)量有限(不同瀏覽器允許并發(fā)數(shù)),一旦 HTTP 請求數(shù)量達(dá)到一定數(shù)量,資源請求就存在等待狀態(tài),這是很致命的,因此減少 HTTP 的請求數(shù)量可以很大程度上對網(wǎng)站性能進(jìn)行優(yōu)化。
CSS Sprites
國內(nèi)俗稱CSS精靈,這是將多張圖片合并成一張圖片達(dá)到減少HTTP請求的一種解決方案,可以通過CSS的background屬性來訪問圖片內(nèi)容。這種方案同時還可以減少圖片總字節(jié)數(shù)。
合并CSS和JS文件
現(xiàn)在前端有很多工程化打包工具,如:grunt、gulp、webpack等。為了減少 HTTP 請求數(shù)量,可以通過這些工具再發(fā)布前將多個CSS或者多個JS合并成一個文件。
采用lazyload
俗稱懶加載,可以控制網(wǎng)頁上的內(nèi)容在一開始無需加載,不需要發(fā)請求,等到用戶操作真正需要的時候立即加載出內(nèi)容。這樣就控制了網(wǎng)頁資源一次性請求數(shù)量。
(2)控制資源文件加載優(yōu)先級
瀏覽器在加載HTML內(nèi)容時,是將HTML內(nèi)容從上至下依次解析,解析到link或者script標(biāo)簽就會加載href或者src對應(yīng)鏈接內(nèi)容,為了第一時間展示頁面給用戶,就需要將CSS提前加載,不要受 JS 加載影響。
一般情況下都是CSS在頭部,JS在底部。
(3)盡量外鏈CSS和JS(結(jié)構(gòu)、表現(xiàn)和行為的分離),保證網(wǎng)頁代碼的整潔,也有利于日后維護(hù)
<link rel="stylesheet" href="asstes/css/style.css" />
<script src="assets/js/main.js"></script>
(4)利用瀏覽器緩存
瀏覽器緩存是將網(wǎng)絡(luò)資源存儲在本地,等待下次請求該資源時,如果資源已經(jīng)存在就不需要到服務(wù)器重新請求該資源,直接在本地讀取該資源。
(5)減少重排(Reflow)
基本原理:重排是DOM的變化影響到了元素的幾何屬性(寬和高),瀏覽器會重新計算元素的幾何屬性,會使渲染樹中受到影響的部分失效,瀏覽器會驗(yàn)證 DOM 樹上的所有其它結(jié)點(diǎn)的visibility屬性,這也是Reflow低效的原因。如果Reflow的過于頻繁,CPU使用率就會急劇上升。
減少Reflow,如果需要在DOM操作時添加樣式,盡量使用 增加class屬性,而不是通過style操作樣式。
(6)減少 DOM 操作
(7)圖標(biāo)使用IconFont替換
(8)不使用CSS表達(dá)式,會影響效率
(9)使用CDN網(wǎng)絡(luò)緩存,加快用戶訪問速度,減輕服務(wù)器壓力
(10)啟用GZIP壓縮,瀏覽速度變快,搜索引擎的蜘蛛抓取信息量也會增大
(11)偽靜態(tài)設(shè)置
如果是動態(tài)網(wǎng)頁,可以開啟偽靜態(tài)功能,讓蜘蛛“誤以為”這是靜態(tài)網(wǎng)頁,因?yàn)殪o態(tài)網(wǎng)頁比較合蜘蛛的胃口,如果url中帶有關(guān)鍵詞效果更好。
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科