个性化阅读
专注于IT技术分析

14个无需插件即可完成的WordPress性能优化

本文概述

当涉及到网站性能时, 每个字节和毫秒都在计数。

WordPress核心并不繁琐, 但是你使用的主题, 插件可能会减慢整个页面的加载时间。有很多技术可以加快WordPress网站的速度。

例如:

  • 使用CDN(内容交付网络)
  • 利用浏览器和服务器缓存
  • 在性能优化的服务器上托管
  • 使用轻量级主题

但是, 你是否知道WordPress核心中包含很多东西, 你可能不使用它, 并且对它们采取必要的措施可能会减少一些字节, 以便更快地加载网站。

以下两种方法可以完成, 一种是通过使用一些插件, 另一种是在functions.php中添加几行代码。如果可以通过在代码中添加/修改代码来完成操作, 我不希望使用插件。现有文件。

最佳实践

备份要修改的相应文件, 以防出现问题。你可以快速回滚。

除非另外指定, 否则以下所有要添加到functions.php中的代码。

优化清单

  • 删除查询字符串
  • 删除RSD链接
  • 禁用表情符号
  • 删除短链接
  • 禁用嵌入
  • 禁用XML-RPC
  • 隐藏WordPress版本
  • 删除WLManifest链接
  • 删除JQuery迁移
  • 禁用自我回传
  • 禁用或限制发布修订
  • 禁用心跳
  • 在前端禁用Dashicon
  • 禁用联系表7 JS / CSS

删除查询字符串

如果你已经分析了网站的加载时间, 则可能会遇到一条建议, 从静态资源(CSS, JS文件)中消除查询字符串。

14个无需插件即可完成的WordPress性能优化2

在文件中包含查询字符串可能会导致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(真正简单发现)。但是, 如果你不需要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开始, WordPress在标头代码中添加了shortlink(网页地址的较短链接)。例如:

<link rel='shortlink' href='https://geekflare.com/?p=187' />

如果未对任何功能使用短链接, 则可以通过以下添加将其删除。

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

禁用嵌入

WordPress在4.4中引入了oEmbed功能, 该功能允许任何站点远程嵌入WordPress帖子, 看起来像这样。

14个无需插件即可完成的WordPress性能优化4

通过添加以下代码, 它将防止其他人嵌入你的博客文章并禁用加载相关的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版本

这对性能没有帮助, 反而可以缓解信息泄漏漏洞。默认情况下, WordPress添加带有名称详细信息的元名称生成器, 该详细信息在源代码和HTTP标头中可见。

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

remove_action( 'wp_head', 'wp_generator' ) ;

删除WLManifest链接

你是否在Windows live writer中使用标记支持?如果没有删除, 请在下面添加。

remove_action( 'wp_head', 'wlwmanifest_link' ) ;

删除JQuery迁移

WordPress从版本3.6添加了JQuery迁移。如果你使用的是最新版本的JQuery, 并且主题/插件与之兼容, 则不需要这样做。要从加载中删除jquery-migrate.min.js, 请添加以下代码。

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

禁用自我回传

我不知道你为什么需要博客文章中的自动回复详细信息, 我知道这不仅使我烦恼。如果你也是, 那么下面的代码将有所帮助。

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将为每个草稿或发布的帖子保存修订, 这会使数据库the肿。你可以选择完全禁用它, 也可以限制要保存的修订版本数。

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

禁用帖子修订

define('WP_POST_REVISIONS', false);

限制数量

假设最多保留两个修订版本

define('WP_POST_REVISIONS', 2);

注意:此位置必须在ABSPATH行上方, 否则将无效。

禁用心跳

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

如果你不需要使用心跳API, 则可以通过在下面添加来禁用它。

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

在前端禁用Dashicon

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

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

禁用联系表7 JS / CSS

使用Contact Form 7并注意到他们的CSS / JavaScript文件正在每一页上加载吗?那么, 你并不孤单。

好消息是你可以停止使用以下代码加载它。

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

总结

上面的内容将有助于减少一些HTTP请求和整个页面的大小。所有代码都可以在Github上找到。如果你正在寻找高级缓存和性能优化插件, 请查看WP Rocket。

赞(0)
未经允许不得转载:srcmini » 14个无需插件即可完成的WordPress性能优化

评论 抢沙发

评论前必须登录!