导航

遇见美好的明天,书写最棒的故事~

侧边栏
最新评论
北熙宝宝@Hikurn_Xi
2024-08-11 17:33
@广树:(╯‵□′)╯︵┴─┴
松鼠大大
2024-08-10 17:39
😂惨兮兮北熙,╮( •́ω•̀ )╭
广树
2024-08-10 17:08
下一步,进入腾讯域名黑名单
北熙宝宝@Hikurn_Xi
2024-07-29 13:31
@寒寒:那你考虑过cloudflare的网络情况么?很大的话获取到一半超时获取失败...另外在目前的情况下,我觉得不支持webp的设备和终端软件都可以被淘汰了,不应该我去做向下兼容,也不在我的网站的服务群体内。【兼容性参照: https://caniuse.com/webp,除去IE和很久的,基本都兼容了】
寒寒
2024-07-29 13:17
不过话说…… 既然都用CF了,OSS的出口流量只要配置了CF代理就是免费的呀…还在乎什么流量 寒寒相比起来,还是更在意webp的兼容性 所以就算用webp也最好有一个png/jpg fallback
寒寒
2024-07-29 13:14
恭喜北熙宝宝~~ 终于搞定了吗?
北熙宝宝@Hikurn_Xi
2024-07-23 20:53
@小满1221:欢迎来到女子寮!你的标准房开好了~请入住~
北熙宝宝@Hikurn_Xi
2024-07-23 20:47
@小满1221:|´・ω・)ノ我就用了一点点itdog的那个屏蔽测速脚本
小满1221
2024-07-23 11:04
我解决了,没事儿了
小满1221
2024-07-23 10:47
我去佬,我把我自己博客快速测试测死力,负载4000%多,求教程(´இ皿இ`)
谷歌广告

尝试优化WordPress网站的速度(前端+后台)

作者:北熙宝宝@Hikurn_Xi时间:2021-08-28 10:52:00

首先是服务器端的优化

因为我用的博客,以宝塔为例
部分优化由第三方提供,实验之后发布。

在创建站点之前,我们需要根据自己的条件进行一些配置,这可以让以后的站点运行更稳定!

前期准备:

安装宝塔Linux面板,安装Linux工具箱,安装LNMP或LAMP环境

具体优化设置步骤

1、添加计划任务,定期释放内存,建议设置每天释放一次,执行时机为半夜,如:3:30

2、打开Linux工具箱添加Swap

Swap推荐值:

物理内存         Swap

512M              1024M

1GB                1500M

2GB                2048M

4GB                4096M

6GB+             4096M

3、安装PHP缓存扩展,根据即将部署的站点需求,尽量使用更高的PHP版本,另外缓存安装建议如下:

脚本缓存:xcache、opcache 任选一项安装,PHP5.2-5.4建议使用xcache,PHP5.5以上建议使用opcache

内容缓存:若程序支持,建议优先顺序如下: redis > apc > memcached > memcache

注意:内容缓存和脚本缓存,都各只安装一个,不要安装多个!

4、若程序支持,尽量使用imagemagick代替PHP自带GD,以提升性能

5、若程序支持,尽量安装fileinfo、exif扩展,以提升站点性能和安全性

6、若确定您的程序不需要,尽量不要安装ZendGuardLoader,ioncube解密扩展

7、若您的程序不需要PATH_INFO,请把它关闭

8、PHP并发调整建议:

CPU/内存          单站点               多站点

1H/512M          20-30                10-20

1H/1G              30-50                 20-30

2H/2G              50-80                 30-50

2H/4G              60-100               30-50

4H/4G              100-150             30-80

4H/8G              100-200             30-80

6H/6G              100-200             30-80

8H/8G              100-300             50-100

8H/16G            100-300             100-150

16H/16G          100-300             100-150

注1:容易受到CC攻击的站点使用的PHP版本,尽量不要设置过高的并发,以免服务器被打死

注2:VPS性能参差不齐,以上建议仅供参考,请根据实际使用效果自行调整

注3:不建议设置超过300并发上限,哪怕您的服务器性能足够好;若发现并发不够用,请尝试优化站点数据库缓存可能更有效

9、MySQL数据库版本建议:

CPU/内存            数据库

1H/512M             MySQL5.1

1H/1G                 MySQL5.1/5.5

2H/2G                 MySQL5.1/5.5

2H/4G                 MySQL5.5/5.6

4H/4G+               MySQL5.5/5.6/5.7

上述文章来源 宝塔官方运维团队 亮哥的文章:https://www.bt.cn/bbs/thread-3117-1-1.html

【可选】wordpress 环境设置"在宝塔上的wordpress的站点设置中设置,访问限制,添加"wp-content/uploads"目录,设置为禁止执行"php|jsp"

禁用wordpress API

在将下面代码添加到主题functions.php文件中:

// 彻底关闭自动更新
add_filter('automatic_updater_disabled', '__return_true');
// 关闭更新检查定时作业
remove_action('init', 'wp_schedule_update_checks');
// 移除已有的版本检查定时作业
wp_clear_scheduled_hook('wp_version_check');
// 移除已有的插件更新定时作业
wp_clear_scheduled_hook('wp_update_plugins');
// 移除已有的主题更新定时作业
wp_clear_scheduled_hook('wp_update_themes');
// 移除已有的自动更新定时作业
wp_clear_scheduled_hook('wp_maybe_auto_update');
// 移除后台内核更新检查
remove_action( 'admin_init', '_maybe_update_core' );
// 移除后台插件更新检查
remove_action( 'load-plugins.php', 'wp_update_plugins' );
remove_action( 'load-update.php', 'wp_update_plugins' );
remove_action( 'load-update-core.php', 'wp_update_plugins' );
remove_action( 'admin_init', '_maybe_update_plugins' );
// 移除后台主题更新检查
remove_action( 'load-themes.php', 'wp_update_themes' );
remove_action( 'load-update.php', 'wp_update_themes' );
remove_action( 'load-update-core.php', 'wp_update_themes' );
remove_action( 'admin_init', '_maybe_update_themes' );

禁用谷歌字体

在将下面代码添加到主题functions.php文件中:

// 关闭谷歌字体
function xintheme_remove_gutenberg_styles($translation, $text, $context, $domain)
{
if($context != 'Google Font Name and Variants' || $text != 'Noto Serif:400,400i,700,700i') {
return $translation;
}
return 'off';
}

替换Gravatar头像

有朋友问我还有哪些稳定的 Gravatar 镜像地址,下面这些都是我收集的相对比较稳定的镜像:

站点地址
极客族https://sdn.geekzu.org/avatar/
lolihttps://gravatar.loli.net/avatar/
inwaohttps://gravatar.inwao.com/avatar/

安装wp super cache插件

其他

屏蔽reset api

在将下面代码添加到主题functions.php文件中:

// 屏蔽 REST API
remove_action('init',   'rest_api_init' );
remove_action('rest_api_init', 'rest_api_default_filters', 10 );
remove_action('parse_request', 'rest_api_loaded' );
add_filter('rest_enabled',  '__return_false');
add_filter('rest_jsonp_enabled','__return_false');
// 移除头部 wp-json 标签和 HTTP header 中的 link 
remove_action('wp_head',   'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11);
remove_action('xmlrpc_rsd_apis', 'rest_output_rsd');
remove_action('auth_cookie_malformed',  'rest_cookie_collect_status');
remove_action('auth_cookie_expired',  'rest_cookie_collect_status');
remove_action('auth_cookie_bad_username', 'rest_cookie_collect_status');
remove_action('auth_cookie_bad_hash',  'rest_cookie_collect_status');
remove_action('auth_cookie_valid',   'rest_cookie_collect_status');
remove_filter('rest_authentication_errors', 'rest_cookie_check_errors', 100 );`
```
### 移出后台帮助内容
在将下面代码添加到主题functions.php文件中:
```php
`// 移除后台界面右上角的帮助
add_action('in_admin_header', function(){
	global $current_screen;
	$current_screen->remove_help_tabs();
});

移出后台右上角的选项

在将下面代码添加到主题functions.php文件中:

// 移除后台界面右上角的选项
add_action('in_admin_header', function(){
add_filter('screen_options_show_screen', '__return_false');
add_filter('hidden_columns', '__return_empty_array');
});

屏蔽站点Feed

在将下面代码添加到主题functions.php文件中:

// 屏蔽站点Feed
function wpjam_feed_disabled() {
wp_die('Feed已经关闭, 请访问网站首页!');
}
add_action('do_feed',		'wpjam_feed_disabled', 1);
add_action('do_feed_rdf',	'wpjam_feed_disabled', 1);
add_action('do_feed_rss',	'wpjam_feed_disabled', 1);
add_action('do_feed_rss2',	'wpjam_feed_disabled', 1);
add_action('do_feed_atom',	'wpjam_feed_disabled', 1);