5

wordpress移除header头部无用标签和链接

 3 years ago
source link: http://www.yzipi.com/74.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

因为Wordpress模板基本都需要调用到wp_head()这个函数,而这个函数自带了很多网页用不上的标签和链接资源。当网站打开的时候,这些相关调用都会影响到网站加载速度,而且这代码沉余会严重影响到SEO的整体优化,所以还是有必要清理干净。只要把下面的清除代码放到functions文件中即可。

1移除WordPress版本信息

<meta name="generator" content="WordPress 4.8" /> 这是隐性显示的WordPress版本信息,默认添加。可以被黑客利用,攻击特定版本的WordPress漏洞。

清除代码:

remove_action( ‘wp_head’, ‘wp_generator’ );

2移除离线编辑器开放接口

<link rel=”EditURI” type=”application/rsd+xml” title=”RSD” href=”http://example.com/xmlrpc.php?rsd”/>

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

WordPress自动添加两行离线编辑器的开放接口,其中RSD是一个广义的接口,wlwmanifest是针对微软Live Writer编辑器的。如果你不需要离线编辑,可移除之。即便你需要使用离线编辑器,大部分时候也不需要这两行代码。

清除代码:

remove_action( ‘wp_head’, ‘rsd_link’ );

remove_action( ‘wp_head’, ‘wlwmanifest_link’ );

3移除Emoji表情包

<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/zhangwenbao.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.6"}};
!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55357,56692,8205,9792,65039],[55357,56692,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 .07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>

在WordPress4.2版本之后,增加了Emoji表情外部调用,header头部增加了一段比较长的JS和CSS代码,但是这个功能对于国人来说完全是没必要。

清除代码:

remove_action( ‘wp_head’, ‘print_emoji_detection_script’, 7 );

remove_action( ‘wp_print_styles’, ‘print_emoji_styles’ );

4移除辅助获取表情包

<link rel='dns-prefetch' href='//s.w.org'> 升级到WordPress 4.6之后,WordPress在头部添加dns-prefetch,为了从s.w.org预获取表情和头像,目的是提高网页加载速度 ,但s.w.org国内根本无法访问,那就禁止它。

remove_action( ‘wp_head’, ‘wp_resource_hints’, 2 );

- END -


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK