WordPress移除head头部不必要的标签和链接方法

大家在使用WordPress建站时会借助wp_head在页面头部输出一些内容,然而一些标签和链接是不需要的,比如WordPress版本号、上下篇文章链接和其他一些 Meta元素。本文将为大家介绍下WordPress移除head头部不必要的标签和链接方法,从而可以更好地优化网站头部。

1、移除WordPress版本信息

WordPress自动添加版本号信息,在head区域可以看到:

<meta name=”generator” content=”WordPress 5.8.2″>

版本号是默认添加的,但是容易被利用攻击特定版本的WordPress漏洞。

移除代码如下:

//移除WordPress版本信息
remove_action( 'wp_head', 'wp_generator' );

2、去除加载的 css 和 js 后面的版本号

//去除加载的 css 和 js 后面的版本号:
function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'pre_option_link_manager_enabled', '__return_true' );

3、移除Windows Live Writer

Windows Live Writer在head区域输出如下:

<link rel=”wlwmanifest” type=”application/wlwmanifest+xml” href=”http://example.com/wp-includes/wlwmanifest.xml” />

移除代码:

remove_action('wp_head', 'wlwmanifest_link');

4、去除 wp-embed 功能,加快网页打开速度

//去除 wp-embed 功能,加快网页打开速度:
remove_action('rest_api_init', 'wp_oembed_register_route');
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4);
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10 );
remove_filter('oembed_response_data', 'get_oembed_response_data_rich', 10, 4);
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');

5、替换 WordPress jquery 源为 loli.net,加快网页打开速度

add_action( 'init', 'jquery_register' );
function jquery_register() {
if ( !is_admin() ) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', ( 'https://cdnjs.loli.net/ajax/libs/jquery/1.12.4/jquery.min.js' ), false, null, true );
wp_enqueue_script( 'jquery' );
}
}

6、移除Really Simple Discovery

Really Simple Discovery在head区域可以看到:

<link rel=”wlwmanifest” type=”application/wlwmanifest+xml” href=”http://example.com/wp-includes/wlwmanifest.xml”>

移除代码:

remove_action( 'wp_head', 'rsd_link' );

7、移除shortlink标签

在WordPress 3.0开始,即使已经设定了永久链接,但是在文章页面标签内还是会出现一个shortlink标签,如果不想搜索引擎抓取 “/?p=” 的网址,那么head头部里短网址标签一并移除吧。

移除代码:

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect','wp_shortlink_header',11,0);

8、移除feed

HTML中通过<link rel=”alternate” type=”application/rss+xml” title=”feed名” href=”http://xxx.com/feed/” />来指定博客feed。当网站发布新内容时可以让浏览器发现并提醒已订阅用户,如果不想添加feed那就删除它。

移除代码:

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect','wp_shortlink_header',11,0);

9、移除WordPress头部加载DNS预获取(dns-prefetch)

在head可以看到:

<link rel=”dns-prefetch” href=”//s.w.org”>

移除代码:

function remove_dns_prefetch( $hints, $relation_type ) {

if ( 'dns-prefetch' === $relation_type ) {
return array_diff( wp_dependencies_unique_hosts(), $hints );
}
return $hints;
}
add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 );

10、移除wp-json链接

在head可以看到

<link rel=”https://api.w.org/” href=”http://wordpress.cc/wp-json/”>

移除代码:

remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );

【AD】DMIT:补货洛杉矶三网CN2 GIA和三网CMIN2套餐,$36.9/年起,1核/1G内存/ 20G SSD/500Mbps@500GB

【AD】美国洛杉矶/香港/日本VPS推荐,回程电信CN2 GIA线路,延迟低、稳定性高、免费备份_搬瓦工