半夏凉歌   还在忙吗,别忘了给自己一个微笑。   2022-06-28

喜欢折腾wordpress的朋友肯定会发现在wordpress的头部会载入一大堆的代码、js和css文件,这样会严重影响网站的载入速度,而且在这些载入的代码中还泄露了当前使用的wordpress的版本号,平时暴露了版本号号肯定没什么,但是当wordpress爆出0day的时候,黑客就可以通过wordpress头部暴露的版本号来快速的确认当前wordpress的版本从而进行攻击,所以移除wordpress的头部多余信息是非常重要的。那么如何来移除呢?很多朋友肯定直接打开header.php来除去这些多余代码,但是却找不到这些代码。那么这些代码到底在哪里呢?其实这些代码都是通过wp_head()这个钩子挂载进来了,如果直接去除掉这个钩子的会造成很多插件无法正常使用,所以我们要去除这些多余代码只能通过在functions.php文件中添加一些代码来禁止wp_head()钩子中载入我们所不需要的代码了。

<?php
remove_action( 'wp_head', 'wp_enqueue_scripts', 1 ); //Javascript的调用
remove_action( 'wp_head', 'feed_links', 2 ); //移除feed
remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除feed
remove_action( 'wp_head', 'rsd_link' ); //移除离线编辑器开放接口
remove_action( 'wp_head', 'wlwmanifest_link' );  //移除离线编辑器开放接口
remove_action( 'wp_head', 'index_rel_link' );//去除本页唯一链接信息
remove_action('wp_head', 'parent_post_rel_link', 10, 0 );//清除前后文信息
remove_action('wp_head', 'start_post_rel_link', 10, 0 );//清除前后文信息
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'locale_stylesheet' );
remove_action('publish_future_post','check_and_publish_future_post',10, 1 );
remove_action( 'wp_head', 'noindex', 1 );
remove_action( 'wp_head', 'wp_print_styles', 8 );//载入css
remove_action( 'wp_head', 'wp_print_head_scripts', 9 );
remove_action( 'wp_head', 'wp_generator' ); //移除WordPress版本
remove_action( 'wp_head', 'rel_canonical' );
remove_action( 'wp_footer', 'wp_print_footer_scripts' );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
add_action('widgets_init', 'my_remove_recent_comments_style');
function my_remove_recent_comments_style() {
global $wp_widget_factory;
remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'] ,'recent_comments_style'));
}
?>

以上大部分代码的作用都用注释标注出来了,需要保留那些,你们可以根据自己的要求来注释掉,好了,至此wordpress头部的瘦身减肥就完成了,网站速度是不是快了很多呢?