ゆるくはじめるWordPress.

wp_headが出力する不要なタグを削除してスッキリ!

remove-action-top

テンプレートファイルのヘッダーにwp_head()を追加すると、ここから様々な機能を利用するためのタグが出力されます。
記事ページのソースを見てみると<head>内がかなり賑やかになっていますよね。そしてこの中には自分が利用しない機能のタグも出力されていたりします。できるだけ不要な記述は削除しておきたいと思う方もいると思うので、今回はこれらのタグの役割と削除方法をまとめてみました。いらないものは削除してスッキリさせてしまいましょう。

削除方法の説明

remove_action()wp_headに付加されている関数を除去する事で各タグが出力されないようにします。
削除用コードはfunctions.phpに記述してください。
デフォルトでどのようにアクションが付加されているかはwp-includes/default-filters.phpに記述されているので、関数名で検索すれば確認できます。


EditURI

<link rel="EditURI" type="application/rsd+xml" ... >

外部のツールを使って記事を投稿する時に利用するものです。WordPressの管理画面からしか投稿しない場合は必要無いので削除。

EditURIのタグを削除するコード

functions.php

//EditURIのタグを削除
remove_action( 'wp_head', 'rsd_link' );

wlwmanifest

<link rel="wlwmanifest" type="application/wlwmanifest+xml" ... >

Windows Live Writerというブログ投稿ツールを使う時に利用するもの。これもこのツールを使わない場合は削除して大丈夫。

wlwmanifestのタグを削除するコード

functions.php

//wlwmanifestのタグを削除
remove_action( 'wp_head', 'wlwmanifest_link' );

generator

<meta name="generator" content="WordPress 4.4.2" >

WordPressのバージョンが出力されます。特に公表したい理由が無ければ非表示でもOK。

generatorのタグを削除するコード

functions.php

//generatorのタグを削除
remove_action( 'wp_head', 'wp_generator' );

shortlink

<link rel='shortlink' ... >

記事のショートリンクが表示されます。自分で設定したパーマリンク以外にこのショートリンクのURLでもアクセス可能。使う事がなければ非表示でも問題ないと思われます。

shortlinkのタグを削除するコード

functions.php

//shortlinkのタグを削除
remove_action( 'wp_head', 'wp_shortlink_wp_head' );

oEmbed関連

<link rel='https://api.w.org/' ... >
<link rel="alternate" type="application/json+oembed" ... >
<link rel="alternate" type="text/xml+oembed" ... >
<script type='text/javascript' src='http://.../wp-includes/js/wp-embed.min.js?ver=4.4.2'></script>

『oEmbed』は外のサイトのコンテンツを記事内に埋め込む機能です。WordPressではURLを記載するだけでYouTubeの動画やTwitterのツイートなどを埋め込み表示できます。この機能を利用しないなら関連タグを削除しても大丈夫。
逆に外部のサイトからも自分の記事を埋め込む事ができなくなるので、その点は注意です。

oEmbed関連のタグを削除するコード

functions.php

//oEmbed関連のタグを削除
remove_action( 'wp_head', 'rest_output_link_wp_head' );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );

emoji関連

<script type="text/javascript">
  window._wpemojiSettings ...
</script>

<style type="text/css">
img.wp-smiley,
img.emoji ...
</style>

これらは記事に絵文字を表示させるためのjavascriptとCSS。絵文字を使わないなら不要なタグなので消してしまいましょう。

emoji関連のタグを削除するコード

functions.php

//emoji関連のタグを削除
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );

print_emoji_detection_scriptのオプションに7を入れてあるのは、wp-includes/default-filters.phpで下のようにpriorityが設定されているからですね。

add_action( 'wp_head', 'print_emoji_detection_script', 7 );

この値が一致しないとうまく処理されないようです。ちなみに初期値は10


まとめ

もし今後これらのタグが必要になった時は削除用のコードを消せばまた出力させる事ができます。それぞれのタグの役割を理解していればプラグインの利用などで必要になった時でもどれが関連するものなのか分かって安心ですね。


スポンサーリンク

公開日: