专栏首页西枫里博客如何让网站打开变快?暨网站速度优化指南。

如何让网站打开变快?暨网站速度优化指南。

网站打开速度一向是网站运营者和SEO工作者关注的重要指标。百度在网站优化白皮书中也提到需要注重网站访问速度。2017年更是退出了针对移动端访问推出闪电算法(博文:百度闪电算法的功能及解读)。算法的核心就是页面在移动端首屏加载需要控制在2s以内。随着网络的发展,带宽资源的扩充,现在已经很少碰到网页一等就是十几秒尴尬的情景了,虽说如此,但是还有很多站点加载速度超过5秒。本文尝试从多个角度来简单解释提升网站速度的方法。

网站内容层面的优化

1、图片的优化。一个网站上的配图是必不可少的,配图通常能更加直观的表达文章的意图。图片当然是越小加载越快,在必要的环节生成缩略图至关重要,比如产品列表页面。页面结构上必须的图片由于无法通过程序生成的,可以通过PS线下处理,合适的尺寸大小、容量大小、分辨率。通常在PS里面存储为web所用格式即可解决。

2、文字的优化。文字优化几乎没什么可说的,最重要的就是字体的选择。因为如果将正文的字体设置成了个性字体,而访问者没有相关字体就多了一步替换为系统默认字体的过程。另外就是类似google字体被墙的解决,采用国内缓存或者本地缓存。

3、多媒体的处理。非视频音频站点,尽量不要使用多媒体素材。确需使用的,那么关闭自动播放;用图片替代视频起始界面是一个可靠的选择。

网站程序的优化

程序优化方面的内容非常之多,一个资深的程序员和前端工程师写出来的内容比初学者做内容更加精简和优雅。

1、页面脚本的处理。用新版标准替换老版标准(如html5替换4和4.01);mete的合理声明(如charset=UTF-8);JS的引入合并和加载顺序(如最后加载);尽量不使用iframe(框架如今有多种替代方式);排版标签的正确闭合及合理使用(如正确闭合div直接关系到页面布局是否错乱);样式效果替换图片效果(如border-radius);MIP或AMP的应用;预加载的的使用(如InstantClick)等等。

2、后端程序的优化。针对你采用的语言合理使用(如博文:PHP代码优化的40条建议);应用层面的逻辑错误排除(如死循环,内存溢出);程序的效率提升(如博文:rand()随机的效率问题);缓存的使用(如redis)。框架程序的选择(原生的当然更快,框架牺牲了运行效率提升了开发效率);

web环境的优化

1、数据库的优化。情侣搭配(PHP搭Mysql、C#搭Mssql);数据库调优(缓冲区大小、连接数等);数据表的合理设计(字段类型选择、关联表处理、存储过程等)。

2、web环境的优化。操作系统(根据语言选择合理linux、windows);web服务器的选择(效率方面nginx > apache > iis,当然如果你用C#那么还是windows+IIS为标配了);底层程序的版本选择(如PHP7比PHP5提升的成倍效率,7.2比7.0大幅提升的效率等)。

服务器硬件环境的选择

速度方面购买或租用的硬件服务器 > 云服务器 > VPS > 虚拟主机。硬件服务器的选择按下不表,如今对中小网站最适用的莫过于ECS这类的云服务器了,主要关注的指标为CPU核心数,内存大小,带宽大小(独享),我们仅需关注常规指标即可,至于云服务器自身的稳定性及优化也不是我们所能控制的了的,那是云计算厂商的事情了。VPS选择参照云服务器选择,虚拟主机简单到差不多可以理解为越贵越好了,别问我同等空间大小的30元、50元一年的虚拟主机怎么样?

网络的优化

内容分发网络CDN的使用;HTTP/2的使用(仅适用于https的加密网络);解析线路的设置(使用CDN,此条也可以忽略,诚然如上述你使用租用的服务器,那么BGP机房的选择也是一个要素)。

其它方面的优化

诸如Gzip的使用;抗攻击的安全配置;去除代码中的注释(含代码压缩)等各种优化手段和技巧的使用请自行研究探索

写在最后的说明

有这样一个超现实的笑话:如果有钱,这些都不是问题,如果没钱,或许上述问题都是问题。

上述介绍的优化手段,每一条拉出来都能细讲成一篇长长的技术文章。本文仅从概念上的进行说明,具体技术如何应用后面分别再讲。总之,网页速度的优化是一项综合从前端到后端到运维的一系列综合措施。应用得当维护到位,将大幅提高网站加载速度。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python学习笔记五(列表和元组)

    最近这段时间是一年中最忙的时候,学习进度严重耽误,距离上一次更新Python的学习进度又已经一个月过去了,“佩服”我自己。趁着假期,继续学习我的Python,顺...

    世纪访客
  • 以关联表中的count计数作为主表的排序依据

    标题场景例如本站右侧标签云,主要的排序依据是tag标签出现的次数。由于数据库设计时,将tag标签独立,并没有作为article文章表的一个字段。通过一个中间关联...

    世纪访客
  • Python学习笔记十一(递归)

    本次学习先回顾了前两天的lambda表达式,使用lambda表达式创建匿名函数。接着学习本次课程的内容:Python的递归。什么是递归,程序调用自身的编程方法叫...

    世纪访客
  • 从零单排学Redis【铂金一】

    好的,今天我们要上铂金段位了,如果还没经历过青铜和白银和黄金阶段的,可以先去蹭蹭经验再回来:

    Java3y
  • 中小型企业网站选购腾讯云服务器配置推荐解决方案

    信息社会的飞速发展,任何企业都脱离不了互联网,越来越多的企业都通过互联网实施无纸化的办公,互联网推广一体化整体型推广、互联网+电子商务。但是实现这些的最最基础的...

    tengxunyun8点com活动整理
  • 解决ListView嵌套ListView遇到的问题

    Listview嵌套会造成的问题主要是子listview的高度错误导致内容不能正常显示完,解决这个问题,我个人第一个想法就是重新计算子listview的高度,代...

    xiangzhihong
  • MS SQL Server 2008发布与订阅

    本文转载:http://chaoyouzhuo.blog.163.com/blog/static/126376001201173092514498/

    跟着阿笨一起玩NET
  • 搭建MC(我的世界)服务器,带Web管理面板

    这里以腾讯云为例,其他服务器推荐:https://blog.zeruns.tech/archives/383.html

    zeruns
  • 【xAsset框架】HFS 轻量级HTTP Server快速入门指南

      最近马三有幸参与开发了一个简易轻量的Unity资源管理框架 xAsset ,xasset 提供了一种使用资源路径的简单的方式来加载资源,简化了Unity项目...

    马三小伙儿
  • Linux服务器被攻破?7条指令锁定背后的“他”!

    大多数受攻击的服务器是由程序执行的,这些攻击者会滥用服务器,只要能正常访问,他们几乎不采取任何预防措施隐藏他们正在做的事。

    程序员小助手

扫码关注云+社区

领取腾讯云代金券