久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

怎么移除頭部不必要的元素標(biāo)簽? – WordPress開發(fā)

這一節(jié)的wordpress開發(fā)教程就教大家如何來移除wordpress頭部不必要的元素標(biāo)簽,增加網(wǎng)站的安全性和提升代碼的整潔。

大家在開發(fā)wordpress主題時(shí)需要用到一個(gè)很重要的函數(shù): wp_head() ,但這個(gè)函數(shù)在提高便利的同時(shí),也會(huì)加一些我們不需要的東西,例如 WordPress版本號(hào)、css、js、meta元素和標(biāo)簽。

如果這些代碼和資源在主題中用不上,那可得想想辦法把這些用不到的東西給優(yōu)化掉,這一節(jié)的wordpress開發(fā)教程就教大家如何來移除wordpress頭部不必要的元素標(biāo)簽。

1、移除WordPress版本信息

WordPress自動(dòng)添加版本號(hào)信息,在head區(qū)域,可以看到(如下):

<meta name="generator" content="WordPress 4.8" />

版本號(hào)是默認(rèn)添加的,但是可以被黑客利用,攻擊特定版本的WordPress漏洞。

移除代碼(如下):

remove_action( 'wp_head', 'wp_generator' );

2、移除離線編輯器開放接口

WordPress自動(dòng)添加兩行離線編輯器的開放接口,在head區(qū)域,可以看到(如下):

<link rel="EditURI" type="application/rsd+xml" title="RSD"  />
<link rel="wlwmanifest" type="application/wlwmanifest+xml"  />

其中RSD是一個(gè)廣義的接口,wlwmanifest是針對(duì)微軟Live Writer編輯器的。如果你不需要離線編輯,可移除之。即便你需要使用離線編輯器,大部分時(shí)候也不需要這兩行代碼。Live Writer自己知道它們。保留這兩行代碼可能會(huì)留有安全隱患。

移除代碼(如下):

remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );

3、移除前后文、第一篇文章、主頁meta信息

WordPress把前后文、第一篇文章和主頁鏈接全放在meta中。我認(rèn)為于SEO幫助不大,反使得頭部信息巨大。

移除代碼(如下):

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 );

4、移除feed

HTML中通過來指定博客feed。可以被瀏覽器檢測到,然后被讀者訂閱。如果你不想添加feed,或者想使用燒制的feed(如FeedSky或者Feedburner燒制的feed),可以移除之。

remove_action( 'wp_head', 'feed_links', 2 );//文章和評(píng)論feed
remove_action( 'wp_head', 'feed_links_extra', 3 ); //分類等feed

5、禁用embeds功能并移除wp-embed.min.js文件

WordPress自動(dòng)添加embeds功能和wp-embed.min.js文件,在head區(qū)域,可以看到(如下):

<script type='text/javascript' src='http://wordpress.org/wp-includes/js/wp-embed.min.js?ver=4.8'></script>

移除代碼(如下):

function disable_embeds_init() {
  /* @var WP $wp */
  global $wp;
  // Remove the embed query var.
  $wp->public_query_vars = array_diff( $wp->public_query_vars, array(
    'embed',
  ) );
  // Remove the REST API endpoint.
  remove_action( 'rest_api_init', 'wp_oembed_register_route' );
  // Turn off
  add_filter( 'embed_oembed_discover', '__return_false' );
  // Don't filter oEmbed results.
  remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
  // Remove oEmbed discovery links.
  remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
  // Remove oEmbed-specific JavaScript from the front-end and back-end.
  remove_action( 'wp_head', 'wp_oembed_add_host_js' );
  add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );
  // Remove all embeds rewrite rules.
  add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
}
add_action( 'init', 'disable_embeds_init', 9999 );
/**
 * Removes the 'wpembed' TinyMCE plugin.
 *
 * @since 1.0.0
 *
 * @param array $plugins List of TinyMCE plugins.
 * @return array The modified list.
 */
function disable_embeds_tiny_mce_plugin( $plugins ) {
  return array_diff( $plugins, array( 'wpembed' ) );
}
/**
 * Remove all rewrite rules related to embeds.
 *
 * @since 1.2.0
 *
 * @param array $rules WordPress rewrite rules.
 * @return array Rewrite rules without embeds rules.
 */
