如何优化WordPress网站

如何优化Wordpress网站,以充分发挥您的云主机的性能?其实只要经过适当的优化调整,Wordpress也适用于建立中大型的网站。

如何优化Wordpress网站
如何优化Wordpress网站

激活缓存

缓存可以让Wordpress网站运行的更快,通过利用缓存我们可以释放一部分的服务器内存,可以让云主机具备更加充分的性能。

通过缓存技术,我们可以不必在每个客户的每一次访问时,都需要从数据库中检索数据,而是可以从服务器内存中直接读取,这样我们就可以减少加载时间,提升Wordpress网站的性能。

提示:Redis最容易实现,并且效果良好

关于如何在Wordpress网站上启用Redis缓存,可以参考“WordPress网站安装和使用Redis缓存”。

优化WordPress设置和插件

禁用pingbacks

默认情况下,在WordPress网站上启用了Pingbacks,每当其他网页链接到您的网页的时候就会收到邮件通知,这会产生许多不必要的查询,也就降低了我们网站的性能。
因此,我们建议在WordPress的“设置”中禁用pingback(参见图片)。

如何优化Wordpress网站

使用WP Smush.it压缩图像

如果您的网站上有很多未经优化的图片,使用WP Smush.it可以压缩图片,使图片更小,加载速度更快。请按照以下步骤安装插件:

  1. 登录WordPress管理后台。
  2. 点击“插件”>“安装插件”。
  3. 搜索WP Smush.it,找到后单击“立即安装”。
  4. 安装完成后,转到“插件”>“已安装的插件”点击启用新插件。这样,插件就已经被启用了。

使用RVG-Optimize Database优化数据库

RVG-Optimize Database可以优化数据库中的表,还可以清理数据库中混乱的数据,还可以轻松删除修订的文章和页面数据。请按照以下步骤安装插件,

  1. 登录WordPress管理后台。
  2. 点击“插件”>“安装插件”。
  3. 搜索RVG-Optimize Database,找到后单击“立即安装”。
  4. 安装完成后,转到“插件”>“已安装的插件”点击启用新插件。这样,插件就已经被启用了。

安装HTTP/2 server push插件

通过安装和开启HTTP/2 server push插件,可以通过单个连接上的多路传输同时发送多个文件,从而使网站速度更快。

额外的步骤是激活HTTP / 2服务器推送。这是一种可以进一步减少您的网站加载时间的技术。
您将需要安装HTTP / 2服务器推送插件。它确保所有使用“入队机制”的脚本和文件都通过预加载发送到浏览器。

使用AMP插对移动设备进行优化

要针对移动设备进行优化,可以使用Google的移动页面加速技术(AMP)。通过从您的网站中删除很多“杂物”(例如某些设计元素,脚本等),您的网站可以更快地工作。

在您的WordPress网站上安装AMP插件。https://nl.wordpress.org/plugins/amp/请按照以下步骤安装插件

  1. 登录WordPress管理后台。
  2. 点击“插件”>“安装插件”。
  3. 搜索AMP插件,找到后单击“立即安装”。
  4. 安装完成后,转到“插件”>“已安装的插件”点击启用新插件。这样,插件就已经被启用了。

优化.htaccess文件

开启GZIP压缩

开启GZIP压缩,可以减少带宽消耗,缩短加载时间。

将下面的代码添加到.htaccess文件中:

<IfModule mod_deflate.c>
<FilesMatch ".(html|php|txt|xml|js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

设置Expire Header

Expire Header就是过期时间的header报文。这个文件过期时间,其实就是通过header报文来指定特定类型的文件在浏览器中的缓存时间。有些文件(例如样式表中调用的背景图片和文章中调用的图片)其实在很长一段时间内我们都不会对它们有什么改变,这类文件可以设置非常长的缓存时间,这样浏览器以后就不需要再从服务器下载这些文件而直接从缓存中读取,从而大大加速网站的载入速度。
将以下代码添加到您的.htaccess文件中。

