因为我们的WordPress个人网站选用的服务器配置不高,为了给用户更好的访问体验,除了之前采取的防护措施外,我们还需从内出发,进一步优化我们的网站,使其拥有更快的响应速度。
本文主要写谷歌字体、Gravatar头像、国外前端公共库CDN加速,禁用WordPress自带Emoji,这四项优化。
如果你使用的是国内开发者写的WordPress中文主题,大概率不用做这四项优化,因为众所周知的原因,咱们国内用户使用不了很多海外互联网大厂的产品,所以为了能让主题加载更快,给用户更好的体验,面向国内用户的主题几乎都会做这四项优化。
判断你的主题是否进行了优化
判断谷歌字体、Gravatar头像是否优化,是否已禁用自带Emoji
Nano 打开你当前主题的functions.php
文件进行查看:
nano /root/my_website/wordpress/html/wp-content/themes/你的主题名/functions.php
Nano 中打开文件后,你可以同时按 CTRL + W
键启动搜索功能,这将在屏幕底部显示搜索提示符,然后分别搜索关键词:google,gravatar,emoji。
-
使用 nano 打开文件 -
按 CTRL + W
或者F6
-
输入搜索关键字 -
回车进行搜索 -
再次按 CTRL + W
可以进行下一次搜索
如果能搜索到相关代码,将代码发给AI,让AI给解释代码含义(google对应谷歌字体,gravatar对应Gravatar头像,emoji对应wordpress自带的emoji功能,一般能搜索到就是主题对相应项目进行了优化),判断是否为优化代码。如果搜索不到,那大概率是没有优化。
判断是否使用国外前端公共库CDN
很多网站和 WordPress 主题/插件,都会用到一些非常流行的、开源的前端框架或库,比如:
-
jQuery: 一个经典的 JavaScript 库。 -
Bootstrap: 一套用于快速搭建响应式页面的 CSS/JS 框架。 -
Font Awesome: 一套非常流行的图标字体库。 -
Vue.js, React: 现代 JavaScript 框架。
这些库的文件通常都比较大。为了加快加载速度,开发者们不会把这些文件都打包在自己的主题里,而是选择从一些公共的、免费的 CDN (内容分发网络) 上加载。这些 CDN 就被称为前端公共库 CDN。
常见的国外前端公共库 CDN:cdn.jsdelivr.net、cdnjs.cloudflare.com、unpkg.com
问题就出在这里: 这些国外的 CDN 在国内的访问速度可能非常不稳定,有时甚至会被屏蔽,成为新的性能瓶颈。
打开你的网站,右键 → 查看网页源代码,再按CTRL + F
,依次搜索:cdn.jsdelivr.net
cdnjs.cloudflare.com
unpkg.com
如果有这些外链,说明用了使用了对应的国外前端公共库CDN,我们需要对其进行优化。
网站速度优化
谷歌字体、Gravatar头像、国外前端公共库CDN优化
谷歌字体、Gravatar头像、国外前端公共库CDN这三项优化,本质都是一样的,即国外的产品在国内访问速度不稳定,我们需要对其进行加速,加速方法我决定统一采用镜像替换的方法,通过在主题的 functions.php 文件中添加代码来实现。
登录服务器,打开网站当前主题的functions.php
文件进行编辑。
nano /root/my_website/wordpress/html/wp-content/themes/你的主题名/functions.php
在functions.php
文件的末尾,添加以下代码(注意:代码里的镜像网址都是我搜索得来的,不一定是响应速度最快的,如果你找到更好的,也可以用你自己找到的):
/**
* 优化:将 Google Fonts 替换为国内镜像 (fonts.font.im)
* 作用:解决因 Google 服务器被屏蔽导致的网站加载缓慢问题。
*/
add_filter( 'style_loader_src', function( $src ) {
if ( strpos( $src, 'fonts.googleapis.com' ) ) {
// 将原始的 Google Fonts URL 替换为国内镜像 URL
$src = str_replace( 'fonts.googleapis.com', 'fonts.font.im', $src );
}
return $src;
});
/**
* 优化:将 Gravatar 头像源替换为国内镜像 (cravatar.cn)
* 作用:解决头像加载缓慢或无法显示的问题。
*/
add_filter( 'get_avatar_url', function( $url ) {
// 检查 URL 是否包含 Gravatar 的域名
if ( strpos( $url, 'gravatar.com' ) ) {
// 将 Gravatar 域名替换为 cravatar.cn
$url = str_replace( 'secure.gravatar.com', 'cn.cravatar.com', $url );
$url = str_replace( 'www.gravatar.com', 'cn.cravatar.com', $url );
$url = str_replace( 'gravatar.com', 'cn.cravatar.com', $url );
}
return $url;
});
/**
* 优化:将海外前端公共库CDN(假设使用了:cdnjs.cloudflare.com) 替换为国内镜像:s4.zstatic.net
* 作用:解决因海外 CDN 不稳定导致的 JS/CSS 加载失败或缓慢问题。
*/
add_filter( 'script_loader_src', 'replace_public_library_cdn_js', 9999 );
add_filter( 'style_loader_src', 'replace_public_library_cdn_css', 9999 );
// 选择一个国内镜像源
define('MY_CDN_REPLACE_HOST', 's4.zstatic.net');
// 处理 JS 文件
function replace_public_library_cdn_js( $src ) {
$hosts_to_replace = [
'cdnjs.cloudflare.com',
];
foreach ( $hosts_to_replace as $host ) {
if ( strpos( $src, $host ) ) {
$src = str_replace( $host, MY_CDN_REPLACE_HOST, $src );
}
}
return $src;
}
// 处理 CSS 文件 (代码与 JS 的一样,只是挂载的钩子不同)
function replace_public_library_cdn_css( $src ) {
return replace_public_library_cdn_js( $src );
}
禁用WordPress自带Emoji
WordPress 为了让老旧的浏览器也能显示 Emoji 表情,会默认加载一个wp-emoji-release.min.js
脚本。这个脚本对于现代浏览器来说是完全多余的,而且会产生一次额外的 HTTP 请求。
操作: 在 functions.php 中添加禁用代码:
/**
* 优化:禁用 WordPress 自带的 Emoji 功能
* 作用:减少不必要的 HTTP 请求,轻微提升性能。
*/
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
好了,如果你的WordPress网站因上述原因导致卡慢,那么经过上面所有优化后,网站打开速度应该有显著提升。
未经允许不得转载:无花果 » WordPress网站速度优化(一):谷歌字体、Gravatar头像、前端公共库加速,禁用自带Emoji