SEOer们经过网页功用测速和剖析,能够获取到页面上大部分的功用数据,怎么依据这些数据采纳恰当的办法和手法进行SEO优化呢?
前端优化的战略许多,总结起来首要包含网络加载类、页面烘托类、CSS优化类、JavaScript履行类、缓存类、图片类、架构协议类等几类,下面逐个介绍。
一、 网络加载类
1、削减HTTP资源恳求次数
百度和谷歌官方在查找优化指南中屡次着重尽量兼并http恳求次数。在前端页面中,一般主张尽或许兼并静态资源图片、JavaScript或CSS代码,削减页面恳求数和资源恳求耗费,这样能够缩短页面初度拜访的用户等候时刻。经过构建东西兼并图片、CSS、JavaScript等文件都是为了削减HTTP资源恳求次数。别的也要尽量防止重复的资源,防止增加剩余恳求。
2、减小HTTP恳求巨细
除了削减HTTP资源恳求次数,也要尽量减小每个HTTP恳求的巨细。如削减没必要的图片、JavaScript、CSS及HTML代码,对文件进行紧缩优化,或许运用gzip紧缩传输内容等都能够用来减小文件巨细,缩短网络传输等候时延。特别是百度闪电算法今后,对网站的拜访速度也提出了要求。
3、将CSS或JavaScript放到外部文件中,防止运用<style>或<script>标签直接引进
在HTML文件中引证外部资源能够有用运用浏览器的静态资源缓存,但有时分在移动端页面CSS或JavaScript比较简单的情况下为了削减恳求,也会将CSS或JavaScript直接写到HTML里边,详细要依据CSS或JavaScript文件的巨细和事务的场景来剖析。假如CSS或JavaScript文件内容较多,事务逻辑较杂乱,主张放到外部文件引进。
<link rel="stylesheet" href="//cdn.domain.com/path/main.css"><script src="//cdn.domain.com/path/main.js"></script>
4、防止页面中空的href和src
当<link>标签的href特点为空,或<script>、<img>、<iframe>标签的src特点为空时,浏览器在烘托的进程中仍会将href特点或src特点中的空内容进行加载,直至加载失利,这样就堵塞了页面中其他资源的下载进程,并且终究加载到的内容是无效的,因而要尽量防止。
<!– 不引荐 –><img src="" alt="photo"><a href="">点击链接</a>
5、为HTML指定Cache-Control或Expires
为HTML内容设置Cache-Control 或Expires能够将HTML内容缓存起来,防止频频向服务器端发送恳求。在页面Cache-Control或Expires头部有用时,浏览器将直接从缓存中读取内容,不向服务器端发送恳求。
<meta http-equiv="Cache-Control" content="max-age=7200"/><meta http-equiv="Expires" content="Mon, 20 Jul 2016 23:00:00 GMT"/>
6、合理设置Etag和Last-Modified
合理设置Etag和Last-Modified运用浏览器缓存,关于未修改的文件,静态资源服务器会向浏览器端回来304,让浏览器从缓存中读取文件,削减Web资源下载的带宽耗费并下降服务器负载。
<meta http-equiv="last-modified" content="Mon, 03 Oct 2017 14:45:57 GMT"/>
7、削减页面重定向
页面每次重定向都会延伸页面内容回来的等候延时,一次重定向大约需求600毫秒的时刻开支,为了确保用户赶快看到页面内容,要尽量防止页面重定向。
8、运用静态资源分域寄存来增加下载并行数
浏览器在同一时刻向同一个域名恳求文件的并行下载数是有限的,因而能够运用多个域名的主机来寄存不同的静态资源,增大页面加载时资源的并行下载数,缩短页面资源加载的时刻。一般依据多个域名来别离存储JavaScript、CSS和图片文件。
<link rel="stylesheet" href="//cdn1.domain.com/path/main.css"><script src="//cdn2.domain.com/path/main.js"></script>
9、运用静态资源CDN来存储文件
假如条件答应,能够运用CDN网络加速同一个地舆区域内重复静态资源文件的呼应下载速度,缩短资源恳求时刻。
10、运用CDN Combo下载传输内容
CDN Combo是在CDN服务器端将多个文件恳求打包成一个文件的办法来回来的技能,这样能够完结HTTP衔接传输的一次性复用,削减浏览器的HTTP恳求数,加速资源下载速度。例如同一个域名CDN服务器上的a.js,b.js,c.js就能够按如下办法在一个恳求中下载。
<script src="//cdn.domain.com/path/a.js,b.js,c.js"></script>
11、运用可缓存的AJAX
关于回来内容相同的恳求,没必要每次都直接从服务端拉取,合理运用AJAX缓存能加速AJAX呼应速度并减轻服务器压力。
$.ajax({url: url, type: 'get',cache: true, // 引荐运用缓存 data: {}success(){…},error(){…}});
12、运用GET来完结AJAX恳求
运用XMLHttpRequest时,浏览器中的POST办法发送恳求首要发送文件头,然后发送HTTP正文数据。而运用GET时只发送头部,所以在拉取服务端数据时运用GET恳求功率更高。
$.ajax({url: url, type: 'get', // 引荐运用get完结恳求data: {} success(){…},error(){…}});
13、削减Cookie的巨细并进行Cookie阻隔
HTTP恳求一般默许带上浏览器端的Cookie一同发送给服务器,所以在非必要的情况下,要尽量削减Cookie来减小HTTP恳求的巨细。关于静态资源,尽量运用不同的域名来寄存,由于Cookie默许是不能跨域的,这样就做到了不同域名下静态资源恳求的Cookie阻隔。
14、缩小favicon.ico并缓存
有利于favicon.ico的重复加载,由于一般一个Web运用的favicon.ico是很少改动的。
15、运用异步JavaScript资源
异步的JavaScript资源不会堵塞文档解析,所以答应在浏览器中优先烘托页面,拖延加载脚本履行。例如JavaScript的引证能够如下设置,也能够运用模块化加载机制来完结。
<script src="main.js"defer></script> //异步加载<script src="main.js"async></script> //同步加载
运用async时,加载和烘托后续文档元素的进程和main.js的加载与履行是并行的。运用defer时,加载后续文档元素的进程和main.js的加载是并行的,可是main.js的履行要在页面一切元素解析完结之后才开端履行。
16、消除堵塞烘托的CSS及JavaScript
关于页面中加载时刻过长的CSS或JavaScript文件,需求进行合理拆分或拖延加载,确保要害途径的资源能快速加载完结。
17、防止运用CSS import引证加载CSS
CSS中的@import能够从另一个款式文件中引进款式,但应该防止这种用法,由于这样会增加CSS资源加载的要害途径长度,带有@import的CSS款式需求在CSS文件串行解析到@import时才会加载别的的CSS文件,大大拖延CSS烘托完结的时刻。
<!– 不引荐 –><style>@import "path/main.css";</style><!– 引荐 –><link rel="stylesheet" href="//cdn1.domain.com/path/main.css">
二、 页面烘托类
1、把CSS资源引证放到HTML文件顶部
一般引荐将一切CSS资源尽早指定在HTML文档<head>中,这样浏览器能够优先下载CSS并尽早完结页面烘托。
2、JS脚本资源引证放到HTML文件底部
JavaScript资源放到HTML文档底部能够防止JavaScript的加载和解析履行对页面烘托形成堵塞。由于JavaScript资源默许是解析堵塞的,除非被标记为异步或许经过其他的异步办法加载,否则会堵塞HTML DOM解析和CSS烘托的进程。
3、不要在HTML中直接缩放图片
在HTML中直接缩放图片会导致页面内容的重排重绘,此刻或许会使页面中的其他操作发生卡顿,因而要尽量削减在页面中直接进行图片缩放。
4、削减DOM元素数量和深度
HTML中标签元素越多,标签的层级越深,浏览器解析DOM并制作到浏览器中所花的时刻就越长,所以应尽或许坚持DOM元素简练和层级较少。
<!– 不引荐 –><div><span><a href="javascript: void(0);"><img src="./path/photo.jpg" alt="图片"></a></span></div><!– 引荐 –><img src="./path/photo.jpg" alt="图片">
5、防止运用<table>、<iframe>等元素
<table>内容的烘托是将table的DOM烘托树悉数生成完并一次性制作到页面上的,所以在长表格烘托时很耗功用,应该尽量防止运用它,能够考虑运用列表元素<ul>替代。尽量运用异步的办法动态增加iframe,由于iframe内资源的下载进程会堵塞父页面静态资源的下载与CSS及HTML DOM的解析。
6、防止运转耗时的JavaScript
长时刻运转的JavaScript会堵塞浏览器构建DOM树、DOM烘托树、烘托页面。所以,任何与页面初度烘托无关的逻辑功用都应该推迟加载履行,这和JavaScript资源的异步加载思路是共同的。
7、防止运用CSS表达式或CSS滤镜
CSS表达式或CSS滤镜的解析烘托速度是比较慢的,在有其他解决方案的情况下应该尽量防止运用。
.opacity{ filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);} // 不引荐
经过以上这些办法,你会发现网页拜访速度会有显着的提高,也更利于SEO优化,一起也加强对查找引擎的友好度。
非特别阐明,本文为本站原创(翻译)文章,转载请注明:本文转自:十堰SEO-SERP优化参谋。本文链接: http://www.查找引擎优化serp.cn/查找引擎优化/jzjq/2017294.html