HOME > > > > >

headerの無駄な出力を抑制する

デフォルトの出力はたぶんこんな感じ。いろいろいらないですね。

  1. <link rel='dns-prefetch' href='//s.w.org' />
  2. <script type="text/javascript">
  3.     window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/example.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.4.2"}};
  4.     /*! This file is auto-generated */
  5.     !function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([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]));case"emoji":return!c([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings);
  6. </script>
  7. <style type="text/css">
  8.     img.wp-smiley,
  9.     img.emoji {
  10.         display: inline !important;
  11.         border: none !important;
  12.         box-shadow: none !important;
  13.         height: 1em !important;
  14.         width: 1em !important;
  15.         margin: 0 .07em !important;
  16.         vertical-align: -0.1em !important;
  17.         background: none !important;
  18.         padding: 0 !important;
  19.     }
  20. </style>
  21. <link rel='stylesheet' id='wp-block-library-css'  href='http://example.com/wp-includes/css/dist/block-library/style.min.css?ver=5.4.2' type='text/css' media='all' />
  22. <link rel='https://api.w.org/' href='http://example.com/wp-json/' />
  23. <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
  24. <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />
  25. <meta name="generator" content="WordPress 5.4.2" />

dns-prefetch

表示

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

削除

  1. <?php
  2. remove_action('wp_head', 'wp_resource_hints', 2 );
  3. ?>

window._wpemojiSettings

表示

  1. <script type="text/javascript">
  2.     window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/example.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.4.2"}};
  3.     /*! This file is auto-generated */
  4.     !function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([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]));case"emoji":return!c([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings);
  5. </script>

削除

  1. <?php
  2. remove_action('wp_head', 'print_emoji_detection_script', 7);
  3. ?>

emoji style

表示

  1. <style type="text/css">
  2.     img.wp-smiley,
  3.     img.emoji {
  4.         display: inline !important;
  5.         border: none !important;
  6.         box-shadow: none !important;
  7.         height: 1em !important;
  8.         width: 1em !important;
  9.         margin: 0 .07em !important;
  10.         vertical-align: -0.1em !important;
  11.         background: none !important;
  12.         padding: 0 !important;
  13.     }
  14. </style>

削除

  1. <?php
  2. remove_action('wp_print_styles', 'print_emoji_styles');
  3. ?>

application/rsd+xml

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

削除

  1. <?php
  2. remove_action('wp_head', 'rsd_link');
  3. ?>

application/wlwmanifest+xml

表示

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

削除

  1. <?php
  2. remove_action('wp_head', 'wlwmanifest_link');
  3. ?>

wp-block-library-css

表示

  1. <link rel='stylesheet' id='wp-block-library-css'  href='http://example.com/wp-includes/css/dist/block-library/style.min.css?ver=5.4.2' type='text/css' media='all' />

削除

  1. <?php
  2. add_action(
  3.     'wp_enqueue_scripts',
  4.     function () {
  5.         wp_dequeue_style('wp-block-library');
  6.     },
  7.     9999
  8. );
  9. ?>

https://api.w.org/

REST APIへのリンク。

表示

  1. <link rel='https://api.w.org/' href='http://example.com/wp-json/' />

下記で消せるが機能が無効になるわけではない。 そしてどうやら完全に無効にすることはできないっぽい。

削除

  1. <?php
  2. remove_action('wp_head', 'rest_output_link_wp_head', 10);
  3. ?>

generator

表示

  1. <meta name="generator" content="WordPress 5.4.2" />

削除

  1. <?php
  2. remove_action('wp_head', 'wp_generator');
  3. ?>

まとめ

これで余計なheaderの出力は抑制できる。

  1. <?php
  2. remove_action('wp_head', 'wp_generator');
  3. remove_action('wp_head', 'print_emoji_detection_script', 7);
  4. remove_action('wp_print_styles', 'print_emoji_styles');
  5. remove_action('wp_head', 'rsd_link');
  6. remove_action('wp_head', 'wlwmanifest_link');
  7. remove_action('wp_head', 'wp_resource_hints', 2);
  8.  
  9. // REST API リンク表示削除
  10. remove_action('wp_head', 'rest_output_link_wp_head', 10);
  11.  
  12. add_action(
  13.     'wp_enqueue_scripts',
  14.     function () {
  15.         wp_dequeue_style('wp-block-library');
  16.     },
  17.     9999
  18. );
  19. ?>