function disable_embeds_rewrites( $rules ) {
  foreach ( $rules as $rule => $rewrite ) {
    if ( false !== strpos( $rewrite, 'embed=true' ) ) {
      unset( $rules[ $rule ] );
    }
  }
  return $rules;
}
/**
 * Remove embeds rewrite rules on plugin activation.
 *
 * @since 1.2.0
 */
function disable_embeds_remove_rewrite_rules() {
  add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
  flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'disable_embeds_remove_rewrite_rules' );
/**
 * Flush rewrite rules on plugin deactivation.
 *
 * @since 1.2.0
 */
function disable_embeds_flush_rewrite_rules() {
  remove_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
  flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, 'disable_embeds_flush_rewrite_rules' );

6、移除WordPress頭部加載DNS預(yù)獲取(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 );

7、移除emoji表情script和style

在head我門可以看到(如下):

<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/wordpress.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.8"}};
			!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,56826,8203,55356,56819),0,0),c=j.toDataURL(),b===c&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55358,56794,8205,9794,65039),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55358,56794,8203,9794,65039),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.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>

移除代碼(如下):

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );

8、移除wp-json鏈接

在head我們可以看到(如下):

<link rel='https://api.w.org/'  />

移除代碼(如下):

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

以上就是本次wordpress教程分享的全部內(nèi)容了,希望能在各位wordpress開發(fā)者開發(fā)主題時(shí)能幫上一臂之力。

相關(guān)推薦

怎么移除頭部不必要的元素標(biāo)簽? – WordPress開發(fā)

怎么移除頭部不必要的元素標(biāo)簽? – WordPress開發(fā)

如果一般的用戶嫌使用代碼太麻煩的話,也可以看看有相關(guān)功能的wordpress插件:

怎么移除頭部不必要的元素標(biāo)簽? – WordPress開發(fā)

