热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网站性能优化的12条建议

有一点你可能未曾重视:一个网站给用户留下的第一印象,不是网站的业务内容如何,而是网站打开速度的快慢。即使网站有着精彩而丰富的内容ÿ

有一点你可能未曾重视:一个网站给用户留下的第一印象,不是网站的业务内容如何,而是网站打开速度的快慢。即使网站有着精彩而丰富的内容,迟缓的浏览体验,也会磨灭用户的关注,如果这是你的网站,那它被竞品替代也只是时间早晚的事。

作为一个每天都需要在网上获取各种信息和服务的人来说,我对于提供信息相差不多的网站来说,更愿意在高性能体验的站点上,保留更多的耐心,因为这是对自己时间和注意力的珍惜。显而易见换个角度,高性能网站会获得更多的价值转化率,订单,更高的搜索引擎排名等等的可见的与不可见的收益。相比缓慢如拖拉机的网站,就可能是在烧钱的同时,还败坏了自己的名声。这篇文章我们将提供给你一些方法,来改善网站性能与页面加载速度。

一、网站速度优化的重要性

页面加载时间是网站性能的衡量指标之一,它表示网站的一个页面从用户点击访问开始,到呈现在用户屏幕上所花费的时间。

所以容易体会到,网站更快的页面加载速度,会带来三个方面影响:

  • 转化率。网站的转化率是衡量网站商业成功的一个重要指标,通俗的讲就是说,访问你网站的人,有多少做了你想让他们更进一步做的事情,而非只是单纯地打开、看几眼、然后关闭。例如:对于购物网站就是,有多少访问者购买了你想要兜售的商品;对于内容专栏类网站就是,有多少访问者在浏览后,注册了会员,订阅了专栏,以及打赏、点赞、投硬币等等。所以说,更快的页面加载,将带来更高的转化率。根据Hubspot的研究,页面加载时间每慢1s将会是转化率下降7个百分点。研究还给出了一份数据,如果亚马逊网站的页面加载时间慢1s,他们一年将损失16亿美金。

  • 曝光度。页面的加载时间,同时也会直接影响到用户能否更容易搜索到你的网站。这是因为搜索引擎会把网站的加载速度,纳入网站排名的参考指标中,低性能的网站意味着较差的用户体验,搜索引擎出于保护用户时间的考虑,就不会给予其更多的曝光度。

  • 可用性。网站可用性包括:页面浏览速度,加载时间以及对于用户请求的响应,这些都将直接影响到用户的忠诚度。网站的体验越好,你的用户就越忠诚。这可以当作构建更大用户群和强大品牌的一个努力方向。

二、评估网站性能的方法

在优化网站性能之前,你首先应当搞清楚当前网站的加载时间是多少,什么原因拉低了速度等问题,然后设定网站性能合理的目标,因为凡行动必有代价,工程问题还是得追求一个性价比。

如下有一些性能检测工具可以尝试一下:

  1. pingdom:这是一款包含了许多特性的网站速度检测工具,它可以追踪网站性能表现的历史数据,采用数据驱动的方式为你推荐优化方案,而且还可以生成简单易懂的报告。它除了站点还有Android和iOS版的App,可以免费使用,同时也提供了专业付费的监控计划。
  2. YSlow:同样提供了优化页面性能的方案,统计图表以及相关可用的组件。
  3. Performance Budget Calculator:这是一个免费的工具,可用来找出优化什么类型的内容,能让网站保持最佳的运行状态。
  4. Google Pagespeed Insights:也是一个免费的工具,国内玩家可能需要些科学上网的办法来使用,或者去搜索一下应该不难获得。

三、给网站提速的建议

一旦你完成了网站性能的测评,就可以开始着手优化它了。优化网站性能有许多不同的方案,如下列出了一些最有效的以供参考:

1. 使用内容分发网络(CDN)

内容分发网络是分布在各个地理位置的web服务器组,目的是向终端用户提供更靠近其位置的web内容。当你把网站仅部署在一个单独的服务器上时,所有用户对网站的请求,就都需要到达该服务器。由于服务器同时能处理的最大请求数一定,所以当请求数很大时,平均到每个请求上的处理时间就会延长。而采用CDN,则会将用户的请求重定向到用户就近的服务器上,这就使得内容分发更快捷,网站访问体验更流畅。当然这种方法会增加相应的成本,凡行动必有代价。

2. 将你的网站移动到更好的主机上

当考虑这个问题时,有三种可选类型的主机:

  • 共享主机:全世界最流行的方式当属这种方式,这是在短时间内以较低的费用让你的网站在线的最便捷的方式。这种方式会和其他部署在同一服务器主机上的站点,共用CPU、存储空间及RAM,这就是它没有另外两种主机部署方案快的原因了。
  • 虚拟专用服务器(VPS):使用多个服务器进行内容分发,虽然会和其他用户共享物理服务器,但你对虚拟出来的服务器配置,不会影响到同一物理服务器上的其他用户。所以如果你的网站访问流量有忙闲时,那么VPS对你会是最好的解决方案。
  • 专用服务器:这种方式的成本最贵,因为会独占物理服务器,同时你可能还需要聘用系统管理员来对其进行维护。

当然你也可以通过云计算服务商(阿里云、腾讯云等等)去租用专用服务器,其实现在的费用也不是特别贵了。

3. 优化网站上的图片大小

是个人都喜欢吸引眼球的图片,特别是对于成功的电商网站来说,图片更是不可或缺的一部分,因为这些照片、图形可以提高用户的参与度,增加他们对网站所兜售产品的想象力,但是图片使用的弊端也显而易见,越清晰图片文件就越大,越容易拉低网站速度。于是在不影响体验的情况下,通过工具(ImageOptim、kraken、jpegmini)来缩小图片尺寸就成了可想到最佳的方案,虽然可能需要麻烦了点,但是值得。另一种减小图片大小的方式,是使用HTML的响应式图片标签,根据显示设备的属性来采取合适的图片尺寸大小。

