建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

6招优化WordPress打开速度,让你的网站飞起来(怎么使用Nginx缓存加速WordPress站点)

GG网络技术分享 2025-03-18 16:14 0


6招优化WordPress打开速度,让你的网站飞起来

为什么我们的WordPress网站比你的快?

我们光算科技官网是使用WordPress框架搭建的,有没有发现我们的网站非常快,而你的WordPress网站比较慢呢?那是因为我们的网站经过了优化。

WordPress 很慢?

为什么很多人都会觉得 WordPress 很慢?

这里不得不吐槽一下,作为外贸圈独立站建站最通用的建站系统 WordPress 来说,在设计上的确是有点问题的,除了经典的引用大量海外墙外资源,国内访问极慢,甚至打不开的情况;还有就是数据库结构也比较简单,把所有文章数据都丢到一张表;wordpress有一套完善的插件生态系统,让使用wordpress的人实现某些功能确实非常简单,但是相对应的是,搞wordpress开发的人,不一定都有良好的编程代码习惯,总是弄些臃肿不堪的插件出来,作为使用者又没有能力去修改,只知道去添加,关键是wordpress框架是全动态的运行机制,而且每次都要加载全部的后台插件,跑个很简单的页面都要全部遍历一下。这样搞法,显然不是明智的,也难怪大多数 WordPress 网站都有有速度慢的问题。

导致WordPress网站访问速度慢的原因有以下几点:

  • 服务器
  • WordPress配置 – 如果你的WordPress站点没有提供缓存页面,服务器负载过大可能导致网站速度变慢甚至整个崩溃。
  • 页面大小 – 主要是没有优化过的图片
  • 不良插件 – 如果你使用了代码质量非常差的插件,就会非常明显地拖慢你的网站速度。
  • 外部脚本 – 像广告、字体加载器等外部脚本,也会对你的网站性能产生巨大的影响。

所以我们要想提高 WordPress 的速度和性能,就要从这些方面入手。

网站速度很重要,这是你应该知道的

没有人喜欢加载速度缓慢的网站,尤其是Google。

速度是PC端以及移动端谷歌SEO排名的重要因素之一。它影响着用户体验、对流量有直接的影响!

说直白的:如果你的网站打开速度慢,那么排名和流量与你无缘,谢谢

如何查看网站的访问速度?

推荐使用谷歌官网推荐的测速工具PageSpeed Insights (谷歌对网站的速度评分也是以该工具的结果为准,直接集成到谷歌官方站长后台)

测试结果大概如下图

优秀的网站,测速分值应该在90分以上,好的网站,测速分值起码也应该在80分以上

请注意:PC端和移动端的分数是分开的。按现在互联网的情况来说,移动端分数更为重要。

下面给大家讲讲我们多年经验总结出来的优化WordPress速度的实战技巧

1、选择一台好的服务器,并进行服务器调优

2、选择一套速度快的模板主题,或者优化模板主题的js和css

3、去掉不必要的插件

4、图片优化

5、做好缓存

6、挂CDN

1、选择一台好的服务器,并进行服务器调优

好的服务器很重要,首先是结合你的业务区域,选对地区,例如你是做美国市场,就上美国的服务器,配置性能方面,起步2核2G以上即可

【如果不知道去哪里买服务器好,推荐光算旗下的光算云服务器哦,但凡买光算云服务器的外贸客户,我们免费做wordpress服务器调优^_^】

然后服务器软件方案建议采用nginx+php7.4以上(千万不要选择老掉牙的php5.2之类的),同时还要进行以下操作:

  • nginx调优
  • php扩展调优
  • redis调优
  • memcache调优

这些就不展开细说了,展开讲的话每一个主题都是长篇大论

2、选择一套速度快的模板主题,或者优化模板主题的js和css

好的模板主题非常重要。我们做网站最重要的目的不是为了好看,其实是为了流量,有流量才有成交啊,对吧

说白了,就是要SEO做得好。

市面上很多模板其实只是单纯设计好看,模板的作者为了自己省事,往往引入大量的js甚至外部js

这时候你能否选择一套好的模板直接决定了你网站的打开速度基础。

关于什么模板主题快,我建议搭建可以搜索 “速度最快的WordPress主题” 这个关键词,网络上大把推荐了。

我们内部建议和推荐的话是:Neve 3.3.0以下版本(有些主题越升级越卡哦,经过多年实践,3.3.0到头了,再升就呵呵了)

这套模板非常轻量级和简约,js也非常少,框架功能也完全够用,初始模板也简单大气上档次

再配合elementor做单页,妥妥地适合做外贸独立站

当然,如果你不是全新做站,有历史包袱。那么你唯一能做的就是找你们公司的it运维人员进行网站模板js优化,或者干脆换模板或者重新做站了。

3、去掉不必要的插件

wordpress这套程序的框架有个问题,就是他每次启动入口,都会把所有插件都过一遍。这是大家抱怨他卡,性能慢的一个重要原因。

所以,如果你后台安装了很多插件,不管你有没有用,只要你安装并启用了,你网站每次被人访问,你的插件都要被重新加载一遍。

所以,为了速度,请你去掉不必要的插件,尽量精简。

