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