# BEGIN Expire headers
 ExpiresActive On
 # Images
   ExpiresByType image/jpeg "access plus 1 year"
   ExpiresByType image/gif "access plus 1 year"
   ExpiresByType image/png "access plus 1 year"
   ExpiresByType image/webp "access plus 1 year"
   ExpiresByType image/svg+xml "access plus 1 year"
   ExpiresByType image/x-icon "access plus 1 year"
 # Video
   ExpiresByType video/mp4 "access plus 1 year"
   ExpiresByType video/mpeg "access plus 1 year"
 # CSS, JavaScript
   ExpiresByType text/css "access plus 1 month"
   ExpiresByType text/javascript "access plus 1 month"
   ExpiresByType application/javascript "access plus 1 month"
 # Others
   ExpiresByType application/pdf "access plus 1 month"
   ExpiresByType application/x-shockwave-flash "access plus 1 month"
 # END Expire headers

添加缓存控制头

缓存控制标头定义了浏览器可以缓存的文件。
将以下代码添加到您的.htaccess文件中:

# BEGIN Cache-Control Headers
 <filesMatch ".(ico|jpeg|jpg|png|gif|swf|pdf|svg|js|flv)$">
 Header set Cache-Control "max-age=84600, public"
# END Cache-Control Headers

禁用实体标签(Entity Tag,ETag)

实体标签是WEB服务器和浏览器,用于确认浏览器缓存的内容是否仍然有效的一种机制。关闭此功能,可以实现更快的加载时间。将以下代码添加到您的.htacess文件中:

Header unset ETag 
FileETag None

防止图片盗链

比如其他网站直接在牛奇网上复制了文章(文本和图片)到自己的网站,这时他其实没有重新在自己的网站后台上传图片,而是盗链了我们的图片。这样每当用户访问这篇文章的时候,图片实际上是从我们的网站加载的,这增加了我们网站的负担。可以通过将以以下代码添加到.htaccess文件中来防止这种情况。

记得要将域名更改为自己的。

 RewriteEngine on
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomainname.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?baidu.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sogou.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?360.com [NC]
 RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]

避免页面多次重定向

什么是页面的多次重定向呢,举例来说, http://abc.com >> https://abc.com >> https://www.abc.com。

为防止这种情况,请将以下行添加到您的.htaccess文件中:

	#redirect non-www to www
	RewriteEngine On
	RewriteCond %{HTTP_HOST} !^www.
	RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

优化wp-config.php文件

限制wp-config.php的修订数量

WordPress有一个自动储存文章修订版本记录的功能,每当我们对文章内容进行重新编辑,系统都会将我们修改的版本进行保存(就像百度百科会记录每个编辑者编辑的词条版本一样),并且会在数据库的posts表中插入一条记录。这虽然不会给我们的系统性能带来较大的负面影响,但是随着内容的逐渐增多,我们的空间和数据库的负担会逐渐加重,进而使数据库查询速度变慢。

Wordpress Revision

1.首先清除掉数据库中已经保存的修订版本记录;

DELETE FROM wp_posts WHERE post_type ='revision'

2.关闭或者限定WP_POST_REVISIONS修订版本的数量。

在 wp-config.php 文件中的require_once(ABSPATH . ‘wp-settings.php’);前添加代码如下:

/** 关闭WordPress文章修订功能*/
define('WP_POST_REVISIONS', 3);

关于WP_POST_REVISIONS的设置详解:

  • true(默认)或者 -1:表示保存所有的修订版本;
  • false或者0:表示不保存任何修订版本(自动保存的版本除外);
  • 任意整数N:只保存N个版本,当有更多版本时,将删除旧的版本。

虽然我们可以关闭修订版本,但是牛奇网不太建议这样做,毕竟要凡事留有余地,我们只要定期进行清理就可以了。

禁用WP-cron

系统cron是UNIX系统环境下,使用最广泛的定时任务工具,而WP-Cron是WordPress中的定时任务工具,它的核心功能包括检查更新和定时发布文章等方面。WP-Cron不能像系统cron那样持续运行,它只能在页面加载时触发,假如我们将任务设定为下午2点,但是在下午5点之前没有页面加载,那么这个任务就会出现错误。

WP-Cron会在每次用户访问我们网页的时候执行查询任务,这对很多网站来说会带来无谓的系统资源占用。尤其是对那些访问量较大的网站,更是如此,因此牛奇网建议禁用WP-Corn,以避免不必要的系统资源占用。

通过将以下代码添加到wp-config.php文件中来禁用此功能:

define('DISABLE_WP_CRON',true);

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/webmaster/optimize-wordpress-website/

发表评论

登录后才能评论