よく使うのに覚える気もなく毎回ググっている気がするので備忘録。
wp_head()を記述した際にhead内に出力されるタグを消す方法です。

wp_head()を記述した際にhead内に出力されるlink rel="alternate"meta name="genarator"などのタグですが、必要ないと思うものはremove_action()で消して、ごちゃごちゃしたhead内を綺麗にできます。
別にそのままでも支障はない(むしろ消してしまうと支障があるものが有る)と思いますが、確実に不要なものであれば消して少しでもソースを綺麗にしたいときに。

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

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

それぞれのタグに関しての説明は割愛しますが、普段はあまり見かけないものとしては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' );

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

ちなみにremove_action( 'wp_head', 'wp_enqueue_scripts', 1 );など他にもこういったものはあり、その他どんなものが設定されているか見たい場合は/wp-includesにあるdefault-filters.phpの202行目辺り(WordPress Ver 3.5.1の場合)を見れば確認できます。
ただ、中には消してしまうとプラグインなどに影響するものもあるので、消してしまって問題ないかの注意が必要です。