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

本文概述

  • 删除查询字符串
  • 删除RSD链接
  • 禁用表情符号
  • 删除短链接
  • 禁用嵌入
  • 禁用XML-RPC
  • 隐藏WordPress版本
  • 删除WLManifest链接
  • 删除JQuery迁移
  • 禁用自我回传
  • 禁用或限制发布修订
  • 禁用心跳
  • 在前端禁用Dashicon
  • 禁用联系表7 JS / CSS
当涉及到网站性能时, 每个字节和毫秒都在计数。
WordPress核心并不繁琐, 但是你使用的主题, 插件可能会减慢整个页面的加载时间。有很多技术可以加快WordPress网站的速度。
例如:
  • 使用CDN(内容交付网络)
  • 利用浏览器和服务器缓存
  • 在性能优化的服务器上托管
  • 使用轻量级主题
但是, 你是否知道WordPress核心中包含很多东西, 你可能不使用它, 并且对它们采取必要的措施可能会减少一些字节, 以便更快地加载网站。
以下两种方法可以完成, 一种是通过使用一些插件, 另一种是在functions.php中添加几行代码。如果可以通过在代码中添加/修改代码来完成操作, 我不希望使用插件。现有文件。
最佳实践
【14个无需插件即可完成的WordPress性能优化】备份要修改的相应文件, 以防出现问题。你可以快速回滚。
除非另外指定, 否则以下所有要添加到functions.php中的代码。
优化清单
  • 删除查询字符串
  • 删除RSD链接
  • 禁用表情符号
  • 删除短链接
  • 禁用嵌入
  • 禁用XML-RPC
  • 隐藏WordPress版本
  • 删除WLManifest链接
  • 删除JQuery迁移
  • 禁用自我回传
  • 禁用或限制发布修订
  • 禁用心跳
  • 在前端禁用Dashicon
  • 禁用联系表7 JS / CSS
删除查询字符串 如果你已经分析了网站的加载时间, 则可能会遇到一条建议, 从静态资源(CSS, JS文件)中消除查询字符串。
14个无需插件即可完成的WordPress性能优化

文章图片
在文件中包含查询字符串可能会导致CDN不缓存文件。因此, 你可能无法利用提供的所有缓存优势。
要删除查询字符串, 请添加以下代码。
function remove_cssjs_ver( $src ) {if( strpos( $src, '?ver=' ) ) $src = http://www.srcmini.com/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性能优化

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

    推荐阅读