14个无需插件的WordPress性能优化措施

当谈到网站性能时,每个字节和毫秒都很重要。

WordPress核心并不沉重,但您使用的主题和插件可能会降低整体速度。有很多技术可以加速您的WordPress网站。

例如:

  • 使用内容分发网络(CDN)
  • 利用浏览器和服务器缓存
  • 在上进行托管
  • 使用轻量级主题

然而,您是否知道WordPress核心中包含许多您可能不使用的内容,对它们采取必要的操作可以减少一些字节以更快地加载网站。

以下操作可以通过两种方式完成,一种是使用插件,另一种是在现有文件的functions.php中添加几行代码。如果可以通过添加/修改代码来完成工作,我更倾向于不使用插件。

最佳实践

备份您要修改的相应文件,以防发生意外情况;您可以快速回滚。

以下所有代码都应该添加到functions.php中,除非另有说明。

删除查询字符串

如果您已经分析了您的网站,那么您可能会看到删除静态资源(CSS、JS文件)中的查询字符串的推荐。

文件中包含查询字符串可能导致CDN不缓存文件,因此您可能无法利用提供的所有缓存优势。

要删除查询字符串,请添加以下代码。

function remove_cssjs_ver( $src ) {
if( strpos( $src, '?ver=' ) )
 $src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );

删除RSD链接

如果您打算使用XML-RPC客户端、pingback等,那么需要RSD(Really Simple Discovery)。但是,如果您不需要pingback或远程客户端管理帖子,则添加以下代码以摆脱这个不必要的头文件。

remove_action( 'wp_head', 'rsd_link' ) ;

禁用表情符号

从最近添加的支持旧版浏览器的表情符号开始,从WordPress中删除与表情符号相关的额外代码。

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );

删除短链接

从3.x版本开始,WordPress在头部代码中添加了短链接(网页地址的较短链接)。例如:


如果不使用短链接进行任何功能,则可以通过添加以下内容将其删除。

remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);

禁用嵌入

WordPress在4.4中引入了oEmbed功能,允许任何站点远程嵌入WordPress帖子,效果如下:

通过添加以下代码,将阻止其他人嵌入您的博客帖子,并禁用加载相关的JS文件。

function disable_embed(){
wp_dequeue_script( 'wp-embed' );
}
add_action( 'wp_footer', 'disable_embed' );

禁用XML-RPC

您是否有使用WordPress API(XML-RPC)发布/编辑/删除帖子、编辑/列出评论、上传文件的需求?而且启用XML-RPC并没有得到适当的加固可能会导致DDoS和。

如果您不需要,则通过添加以下内容禁用它。

add_filter('xmlrpc_enabled', '__return_false');

隐藏WordPress版本

这不会提高性能,而是更多地用于缓解链接_5的问题。默认情况下,WordPress会添加一个带有版本详细信息的meta名称生成器,该信息在源代码和链接_6中可见。

要删除WP版本,请添加以下代码。

remove_action('wp_head','wp_generator'); 

删除WLManifest链接

您是否使用Windows Live Writer的标签支持?如果没有,请添加以下代码来删除它。

remove_action('wp_head','wlwmanifest_link'); 

删除JQuery Migrate

WordPress从版本3.6开始添加了JQuery迁移。如果您正在使用最新版本的JQuery,并且主题/插件与之兼容,则不需要此功能。要删除加载jquery-migrate.min.js,请添加以下代码。

function deregister_qjuery(){
如果(!is_admin()){
wp_deregister_script('jquery');
}
}
add_action('wp_enqueue_scripts','deregister_qjuery'); 

禁用自动Pingback

我不知道为什么您需要在博客文章中添加自我pingback的详细信息,我知道不只是我感到烦恼。如果您也是这样,那么以下代码将有所帮助。

function disable_pingback(&$links){
foreach($links as $l => $link)
if(0 === strpos($link,get_option('home')))
unset($links [$l]);
}
add_action('pre_ping','disable_pingback'); 

禁用或限制文章修订

WordPress中的文章修订并非新功能,对于恢复文章如果浏览器崩溃或丢失网络是有帮助的。但是问问自己,这种情况发生多少次?

默认情况下,WordPress将为每个草稿或已发布的文章保存修订版本,这可能会使数据库膨胀。您可以选择完全禁用它,或限制要保存的修订版本数量。

wp-config.php文件中添加以下内容

禁用文章修订

define('WP_POST_REVISIONS',false); 

限制数量

假设限制最多保存两个修订版本

define('WP_POST_REVISIONS',2); 

注意:此代码必须放在ABSPATH行之上,否则无法正常工作。

禁用Heartbeat

WordPress使用心跳API通过频繁调用admin-ajax.php在浏览器和服务器之间进行通信。如果使用共享主机,则可能会降低整体页面加载时间并增加CPU利用率。

如果您不需要使用心跳API,则可以通过添加以下内容来禁用它。

add_action('init','stop_heartbeat',1);
function stop_heartbeat(){
wp_deregister_script('heartbeat');
} 

在前端禁用Dashicons

Dashicons在管理控制台中使用,如果没有在前端加载任何图标,则可以禁用它。通过添加以下内容,dashicons.min.css将停止在前端加载。

function wpdocs_dequeue_dashicon(){
if(current_user_can('update_core')){
返回;
}
wp_deregister_style('dashicons');
}
add_action('wp_enqueue_scripts','wpdocs_dequeue_dashicon'); 

禁用Contact Form 7的JS / CSS

使用Contact Form 7并且注意到它们的CSS / JavaScript文件在每个页面上加载?好消息是您可以通过以下代码停止加载它。

add_filter('wpcf7_load_js','__return_false');
add_filter('wpcf7_load_css','__return_false'); 

结束语

以上代码将有助于减少一些HTTP请求和页面大小。所有代码都可以在链接_7上找到。如果您正在寻找高级缓存和性能优化插件,请查看链接_8。

类似文章