4、图片优化

图片优化是必须的!

因为你网页的大小,其实主要取决于你的图片大小

优化图片有2个方向,一是格式,二是质量

格式上,选用先进的图片格式,例如webp

质量上,主要是根据你的实际需要去上传图片或者使用插件优化图片,因为你不可能为了展示一个很小的图就上传一张分辨率几K的,完全没必要,浪费空间,也大大降低了加载速度

图片优化方面的插件我们推荐:Converter for Media

5、做好缓存

wordpress这套程序跟以前国内一套应用很广泛的cms《dedecms》很不一样,他是本质是纯动态的,原生的wordpress从不生成真正的静态html页面。

就算你用了伪静态使网站url看起来是静态html,但是他本质的运行机制还是全动态的跑php。

wordpress的插件市场也没有生成纯静态页面的好用的插件,大多数只有缓存插件。

基于这样的机制,想优化速度,安装好的缓存插件非常重要。

我们推荐使用:Autoptimize+W3 Total Cache 这2组合拳

W3 Total Cache的低阶应用的话,直接按软件设置就可以了。但是想要更快,更爽的速度体验的话,一定要配合服务器伪静态配置,做到直接的服务器级别重定向到缓存文件。这样可以避开wordpress天然的跑遍全站的php机制,极大幅度提升用户体验。

挂上这两兄弟的组合拳,模板又没什么大问题的话,网站谷歌速度评分基本上60分是没跑的了(不挂的话你试试,最多就20-30分,满分100分哦)

当然,wordpress网站插件调优其实远远不止利用上面2个插件做一下组合拳这么简单。我们真正优化wordpress网站的速度体验,用到的相关插件接近7-8个。这些都是经过大量项目网站测试对比试验得到的宝贵经验数据。远远不是打几句话能说清楚明白的。再加上每个网站本身的插件框架,功能实现并不一样,所以最靠谱的调优方案还是找专业人士调优。

ps:我们光算流量研究院的工程师就很专业哦。欢迎下单O(∩_∩)O

专业人士调优,一般都能通过各种组合拳帮你网站做整体速度优化,正常来说调优完成之后谷歌速度评分基本上90分左右了,再差也得有80分

不要少看这30分的差距,只有谷歌速度评分达到90分左右的,谷歌才会给你网站做页面优质评价,排名和流量才能咔咔地来O(∩_∩)O

6、挂CDN

这个没什么好说的,就是加速全球节点速度,还有缓存点图片内容

我们推荐使用全球知名CDN龙头供应商:Cloudflare

ps:这个CDN外网很快,国内由于众所周知的原因,卡成狗哦!

最后:

所谓术业有专攻。wordpress速度优化说起来原理不难,但是细节很难。

牵扯到服务器,网站程序,数据库,模板插件,js优化等等方方面面的操作。不懂技术或者没在专业领域沉淀个三五年,基本上你没有能力搞得好!

我们大部分做外贸独立站的老板,都是以项目运营为核心目的,以达成SEO效果,提升用户体验为目标。

去研究各种技术,显然不是各位老板应该做的事情!

所以,我们真心建议,对于wordpress速度优化这件事,你可以交给专业人士去做,更加事半功倍!

我们光算科技也有这个专业的wordpress速度优化的服务 - 简称《优速包》

一站式专业帮你搞定全套复杂麻烦的调优操作,保证你的网站可以做到谷歌速度评分90分以上

而您仅需要支付一点费用表示一下对技术的尊重而已O(∩_∩)O

怎么使用Nginx缓存加速WordPress站点

本站用的WordPress程序,尝试过安装各种缓存插件(super cache, w3 total cache等)加速运行,但是低配的vps依然难以支持这么大的访问量。通过日志可以看到随着访问量的增加,php-fpm进程增多,Mysql的连接和线程增多,接着出现OOM,然后系统kill掉占用内存最大的Mysql进程,于是网站进入503宕机模式。

买更好的vps能解决访问量大的问题,但是要花更多的钱。做为一个技术宅,首先想到的当然是如何榨干现有机器来支撑大流量。做过的尝试包括切换到比WordPress性能更好的Ghost,参考:尝试Ghost 。但是相对于WordPress,Ghost的生态远没有那么成熟,最终放弃了。

左思右想下,终极解决办法是用Nginx缓存,最初的文章可参考:Nginx配置fastcgi cache。fastcgi_cache的好处是大部分用户的请求不用后端php-fpm打交道,直接发送缓存的静态页面,速度上甩各种WordPress插件好几条街!相比之下wordpress的各种插件还要执行php,也避免不了访问数据库,弱爆了!

自从使用了nginx缓存,网站平稳运行,再也没有出现过宕机的现象。同时vps的cpu和内存占用率直线下降,再也无需担心vps的配置问题,感觉再来10倍流量博客也撑得住!

因为nginx稳如狗的体验,所以现在对于博客类读多写少的产品都是强推nginx缓存(fastcgi缓存或者proxy缓存)。鉴于可能帮到一些网友,现贴出 /etc/nginx/nginx.conf 配置文件供网友参考(包含ssl设置和gzip部分):

