WordPress网站速度优化指南

WordPress网站速度优化从主机到程序,从网络都数据库,从优化角度来看每个部分都大有可为,本文从多个方面讲述WordPress优化工作。

从2000年到2016年的研究中可以看出,用户的平均注意力范围从12秒降至7秒,这对网站意味着什么?几乎没有时间向用户显示内容,并吸引用户留在网站上。

速度缓慢的网站意味着,用户可能会在网站加载完成之前就离开了。根据涉及亚马逊,谷歌和其他大型网站的案例研究,页面加载时间延迟1秒就会损失7%的转换,从而导致页面浏览量减少11%,用户体验满意度降低16%。

更重要的是谷歌和其他搜索引擎,已经开始在搜索结果中通过降低排名,来惩罚速度缓慢的网站,这意味着速度缓慢的网站流量会更低。

如何检查网站速度

有些站长认为访问速度慢不是网站的问题,只是用户的网速和电脑不够快,这是一种错误的理念。

由于站长经常访问自己的网站,因此,Chrome等现代浏览器会将网站进行缓存,这使得网站加载几乎无等待时间,但对第一次访问网站的用户,没有缓存以及地理位置导致的网络差异,让网站速度问题暴露的更加明显。

建议使用一些网站测速工具来查看网站的速度,然后再从不同的地理位置测试网站的速度。良好的页面加载时间不应超过2秒。

WordPress网站速度因素

1、网站服务器- 服务器配置不当最影响网站速度。

2、WordPress配置 - 如果WordPress网站没有提供页面缓存,那么,最大的问题就是服务器过载,导致网站变慢或完全崩溃。

3、页面大小 - 未对图片进行优化。

4、糟糕的插件 - 使用了未经编码和性能优化的插件,直接拖慢网站速度。

5、外部脚本 - 外部脚本(如广告,字体加载等)对网站性能产生很大影响。

WordPress主机重要性

WordPress托管服务在性能方面发挥着重要作用,像BlueHost、Siteground等国内外优秀共享云服务托管商,都采取了额外措施来优化服务性能。

国内有很多WordPress网站托管服务商,依据个人的测评进行选择。国外WordPress服务器提供商有很多:如:BlueHost、Siteground、wpengine,godaddy等。

这些托管服务提供商大多是共享主机,如果同一个主机下的网站有大量的流量出入,就有可能直接影响到所在网站的速度。当然,托管服务商也有其优势,经过优化的服务器配置,提供自动备份,WordPress自动更新和高级安全配置。

安装缓存插件

WordPress页面是“动态的”,当有大量流量进入网站时,会让网站变慢,缓存可以让WordPress网站的速度提高2~5倍。市面很多好用的WordPress缓存插件,但建议使用WP Rocket(高级版)或WP Super Cache(免费)插件。如果使用的是WordPress托管服务提供商,它们会处理缓存插件问题。

可以将缓存插件与CloudFlare、Sucuri等Web应用程序防火墙结合使用,以最大限度地提升性能。在做这些优化项时,最好先在本地安装WordPress环境进行测试,以保证不会影响线上用户。 

优化图片加载速度

图片为网站的内容带来了生命,有助提升用户参与度,研究人员发现,使用彩色视觉效果会增强用户的阅读感。一般使用两种图像格式:JPEG和PNG,PNG图像格式是未压缩的,缺点是文件大小较大。JPEG是一种压缩文件格式,略微降低了图片质量,但尺寸会更小。

如果图片由很多不同的颜色构成,那么选择使用JPEG,如果是一张简单的图片或透明背景图片,选择PNG格式。大多数图像都是JPEG,可使用Cloudinary这种具有图片处理和加速功能的存储平台。 

保持更新

作为一个维护良好的开源项目,WordPress会经常更新,每次更新不仅会提供新功能,还会修复安全问题和错误。WordPress主题和插件也可能有定期更新。 

使用摘要

默认情况下,WordPress会在主页和档案中显示每篇文章的完整内容。这意味着主页、类别、标签,和其他存档页面的速度都会变慢。这些页面并不需要访问实际文章,为了加快存档页面的加载速度,将站点设置为显示摘要而不是完整内容。

在WordPress控制台,设置(Settings)>>阅读(Reading),选择“对于Feed中的每篇文章,显示:摘要”(For each article in a feed, show: Summary)而不是“全文”(Full Text)。

评论分页

