ワードプレス

ワードプレスで wp_head(); を記述した際に、head内にmeta name="generator"link rel="wlwmanifest"などの必要がないHTMLが出力されることがあります。
これはデフォルトで用意されている関数「remove_action」を使って綺麗に成形することができます。

例えばhead内に出力されるタグには以下のようなものがあります。

  • meta name="genarator"
  • link rel="alternate"
  • link rel="EditURI"
  • link rel="wlwmanifest"
  • link rel="prev"
  • link rel="next"
  • link rel="canonical"
  • link rel="shortlink"

※追記:WordPress 4.4 以降からは次のタグも追加で出力されます。

  • link rel='https://api.w.org/'
  • link rel="alternate" type="application/json+oembed"
  • link rel="alternate" type="text/xml+oembed"

…などなど。
EditURIwlwmanifestなど、外部のアプリケーションを使って更新作業をする際に必要なタグもあり、環境によっては削除しないほうが良いケースもあります。

また簡単にhead内を整理できるプラグインもありますが、今回は[functions.php]を使う方法を紹介します。
テーマファイル内に[functions.php]が存在しない場合はこの機会にぜひ作成してください。ワードプレスをカスタマイズするうえで大変便利です。

remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rel_canonical');
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', 'wp_shortlink_wp_head');
// Since 4.4
remove_action('wp_head','wp_oembed_add_discovery_links');
remove_action('wp_head','rest_output_link_wp_head');

上記をfunctions.phpに記述後にhead内を確認すると、余計なものが消えているのが確認できます。

ちなみに「wp_head」にその他どんなものがフックされているか見たい場合は「wp-includes/default-filters.php」内に記述されています。
ただ、中には消してしまうとプラグインなどに影響するものもあるので、非表示にする際は細心の注意が必要です。