4. 减少插件的数量

网站通过插件的形式,提供了一些第三方的功能。虽然插件使用的越多,会使网站的功能看起来越丰富,但运行他们也需要越多的资源,可想而知这会拉低网站的性能,以及带来可能的安全问题。而随着时间的推移,插件的数量不断增加,而其中一些可能不再使用。所以建议定期检查所有已安装的插件并删除不必要的插件。首先,在你的页面上运行性能测试,找出哪些插件会减慢你的网站速度。网站速度不仅取决于安装插件的数量,还取决于插件的质量。尽量避免加载大量脚本和样式,以及包含大量数据库查询的插件。最好的解决方案是只保留必要的,并确保它们是最新的。

5. 最大限度的减小JavascriptCSS文件的大小和数量

如果网站包含大量的Javascriptcss文件,当网站访问者想要访问特定的文件时,则会导致大量的HTTP请求。这些请求将由访问者的浏览器单独处理,并减慢网站的工作速度。所以减少Javascriptcss文件的数量,无疑会提高网站体验。分别将所有的Javascriptcss文件打包成一个,有许多的压缩打包工具可供选择:除了工程化的工具webpack,gulp外,如果站点不是很大,在线工具也可以把玩一下:minifier,willpeavy

6. 使用缓存

假如有很多用户同时访问一个页面,会使得服务器工作变慢,因为需要时间将网页分发给每个用户。如果网页的更新不平凡,每次的请求以及分发对于服务器来说,都会是一种冗余的负担。为此缓存技术应运而生,是一种网站宿主机器上暂存网页的一个版本,直到有新版本更新才重新发起请求的技术。而所采用的网站缓存方法取决于网站开发的平台。例如对WordPress,可以使用以下插件:W3 total cache或W3 super cache。如果使用VPS或专用服务器,可以在常规设置下设置缓存。对于共享服务器,网站缓存通常不可用。

7. 实施Gzip压缩

Gzip压缩是一种高效减少文件尺寸的方法,它最小化了HTTP请求并缩短了服务器响应时间。gzip在文件被发送到浏览器之前对其进行压缩,并在用户的浏览器端,将文件解压缩后显示出来。此方法几乎适用于网站上的所有文件,可以通过添加一些代码行或通过名为gzip的应用程序在来启用启用gzip。

8. CMS中进行数据库优化

数据库优化是一种提高性能的有效方法,如果您使用的内容管理系统(CMS)中包含复杂的插件,那么数据库的大小会增加,同时会影响网站的速度。举个例子,WordPress需要存储评论、博客帖子和其他一些占用大量存储空间的信息。因此每个CMS都有自己的优化措施,以及许多特定的插件,WordPress可以考虑了解一下wp-optimize。

9. 减少使用网络字体

web字体在网站设计中已经非常流行,但不幸的是,Web字体的使用对页面渲染速度会产生负面影响。Web字体会增加向外部资源额外的HTTP请求,以下措施能够帮助减少Web字体的流量大小:

  • 在浏览器中使用现代字体格式woff2;
  • 仅包括网站上使用的字符集;
  • 仅选择所需要的字体样式;

10. 检测404错误

404错误意味着“页面找不到”,为了检测和纠正404错误,可以使用一些错误检测工具和插件。正如之前提到的,额外的插件会对网站速度产生负面影响,所以建议使用外部工具来进行错误检测。例如:xenulink,webmasters,如果是404可以考虑404-redirected

如果这些死掉的链接不再带来任何访问,因而也不会消耗任何服务器资源,那么您可以将它们保持原样。如果这些页面仍有一些流量,请考虑为外部链接设置重定向,并为内部链接修复链接地址。

11. 减少重定向

网站重定向会创建额外的HTTP请求,这会对性能产生负面影响,所以建议将其保持在最低限度或完全消除。首先,可以通过运行站点扫描工具(Screaming Frog)来识别页面上的所有重定向。然后你必须检查它们是否有必要的用途,只留下关键的用途。

12. 采用预处理技术

预处理指的是用户在正式请求之前,就读取或执行相关指令的技术。这项技术其实相当普遍。如果您可以预测用户操作,例如提前加载一些内容或链接,那么这么做的效果就会非常好。通常现代浏览器默认允许预取,因为它们会假定用户的行为模式,但用户体验专家和工程师更容易理解用户行为,并为浏览器的预处理提供“提示”。常见的预处理类型有如下三种:

  • DNS预解析,这种做法需要提前将域解析为IP地址。
  • 链接预处理,如果能确定用户将单击特定链接导航到某个页面,就可以应用此类型的预处理。例如在添加一个或多个项目后移动到购物车页面。
  • 预渲染,这种方法意味着提前呈现整个页面或其中的某些元素。

虽然预处理技术是非常有效,但它需要深入的用户行为分析才能做出精确的假设。

四、总结

目前,一个典型用户期望网页的加载时间是少于3秒。如果你不满足这个期望的,那么意味着你的网站将会损失很多流量,最终都会体现在收入上。最后是一些总结全文后的建议:

  1. 检查和评估网站成功的关键因素,考虑转换、可见性和可用性。
  2. 测试当前的网站访问速度,并确定页面和功能的优先级,考虑是否要进行优化。
  3. 从最快的减速方面开始进行优化,并将重点放在价值最大的页面上。

转:https://juejin.im/post/5ccb058ff265da03aa4db892



推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
author-avatar
G版车臣
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有