??
Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
無意侵害您的權(quán)益,請(qǐng)發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
?
購物車
優(yōu)惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      久草视频在线资源站| 人妻av无码一区二区三区| 国产成人av片| av网站免费大全| 999免费视频| 91国内精品久久久| 91丨九色丨蝌蚪| www.激情五月.com| 91国产丝袜播放在线| 911亚洲精选| 91久久久久国产一区二区| 91免费在线看片| 97人妻精品一区二区三区免| 91麻豆成人精品国产| 91丝袜超薄交口足| www日本在线观看| 成人免费视频国产免费观看| 波多野结衣av在线观看| 国产精品毛片一区二区在线看舒淇| 岛国av免费观看| 国产精品久久久久久久久久久久久久久久久久 | 91国内精品视频| 91精品人妻一区二区三区果冻| 91精产国品一二三| www.av免费| 国产精品久久久久久无人区| 国产精品一区二区在线免费观看| 国产嫩草在线观看| 精品人妻一区二区三区麻豆91| 国产视频精品免费| 久久久久久久久久91| 欧美一级高潮片| 日韩一区免费视频| 小泽玛利亚一区二区三区视频| 一区二区三区亚洲视频| 亚洲欧美一区二区三区四区五区| 杨幂一区二区国产精品| 超碰在线观看91| 国产一区二区三区视频播放| 久久爱一区二区| 青青操视频在线播放| 熟妇人妻久久中文字幕| 中日韩av在线| 91精品无人成人www| 国产黄色网址在线观看| 精品一区二区三区蜜桃在线| 欧洲一级黄色片| 午夜精品一区二区三区视频| 亚洲精品成av人片天堂无码| www成人在线| 黄色一级片在线免费观看| 欧美三级午夜理伦| 五月婷婷六月香| 亚洲无码久久久久久久| 高h视频免费观看| 精品综合久久久久| 天堂久久久久久| 亚洲欧美丝袜中文综合| 国产精品国产三级国产专区52 | 久久久久久久久久99| 日韩 国产 欧美| 中文字幕一区二区三区波野结| 99九九99九九九99九他书对| 国产一区二区视频网站| 人人艹在线视频| 中文字幕视频二区| 成 人片 黄 色 大 片| 久久国产这里只有精品| 天天摸天天干天天操| 777一区二区| 精品国产av色一区二区深夜久久| 日本中文字幕久久| 亚洲欧美强伦一区二区| 国产熟妇搡bbbb搡bbbb| 人人爽人人爽人人片av| 亚洲国产www| 国产在线观看你懂的| 深爱五月激情网| 91日韩精品视频| 久久久精品国产sm调教网站| 午夜免费福利视频| www激情五月| 欧美三级午夜理伦| 中文字幕在线永久| 国产情侣呻吟对白高潮| 少妇av在线播放| 91在线观看喷潮| 蜜桃在线一区二区| 亚洲精品男人天堂| 黄色在线观看国产| 一区二区三区少妇| 国产精品一级视频| 天堂v在线观看| 东京热av一区| 日本免费网站视频| 99久久精品无免国产免费| 久久无码精品丰满人妻| 中文字幕在线视频播放| 国产人妖一区二区| 亚洲av成人精品日韩在线播放| 国产丰满果冻videossex| 日韩精品一区二区三| 99er热精品视频| 欧美一级小视频| 91免费在线看片| 欧美三日本三级少妇99| 91在线视频观看免费| 欧美熟妇另类久久久久久多毛| 亚洲中文一区二区| 男人的天堂官网| 91视频综合网| 日本在线视频中文字幕| 岛国毛片在线播放| 天天操天天干视频| 国产无人区码熟妇毛片多| 亚洲av午夜精品一区二区三区| 国产又黄又大又粗的视频| 一区二区小视频| 九九热在线视频播放| 亚洲三级在线观看视频| 蜜臀精品一区二区三区| 88av在线播放| 日日噜噜噜噜人人爽亚洲精品| 国产福利第一视频| 一级淫片免费看| 九九热在线视频播放| 亚洲一区精品在线观看| 欧美日韩综合在线观看| 成人午夜精品视频| 亚洲av永久无码精品| 精品人妻一区二区三区日产乱码卜 | 中文人妻av久久人妻18| 久久av一区二区三| 91福利在线观看视频| 日韩一级在线视频| 国产色视频在线| 亚洲视频在线不卡| 日本在线观看免费视频| 国产美女久久久久久| 亚洲精品人妻无码| 日本三级小视频| 国产精品一区二区黑人巨大 | 99视频在线看| 熟妇人妻中文av无码| 国语对白一区二区| 一级黄色片网址| 无码国产69精品久久久久网站| 加勒比婷婷色综合久久| 91丨porny丨在线中文| 午夜av入18在线| 麻豆国产精品一区| 国产成人手机在线| 最新中文字幕第一页| 日本中文字幕免费观看| 精品人妻伦一二三区久| 91人人澡人人爽| 在线看免费毛片| 日本少妇激情视频| 精品久久久久成人码免费动漫| www.日韩一区| 亚洲精品国产av| 天天久久综合网| 男女污污视频网站| 国产一级免费片| jlzzjlzz亚洲女人18| 中文字幕一区二区三区免费看| 日韩av一二区| 久久久久久久久黄色| 国产精品免费av一区二区| 亚洲无人区码一码二码三码的含义| 天天操天天干视频| 欧美视频久久久| 精品深夜av无码一区二区老年| 成人亚洲精品777777大片| 亚洲欧美一区二区三| 性一交一乱一色一视频麻豆| 人妻少妇无码精品视频区| 精品一区二三区| 国产视频第一页| 国产白嫩美女无套久久| 91精产国品一二三产区别沈先生| 在线观看免费国产视频| 天天摸夜夜添狠狠添婷婷| 欧美日韩在线视频免费播放| 久久国产一级片| 国产又大又黄又粗的视频| 高清av免费看| aaaaaa毛片| 91传媒免费观看| 亚洲视频第二页| 中文字幕一区二区三区精品| 性刺激的欧美三级视频| 少妇伦子伦精品无吗| 日本黄色特级片| 欧美a在线播放| 毛片视频免费播放 | 小泽玛利亚一区二区免费| 日韩一区二区三区在线观看视频| 欧美激情精品久久| 可以直接看的无码av|