# 文件: /etc/nginx/nginx.conf

# For more information on configuration, see:

#   * Official English Documentation: http://nginx.org/en/docs/

#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;

events {

worker_connections 1024;

}

http {

log_format  main  \'$remote_addr - $remote_user [$time_local] \"$request\" \'

\'$status $body_bytes_sent \"$http_referer\" \'

\'\"$http_user_agent\" \"$http_x_forwarded_for\" \"$request_time\"\';

access_log  /var/log/nginx/access.log  main buffer=32k flush=30s;

server_tokens       off;

client_max_body_size 100m;

sendfile            on;

tcp_nopush          on;

tcp_nodelay         on;

keepalive_timeout   65;

types_hash_max_size 2048;

include             /etc/nginx/mime.types;

default_type        application/octet-stream;

# ssl配置

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

ssl_ecdh_curve secp384r1;

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 10m;

ssl_session_tickets off;

ssl_stapling on; # Requires nginx >= 1.3.7

ssl_stapling_verify on; # Requires nginx => 1.3.7

add_header Strict-Transport-Security \"max-age=63072000; preload\";

#add_header X-Frame-Options DENY;

add_header X-Frame-Options SAMEORIGIN;

add_header X-Content-Type-Options nosniff;

add_header X-XSS-Protection \"1; mode=block\";

# 请按照自己的需求更改

fastcgi_cache_path /var/cache/nginx/tlanyan levels=1:2 keys_zone=tlanyan:10m inactive=30m use_temp_path=off;

fastcgi_cache_key $request_method$scheme$host$request_uri;

# note: can also use HTTP headers to form the cache key, e.g.

#fastcgi_cache_key $scheme$request_method$host$request_uri$http_x_custom_header;

#fastcgi_cache_lock on;

fastcgi_cache_use_stale error timeout invalid_header updating http_500;

fastcgi_cache_valid 200 301 302 10h;

fastcgi_cache_valid 404 10m;

fastcgi_ignore_headers Expires Set-Cookie Vary;

# gzip 配置

gzip on;

gzip_min_length  1k;

gzip_buffers     4 16k;

gzip_comp_level 7;

gzip_types

text/css

text/plain

text/javascript

application/javascript

application/json

application/x-javascript

application/xml

application/xml+rss

application/xhtml+xml

application/x-font-ttf

application/x-font-opentype

application/vnd.ms-fontobject

image/svg+xml

image/x-icon

application/rss+xml

application/atom_xml

image/jpeg

image/gif

image/png

image/icon

image/bmp

image/jpg;

gzip_vary on;

# Load modular configuration files from the /etc/nginx/conf.d directory.

# See http://nginx.org/en/docs/ngx_core_module.html#include

# for more information.

include /etc/nginx/conf.d/*.conf;

}

以及用于WordPress站点的网站配置文件(/etc/nginx/conf.d/tlanyan.conf):

server {

listen 80;

listen [::]:80;

server_name www.tlanyan.me tlanyan.me; # 请换成自己的域名

rewrite ^(.*) https://$server_name$1 permanent;

}

server {

listen       443 ssl http2;

listen       [::]:443 ssl http2;

server_name www.tlanyan.me tlanyan.me; # 请换成自己的域名

charset utf-8;

ssl_certificate /etc/nginx/conf.d/tlanyan.pem;  # 请换成自己的证书和密钥

ssl_certificate_key /etc/nginx/conf.d/tlanyan.key;

set $host_path \"/var/www/tlanyan\";  # 请改成自己的路径

access_log  /var/log/nginx/tlanyan.access.log  main buffer=32k flush=30s;

error_log /var/log/nginx/tlanyan.error.log;

root   $host_path;

# 缓存标记

set $skip_cache 0;

if ($query_string != \"\") {

set $skip_cache 1;

}

if ($request_uri ~* \"/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml\") {

set $skip_cache 1;

}

# 登录用户或发表评论者

if ($http_cookie ~* \"comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in\") {

set $skip_cache 1;

}

location = / {

index  index.php index.html;

try_files /index.php?$args /index.php?$args;

}

location / {

index  index.php index.html;

try_files $uri $uri/ /index.php?$args;

}

location ~ ^/\\.user\\.ini {

deny all;

}

location ~ \\.php$ {

try_files $uri =404;

fastcgi_index index.php;

fastcgi_pass   127.0.0.1:9000;

fastcgi_cache tlanyan;

fastcgi_cache_valid 200 301 302 30m;

fastcgi_cache_valid 404 10m;

fastcgi_cache_bypass $skip_cache;

fastcgi_no_cache $skip_cache;

fastcgi_cache_lock on;

include fastcgi_params;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

}

location ~ \\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|jpeg)$ {

expires max;

access_log off;

try_files $uri =404;

}

}

上述配置对最新版的Nginx测试有效,详细配置指令请参考Nginx官方文档。

以上就是怎么使用Nginx缓存加速WordPress站点的详细内容,更多请关注网站的其它相关文章!

怎么使用Nginx缓存加速WordPress站点 (https://www.wpmee.com/) WordPress使用教程 第1张

标签:

提交需求或反馈

Demand feedback