ios图文详情加载html_WordPress 网站深度优化加载速度(技术篇)

news/2024/5/14 22:13:52/文章来源:https://blog.csdn.net/weixin_39682944/article/details/112416611

0e8049bd8ff2e56c45c70c4298dcaf3e.png

本篇文章主要介绍如何对网站的静态资源进行优化。

静态资源就是网页中用到的 js/css/fonts 这些文件。基本上 WordPress 的每个插件,每个主题都会有自己的 css/js/fonts。最终在做好的网站上会加载这些全部的 js/css/fonts 文件。

而我们需要做的就是优化这些静态资源,提升网站加载速度,因为网站的速度是搜索引擎判断网页是否有价值的一个重要因素。

查看我更多关于网站 SEO 优化的文章:

2019年自建站 On-Page SEO 优化的最佳实践(附SEO模版) - 王会的博客​www.wanghuiblog.com
53dca9393ded152f24fedc75aefb5cf1.png
「SEO」6个技巧快速提升你的网站速度优化效果​www.wanghuiblog.com
c8b1de2cdec90d23cf92ce42fb5d0d5e.png

下面详细来介绍做静态资源优化的几种方法:

压缩合并

所谓压缩合并就是将网站中用到的多个 js/css/fonts 等等,按照一定的规则将他们分别打包成一个文件或者少量的几个文件,然后再进行压缩。

压缩文件不必多说,压缩后的文件平均能减少60%的大小,比如 jquery 未压缩时是 78.8 KB,压缩后只有 30KB。所以无论如何,压缩都是我们必须要做的。

合并文件的做法并不少见,一个安装了10个插件的网站(10个插件不算多吧),那么网站需要引用的 css 文件可能就会达到10个左右,虽然每个css 文件都不大,基本上在 5k 以下,并不会太影响网页加载。

但是目前常用的浏览器打开网页时能同时发出的请求只有6个,所以当有10个css 文件需要请求时,浏览器会一次性请求6个,而剩下的4个必须等前面6个有请求完成后才能发出。无疑,大量的请求会导致页面加载时间过长。

控制请求资源的数量在合理的范围内,能最大化的优化网站加载速度。

什么是合理的范围呢?

因为浏览器可以同时发出 6 个请求,所以没有必要将 css/js 分别合并到一个文件中,那么这个时候网页请求只有三个,一个 HTMl 一个 css 一个 js,好么?不好,因为全部合并到一起后,文件大小变大,变大意味着下载需要更长的时间。而一旦 js 或者 css 有没有加载好时,页面是会出现错乱甚至白屏的。没有完全利用好浏览器可以同时下载 6个请求的优势。

所以,最佳的做法是:将一些较小的(5KB 以下) css 进行合并处理,较大的 css 文件则剔除,比如 font-awesome、bootstrap。将 jquery,query-migrate,bootstrap 等等较大的库这些也剔除,其他的小 js 文件进行合并压缩。

此外,合理评估页面是否需要用到 font-awesome,通常情况下,可能网站只用到了很少的几个 font icon,但是需要引入整个 font-awesome 文件,这样就有点大材小用了。如果是这种情况,可以考虑用其他的方案替掉 font-awesome。

引用外部 CDN 资源

将网页中用到的 js 库或者 css 库从网站代码中修改成使用公共资源库。

使用公共 CDN 资源有两个优势:

  • 一方面 CDN 的 加载速度更快
  • 另一方面可以减少自己服务器流量

额外的还会有一个隐藏好处,国内加速,比如 jquery 官方的 cdn 资源,在国内的访问速度比国内 CDN 的速度要慢2倍。国内的 CDN 资源基本上 50ms 就能完成请求,而 jquery 官方的 CDN 资源平均请求时间在 150ms。

WordPress 中使用外部 jQuery 的方法:

找到你正在用的主题目录下的 function.php 文件,通常在 wp-content/themes/{你正在用的 Theme}/function.php,找到这个文件中的 function register_scripts 这个函数。

