WordPressのheadに出力される不要なコードの削除方法!function.phpで簡単解決

headに出力される不要なコードを削除する方法

WordPressのHTMLソースを見ると<head>内にあるmetaやlinkタグに不要なコードが含まれています。特にmeta generatorは運用しているWordPressのバージョンまでも記載されていてセキュリティ的にもあまり良くないので削除することをおすすめします。また、不要なコードを削除することでページの容量を軽くできるメリットもあります。

今回は、<head>内に出力される不要なコードをfunction.phpを使って削除する方法を解説します。

functions.phpにremove_action()の記述を追加

不要なコードを削除する方法は、テーマ内にあるfunctions.phpにremove_action()の記述を追加していくだけの簡単な作業です。子テーマを使っている場合は、子テーマ内にあるfunction.phpに記述します。

念のため、function.phpに何らかの修正を加える時はバックアップをしておきましょう!画面が真っ白になっても元のfunction.phpファイルをアップロードし直せば大丈夫です。

head内に出力される不要なコード

meta generator

meta name=”generator”は、どのソフトウェアでウェブサイトが作られているか示すタグで、全く不要なので削除しましょう。

<meta name=”generator” content=”WordPress 4.8.1″>

大抵のCMSはデフォルトの状態だとmeta name=”generator”にCMS名が出力されるようになっていて、WordPressもその例外ではありません。しかもバージョンまでも出力してしまうので、ハッカーに良いヒントを与えてしまいセキュリティ上良くありません。

削除するにはfunction.phpに以下のコードを追加します。

remove_action('wp_head', 'wp_generator');

短縮URL

個別記事にIDを含んだ短縮URLがlink rel=”shortlink”で出力されますが、特に短縮URLを使用していない場合は削除しても問題ありません。

<link rel="shortlink" href="https://www.cloud9works.net/?p=postID">

link rel=”shortlink”を削除するにはfunction.phpに以下のコードを追加します。

remove_action('wp_head', 'wp_shortlink_wp_head');

絵文字用のJavaScriptとCSS

WordPress内に絵文字を表示させるために使用していない場合でも自動的にJaveScriptとCSSを読み込むようになっています。大量のソースを出力しているので、絵文字を使用していない場合は削除しましょう。

<script type="text/javascript">
window._wpemojiSettings = ...省略
</script>
<style type="text/css">
img.wp-smiley,
img.emoji {....省略
</style>

絵文字用のJaveScriptとCSSを削除するにはfunction.phpに以下のコードを追加します。

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

外部の投稿ツール用のタグ

外部の投稿ツールを使ってWordPressの記事の編集を行うためのタグなので、それらを利用していない場合は削除しても問題ありません。

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://vccw.dev/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://vccw.dev/wp-includes/wlwmanifest.xml" />

1つ目のlink rel=”EditURI” type=”application/rsd+xml”は「Really Simple Discovery」用、2つ目のlink rel=”wlwmanifest” type=”application/wlwmanifest+xml” は「Windows Live Writer」用のタグになります。

これらのタグを削除するにはfunction.phpにそれぞれ以下のコードを追加します。

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

コメント用RSSフィードのタグ

ウェブサイト全体のRSSフィードは使用している場合が多いのですが、コメントの書き込みを使っていなかったり、コメントが殆ど無いようなサイトでは、コメント用のRSSフィードのタグは削除しても問題ありません。

<link rel="alternate" type="application/rss+xml" title="Cloud 9 Works &raquo; コメントフィード" href="http://www.cloud9works.net/comments/feed/" />

コメント用RSSフィードを削除するにはfunction.phpに以下のコードを追加します。

remove_action('wp_head', 'feed_links_extra', 3);

まとめ

今回は特に不要とされるコードを取り上げましたが、自分のサイトに合わせてカスタマイズしてください。ページ容量を軽くし読み込みを速くさせることでSEO的にも有利になりますので、他にも<head>内に不要なコードがある場合は出来るだけ削除することが大切です。