有了域名和VPS,弄好 带伪装V2ray 或者 trojan 环境,一些网友同时按照 v2ray伪装建站教程trojan伪装建站教程 搭建好WordPress博客,开始写博客。本人非常赞同大家利用手上的资源为互联网生态做贡献,同时展现自己的价值。

本文先介绍WordPress性能优化建议,然后推荐一些实用/必备WordPress插件,希望能帮助各位网友更好的玩转博客。

WordPress性能优化

本站脚本安装的WordPress没有做太多性能优化,以避免产生一些让新手迷惑的行为。如果你的博客打算正规、长期使用,请运行以下优化脚本,让你的博客运行更好(适用于CentOS,Ubuntu系统请自行转换命令):

# 安装opcache模块,加快代码执行
yum install -y php-opcache
sed -i 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=30/' /etc/php.d/10-opcache.ini
# 上传文件最大默认是2M,改为200M,可以改成其他值
line=`grep -n access_log /etc/nginx/nginx.conf | cut -d: -f1`
line=`expr ${line} + 1`
res=`grep client_max_body_size /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a client_max_body_size 200m;"  /etc/nginx/nginx.conf
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 200M/' /etc/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 200M/' /etc/php.ini
# 优化Nginx设置
res=`grep gzip /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a gzip on;" /etc/nginx/nginx.conf
# Nginx安全设置
res=`grep server_tokens /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a server_tokens off;" /etc/nginx/nginx.conf
res=`grep SAMEORIGIN /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a add_header X-Frame-Options SAMEORIGIN;" /etc/nginx/nginx.conf
res=`grep nosniff /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a add_header X-Content-Type-Options nosniff;" /etc/nginx/nginx.conf
res=`grep Protection /etc/nginx/nginx.conf`
[ "$res" = "" ] && sed -i "${line}a add_header X-XSS-Protection \"1; mode=block\";" /etc/nginx/nginx.conf
# 重新加载配置
systemctl restart php-fpm nginx

另一个重要优化措施是使用fastcgi_cache,但是开启fastcgi缓存可能让文章更新有延迟,而且需要手动编辑不少东西,建议网站流量上来后再操作。具体可参考:使用Nginx缓存加速WordPress站点 或相关文章。

WordPress插件推荐

本节推荐一些实用/必备WordPress插件,能让WordPress运行更好。

Titan Anti-spam & Security

WordPress安装时候自带的垃圾评论过滤插件 Akismet Anti-Spam 需要申请API Key,本人推荐使用 Titan Anti-spam & Security。插件安装页面搜索“anti spam”,找到 Titan Anti-spam & Security 安装,然后开启就可以了。有了 Titan Anti-spam & Security,基本上和垃圾评论拜拜了。

WordPress Popular Posts

这是一个统计文章访问量的插件,能告诉你每天博客访问量,最受欢迎的文章。本站右侧栏的“热门文章”用的也是该插件提供的小工具。

WordPress Popular Posts统计后台

WordPress Popular Posts统计后台

WordPress Popular Posts小工具

WordPress Popular Posts小工具

安装方法:安装插件页面搜索“popular posts”,选择第一个“WordPress Popular Posts”,安装并启用。

插件设置:后台-》设置 -》WordPress Popular Posts -》Tools,建议设置如下:

WordPress Popular Posts设置

WordPress Popular Posts设置

要像本站一样在网站页面上显示热门文章,需添加小工具。具体操作是:后台-》外观-》小工具,将WordPress Popular Posts拖到侧栏,修改标题为“热门文章”,选择显示的文章数量,然后保存:

WordPress Popular Posts小工具

WordPress Popular Posts小工具

Autoptimize

想不想让你的博客运行飞快呢?最有效和成本最低的办法就是使用缓存。

Autoptimize是生成静态缓存,让博客飞速运行的缓存插件。类似的还有W3 Total Cache, WP Fastest Cache等。

安装方法:插件页面搜索“autoptimize”,然后安装和启用。

Autoptimize从三部分优化博客:JS/CSS/HTML、图像和额外,三部分推荐的设置分别如下:

JS/CSS/HTML

Autoptimize优化JS

Autoptimize优化JS

Autoptimize优化CSS

Autoptimize优化CSS

接着勾选“优化HTML代码吗?”,杂项全部打勾。

优化图像:这个比较简单,“图像”中勾选“延迟加载图像”,然后保存。

额外:勾选“删除谷歌字体?”以及“移除emojis”,保存。

有了Autoptimize,访问过一次后,大部分博客文章都能秒开了。

EWWW Image Optimizer

EWWW Image Optimizer是一款图像优化插件,能减少上传的图像体积,从而加快网页加载速度。

安装方法:插件安装页面搜索“EWWW Image Optimizer”,点击安装,然后启用。

推荐设置:后台-》设置-》EWWW Image Optimizer,勾选“Basic”里的“Remove Metadata”,然后保存。

通过简单设置,以后所有上传的图像都能自动优化,省心又实用。

如果想进一步优化,需要将图像转成新一代的webP格式,这个设置比较复杂,建议熟悉WordPress和Nginx后再操作,具体参考:WordPress使用webP格式减少图片体积

Simple Links

这个插件用来添加类似本站右侧的友情链接。

安装方法:插件安装页面搜索“simple links”,然后安装并启用。

使用方法:后台左侧菜单的Simple Links添加友情链接,然后 后台-》外观-》小工具,把Simple Links拖到侧栏合适的位置。

博客社交分享组件

这个插件可以在每篇文章下面添加点赞、分享和打赏按钮,推荐使用。

安装方法:插件安装页面搜索“博客社交分享组件”,安装并启用。

使用方法:后台-》设置-》博客社交分享组件,功能开关打开,然后选择需要的功能:

博客社交分享组件

博客社交分享组件

总结

WordPress的生态系统非常庞大,基本上你需要的许多东西在后台点点鼠标,通过安装插件和主题就能实现。本文简要介绍WordPress性能优化和推荐一些有用的WordPress插件,希望对各位WordPress新手有帮助。除了本文分享的插件,还有许多有趣/实用的插件,各位可慢慢探索。

 

 


26 条评论

头像

阿拉 · 2020年10月21日 10:14

怎么更改博客网站上传类型限制,有些文件不可以上传,很是苦恼

    威龙

    威龙 · 2020年10月21日 10:50

    这是wordpress的安全限制,你上网查查

头像

lllolll · 2020年7月19日 21:31

[[email protected] ~]# systemctl restart php-fpm nginx
Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.

运行完性能优化里那些命令之后重新加载配置就这样了,然后输入systemctl status nginx.service 显示下面这些

[[email protected] ~]# systemctl status nginx.service
● nginx.service – The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2020-07-19 20:23:58 CST; 59min ago
Process: 1321 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 1318 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)

Jul 19 20:23:58 beautiful-bliss-1.localdomain systemd[1]: Starting The nginx HTTP and reverse proxy server…
Jul 19 20:23:58 beautiful-bliss-1.localdomain nginx[1321]: nginx: [emerg] “add_header” directive is not allowed here in /etc/nginx/nginx.conf:2
Jul 19 20:23:58 beautiful-bliss-1.localdomain nginx[1321]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jul 19 20:23:58 beautiful-bliss-1.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
Jul 19 20:23:58 beautiful-bliss-1.localdomain systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Jul 19 20:23:58 beautiful-bliss-1.localdomain systemd[1]: Unit nginx.service entered failed state.
Jul 19 20:23:58 beautiful-bliss-1.localdomain systemd[1]: nginx.service failed.

    跳越者

    跳越者 · 2020年7月19日 21:36

    sed -i ‘/add_header/d’ /etc/nginx/nginx.conf,然后重启nginx试试

头像

lee · 2020年7月17日 15:37

[[email protected] ~]# systemctl status nginx
● nginx.service – The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-07-17 15:26:30 CST; 5min ago
Process: 22521 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 23124 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 23122 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 22528 (code=exited, status=0/SUCCESS)

Jul 17 15:26:30 famous-unicorns-1.localdomain systemd[1]: Starting The nginx HTTP and reverse p…..
Jul 17 15:26:30 famous-unicorns-1.localdomain nginx[23124]: nginx: [emerg] “add_header” directiv…2
Jul 17 15:26:30 famous-unicorns-1.localdomain nginx[23124]: nginx: configuration file /etc/nginx…d
Jul 17 15:26:30 famous-unicorns-1.localdomain systemd[1]: nginx.service: control process exited…=1
Jul 17 15:26:30 famous-unicorns-1.localdomain systemd[1]: Failed to start The nginx HTTP and re…r.
Jul 17 15:26:30 famous-unicorns-1.localdomain systemd[1]: Unit nginx.service entered failed state.
Jul 17 15:26:30 famous-unicorns-1.localdomain systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

现在导致 NGINX 都无法启动了。这怎么修改

    跳越者

    跳越者 · 2020年7月17日 16:09

    nginx -t,看看输出什么

头像

lee · 2020年7月17日 15:15

[[email protected] ~]# sed -i “${line}a add_header X-XSS-Protection “1; mode=block”;” /etc/nginx/nginx.conf
sed: no input files
-bash: /etc/nginx/nginx.conf: Permission denied

运行到最后一条命令的时候提示 没有输入文件和拒绝访问了。

    跳越者

    跳越者 · 2020年7月17日 16:08

    最后一个是我的命令写错了,不用管

头像

nm · 2020年5月24日 18:40

大佬 WordPress总是提示建立数据库连接时出错该怎么办啊

    跳越者

    跳越者 · 2020年5月24日 18:51

    mysql没有启动或者数据库没有创建好

      头像

      nm · 2020年5月24日 19:49

      每次都是正常运行的时候出错 但是只要重启就能恢复 是不是机器的512M内存太小了的原因

        跳越者

        跳越者 · 2020年5月24日 20:44

        有可能

头像

bar · 2020年5月23日 10:19

你好 能否单独出一期手动搭建wordpress的教程呢? 谢谢

    跳越者

    跳越者 · 2020年5月23日 10:19

    嗯,有空出吧

头像

Jstzjgsc · 2020年5月23日 02:43

你好。我在wordpress里自定义好一个主题后,点击“发布”,但是那个按钮却自动转成了“计划”。当时我没在意,就又改成“发布”然后点击了。结果之后如果再想打开自定义面板,就会转到一个标签为“WordPress错误”的网页,提示“您计划的修改刚才发布了”,以及一个超链接“定制器全新变化”(这个超链接点了加载出来依然是这个网页)。总之无法进入自定义面板。
后来我在po文章的时候发现,可能是因为我用的服务器是法国的,但是本地时间没有改成欧洲中部时间,导致po不出去文章。因此我猜测,可能是一开始我没改时间,导致自定义好的主题无法正常发布。我本以为只要等6个小时等时差到了就行了,但是到现在依然是无法打开自定义面板。
求助一下,请问这个是发生了什么事情了呢?

    跳越者

    跳越者 · 2020年5月23日 07:45

    没太搞懂,到论坛发个截图吧

      头像

      Jstzjgsc · 2020年5月23日 13:10

      谢谢,已经没事了,果然要等时差走完才行(lll¬ω¬)

头像

wf · 2020年5月13日 10:00

sed -i ‘${line}a client_max_body_size 200m;’ /etc/nginx/nginx.conf 运行出错。

sed: -e expression #1, char 4: extra characters after command

    头像

    wf · 2020年5月13日 10:11

    sed -i ”${line}’a client_max_body_size 200m;’ /etc/nginx/nginx.conf

      头像

      wf · 2020年5月13日 10:22

      sed -i “${line}a add_header X-XSS-Protection “1; mode=block”;” /etc/nginx/nginx.conf
      这个命令也漏了符号。
      sed -i “${line}a add_header X-XSS-Protection \”1; mode=block\”;” /etc/nginx/nginx.conf

      文章写的很好,这两天从v2ray到wp文章的逐个命令敲了学习下,里面还是有不少小毛病的,对于有经验的好解决,小白们会被劝退的。

    跳越者

    跳越者 · 2020年5月13日 10:38

    双引号

头像

skyell · 2020年5月7日 19:03

执行脚本提示add_header: command not found
wordpress_blog.sh: line 16: add_header: command not found
wordpress_blog.sh: line 17: add_header: command not found
wordpress_blog.sh: line 18: add_header: command not found

    跳越者

    跳越者 · 2020年5月7日 19:21

    抱歉,命令写错了,目前已经改过来了,这几行执行不成功也不影响

      头像

      skyell · 2020年5月7日 20:24

      谢谢

头像

bruce · 2020年5月2日 19:14

# 安装opcache模块,加快代码执行
yum install -y php-opache
这里应该是yum install -y php-opcache

头像

bruce · 2020年5月2日 19:13

# 安装opcache模块,加快代码执行
yum install -y php-opache
这里应该是 yum install -y php-opcache

发表评论

电子邮件地址不会被公开。 必填项已用*标注