在这个函数内部添加下面的一段代码:

 public function register_scripts {​// 添加下面的代码wp_deregister_script( 'jquery' ); // 取消默认的 jquerywp_deregister_script( 'jquery-migrate' ); // 取消默认的 jquery-migratewp_enqueue_script( 'jquery', '//cdn.bootcss.com/jquery/1.12.4/jquery.min.js', array(), '1.12.4' ); // 添加外部 CDN 的 jquery 版本wp_enqueue_script( 'jquery-migrate', '//cdn.bootcss.com/jquery-migrate/1.4.1/jquery-migrate.min.js', array(), '1.4.1' ); // 添加外部 CDN 的 jquery-migrate 版本}
  • wp_deregister_script 函数的功能就是取消之前的某个内置 js 文件,
  • wp_deregister_style 就是取消之前引入的某个 css 文件,
  • wp_enqueue_script 是引入某个依赖文件,
  • wp_enqueue_style 是引入某个 css 文件。

JS 异步加载

js 文件开启 defer 加载功能,也就是延迟加载,这样不会阻塞页面加载渲染,会有更快的页面展示。

注意:由于一些插件会在网页的 html 代码中添加依赖于 jquery 的 js 脚本,所以,jquery 最好在 head 中引入。

GTag 优化

google analytics 优化,由于浏览器的 adblock 插件会将 gtag 屏蔽掉,所以,最好的处理方法是将 gtag 优化到本地,在优化到本地后,文件名会被 hash 成一个随机字符串,这样 adblock 插件就没有办法识别出来了。

但是在 gtm 运行时会动态加载 ga,而这个动态加载的 ga 文件名就是 google analytics,还是会被 block 掉。但是 gtag 的起他功能还能用。

懒加载

懒加载也是必须要开启的一个功能,它可以显著的降低网站上的请求数量,尤其是当网站上的图片、视频较多时。它会让不在可视区域内的图片、视频等等资源暂时不加载,只有当网页滚动到相应位置时才会发起请求。

CDN 图片

图片一般都是网站上最大的流量消耗者。相比较文字来说,一个网站的 html 可能只有 10k 左右,但是一个图片很可能就到 300k 了,所以有必要将图片从服务器中移出,单独放到 oss 中,通过 cdn 的方式访问。

这样既能节省服务器流量,保护服务器,另一方面通过cdn访问图片,能获得更好的加载速度。

推荐使用 阿里云 oss + cdn服务。WPOSS 插件可以将 wp 中上传的图片同时保存在 oss 和 服务器中,并返回 cdn 的图片地址。

图片处理

阿里云 OSS 图片处理可以方便我们对图片进行一些处理,比如水印,压缩,渐变,Webp等等。Webp 是一种新型的图片格式,它的大小更小(甚至可以只有原图片的 10% 大小),但是却不会降低图片的质量。

遗憾的是,iOS 并不支持 Webp 格式的图片,而阿里云的 OSS 也并不支持动态 Webp。所以是否启用 Webp 需要权衡一下。

除了 Webp 特性之外,OSS 支持的压缩,水印,裁剪等等功能可以在 OSS 的后台进行设定,然后在网页上使用处理后的图片,可以和显著的降低图片大小,以达到速度优化的效果。

修改 wp-includes/media.php 两个地方可以让网站的图片变成处理后的图片:

第 884 行

$default_attr = array('src'   => $src . "?x-oss-process=style/webp-water", // Line: 884 这行有改动'class' => "attachment-$size_class size-$size_class",'alt'   => trim( strip_tags( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ) ) ),
); 

第 1169 行

$source = array('url'        => $image_baseurl . $image['file'] . "?x-oss-process=style/webp-water", // Line 1169'descriptor' => 'w','value'      => $image['width'],
);​

这两个地方后,可以让网站上的图片使用 oss 处理后的图片了。

如果还有疑问,欢迎留言。

以上~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_798967.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书,什么是 HTTPSSSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1、数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全…

前端通过网站得到json_【WEB开发】Django中方便快捷的json响应

目前流行的前后端分离开发模式中,前端工程师需要根据后端开发人员给出的API文档发起不同的请求得到数据,API文档规定了一些请求的模板以及响应的数据格式和代码。通常,前后端约定一些代码以代表一定含义的响应。在这里,分享一个作…

java 文件上传漏洞_网站漏洞修复之UEditor漏洞 任意文件上传漏洞

UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以…

linux服务器网站php无法访问,linux服务器无法远程连接

1、查看SSH是否安装(检查是否装了SSH包)输入命令:rpm -qa | grep ssh如下如所示系统已经默认安装了SSH:若没有安装,则输入:yum install openssh-server进行安装。在线视频教程推荐:linux视频教程2、查看SSH服务是否运行…

Java开源建站工具

http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者: 阮一峰 日期: 2011年8月11日 美国程序员Jon Scott Stevens,公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java,开发项目是…

10个学习Android开发的网站推荐

1. Android Developers 作为一个Android开发者,官网的资料当然不可错过,从设计,培训,指南,文档,都不应该错过,在以后的学习过程中慢慢理解体会。 2. Android Guides - CodePath CodePath是国外一…

树莓派lnmp安装mysql_树莓派上的lnmp,建立网站》解决phpmyadmin无法访问树莓派上mysql的问题...

本篇主要记录lnmp的搭建过程,以及遇到的问题。解决phpmyadmin无法访问树莓派上mysql的问题时间2018年2月11日使用wordpress 可道云 等开源软件作为网站程序。网站的运行环境是lnmp,它是 linux nginx mysql php的缩写。注意:(首先: nginx安装完成后网页可…

PHP授权查询地址,PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询...

资源介绍PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询,主要修复了前一版本的BUG,增加管理员登录安全码,增加服务器IP域名双重授权模式!域名服务器IP授权模式 授权顶级域名后 其他二级域名均可使用。目前几乎可以运用到…

html网页如何上线,从零开始上线网站的日常(二)— 第一次上线

上一章:从零开始上线网站的日常(一)— 前后端分离网站本地调通本章目标:在云服务器上线上一章完成的网站时间:2019.05.13零. 步骤项目打包云服务器环境部署(JDK & Nginx)项目部署部署脚本编写一. 项目打包1. 前端项目打包前端项目打包比较…

分享高性能ASP.NET网站的系统架构设计

大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: Web前端系统负载均衡系统数据…

假如我来架构12306网站(一) - 概论

序言: 此文的撰写始于国庆期间,当中由于工作过于繁忙而不断终止撰写,最近在设计另一个电商平台时再次萌发了完善此文并且发布此文的想法,期望自己的绵薄之力能够给予各位同行一些火花,共同推进国内的大型在线交易系统…

企业网站推广的方法有哪些?

摘要: 网站推广就是以互联网为基础,借助平台和网络媒体的交互性来辅助营销目标实现的一种新型的市场营销方式。当前传播常见的推广方式主要是在各大网站推广服务商中通过买广告之类等等方式来实现,免费网站推广包括:SEO优化网站内…

网站设计如何兼顾优化?

开发十年,就只剩下这套Java开发体系了 >>> 网站设计除了设计网站的外观和风格以外,同时还要编写前端的代码,网站设计用描述性的标签来组织页面结构,可以提高内容对搜索引擎的可读性,有利于网站优化&#x…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转载)

LoadControl 和输出缓存会话和输出缓存Forms 身份验证票证生存期视图状态:无声的性能杀手SQL Server 会话状态:另一个性能杀手未缓存的角色配置文件属性序列化线程池饱和模拟和 ACL 授权不要完全信赖它 — 请设置数据库的配置文件!ASP.NET 成…

做一个网站需要多少花费?

我是今年清明节(4.5)之后开始做自己的网站,这周(6.20号左右)网站正式上线。由于在上班,利用下班时间和周末,陆陆续续做了3个月,勉强做了个能打开,有内容(对&a…

搭建自己的ebook网站

2019独角兽企业重金招聘Python工程师标准>>> 搭建自己的电子书网站 下载代码方式: githubgitee项目介绍 项目使用spring-boot开发,使用maven主要分为manager,common,client模块。 manager 管理模块 参考 client 客户端…

注册网站域名多少钱_网站注册域名要知道什么?注意什么?

网站注册域名要知道什么?注意什么?网站注册域名的问题咱们聚名网已经跟大家说了很多了,但是注册好域名之后,接下来该做哪些,咱们聚名网还没和大家细细的说,一般网站注册好之后需要做哪些事情呢?…

iis网站属性在哪_IIS在使用URL Rewrite 重写的时候由于目标服务器响应时间长,导致出现502问题解决...

按照正常来说,再iis网站界面会有一个application requestrouting cache 的 icon, 可以点击 设置timeout 但是这里没有显示找到了 官方说明可以用命令行解决这个问题https://blogs.iis.net/richma/502-3-bad-gateway-the-operation-timed-out-with-iis-ap…

网站可行性报告范文_孝感做可行性报告本地立项范文

孝感做可行性报告本地立项范文 公司名称: 环建工程有限公司 公司介绍: 环建工程有限公司致力于发展成为一家业界的化服务公司,专注于为客户提供化的服务。主要经营范围项目建议书、可行性报告、资金申请报告、项目申请报告、商业计划书、计划…

springboot访问静态页面404_网站404是什么原因,网站404怎么解决

404对于SEO的影响是非常严重的。一旦处理不当网站就会被K,轻微的是降权。所以死链接的处理一定要用正规的处理方式。而更加重要的就是预防404,因为企赢SEO优化那么多网站从来没有出现过死链接这东西。首先我们要知道404出现的原因有哪些,才能…