博客文章获得了大量评论,这是一个很好的信号。但加载评论会影响网站速度。WordPress内置此问题的解决方案。在WordPress控制台,设置(Settings)>>讨论(Discussion),然后,把“将注释分解为页面”(Break comments into pages)选项勾选上。

使用内容分发网络(CDN)

托管服务器的位置直接影响络速度,使用CDN(内容分发网络)可以帮助不同地区的用户加速访问速度。

托管网站视频

托管视频会花费带宽,可能会被网络托管商收取超额费用,应使用YouTube,Vimeo,DailyMotion等国内外视频托管服务,他们有足够的带宽!WordPress内置的视频嵌入功能,可以将视频的URL直接复制粘贴到文章中。

使用优化主题

为网站选择WordPress主题时,要特别注意速度优化,一些吸引人的主题实际上代码性能可能很差,通常是使用简单的主题,使用高质量的插件来获得所需的功能,而不是选择布局复杂、动画华丽,但性能较差的主题。

WordPress高级主题商店提供了编码良好,针对速度进行优化的主题,像StudioPress,Themify和Array这样的主题。

使用优化滑块

滑块是一种常见的网页设计元素,但会拖慢网站速度。即使对图片行了优化,编码不好的滑块插件,会让所有的优化工作白费。目前,比较好的WordPress滑块插件当属于Soliloquy,它是迄今为止速度最快的滑块插件。 

优化图库

如果是摄影网站,可能希望使用图库插件来显示照片。使用速度优化过的图库插件非常重要,建议使用Envira Gallery,它是目前市场上最好的WordPress图库插件,它允许创建漂亮的图像画廊。 

WordPress调优

通过以上面WordPress优化方案,应该会看到网站速度明显提高。如果希望各方面都获得最快的速度,需要对WordPress进行一些调优。以下方案具一定的技术性,需要对要站点文件和对PHP有基本的了解。以防万一,应先对网站进行备份。

分页优化

读者往往喜欢更长、更有深度的文章,更长的帖子在搜索引擎中排名会更高,但如果长篇文章包含大量图片,可以考虑将较长的文章拆分为多个页面。WordPress内置了分页功能。在文章需要分页的位置,放置<!––nextpage––>标记即可。

减少外部HTTP请求

许多WordPress插件和主题加载来自其他网站的文件,虽然许多文件都经过优化,比托管在自己的网站上更快,但如果插件发出了很多请求,将大大拖慢网站速度。通过禁用脚本和样式,或将它们合并到一个文件中,来减少这些HTTP请求。具体请参考如何禁用插件中CSS和JavaScript的教程。

减少数据库调用

注意:此步骤更具技术性,需要对PHP和WordPress模板文件有基本的知识。很多编码不好的WordPress主题,忽略WordPress标准做法,直接对数据库进行调用,或者对数据库进行发送不必要的请求,这会让网站的工作量加大,影响服务器的响应速度。即使编码良好的主题也可以使下以下代码,对数据库进行调用,来获取博客的基本信息。

在这个例子中,每次看到  <?php,都是对新数据库调用的开始:

<html xmlns="http://www.w3.org/1999/xhtml" dir="<?php language_attributes(); ?>">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?> 
charset=<?php bloginfo('charset'); ?>" />

你不能责怪主题开发者,他们根本无法知道网站所使用的语言。

但是,如果使用子主题自定义站点,则可以使用特定信息替换这些数据库调用,以减少对数据库的调用。

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

优化WordPress数据库

使用WordPress一段时间后,数据库会有许多可能不再需要的信息,为了提高性能可以删除一些不必要的信息。

WP-Sweep插件能够对这样的数据进行管理,它能够删除诸如:删除帖子、修订版本、未使用的标签等内容,来清理WordPress数据库,还可以通过点击来优化数据库的结构。

限定文章修改次数

修修会占用WordPress数据库中的空间。也可能会减慢网站速度。通过限制WordPress每篇文章的修订次数来解决此问题,将下面这行代码添加到wp-config.php文件中即可。

define( 'WP_POST_REVISIONS', 4 );

此代码将限制WordPress每篇文章只保存最后4个修订版本,并自动丢弃旧版本。 

禁用内容的热链接和内容泄露

如果在WordPress网站上创建高质量的内容,那么可悲的事实是它迟早会被盗。比如,有的网站直接盗用网站图片,实际上,他们正在窃取网络带宽。将以下代码添加到网站的.htaccess文件中,阻止来自WordPress网站的图片热链接。

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L] 

注意:不要忘记用自己的域名把wpbeginner.com替换掉。