[WordPress]wp_head()のいらないタグを削除してをスッキリさせる方法

[WordPress]wp_head()のいらないタグを削除してをスッキリさせる方法

[WordPress]wp_head()のいらないタグを削除して<head>をスッキリさせる方法

WordPressを使ってサイトを作成すると、自動的に<head>に追加される項目がいくつかあります。自動で追加されるメタ情報などのタグは、テーマファイルのheader.phpをみてもらうとわかりますが、wp_head()というWordPressの関数で呼び出しています。

header.phpを見ると、以下のような記述がありませんか?この部分がタグの情報を呼び出しているんです。

<?php wp_head(); ?>

でも、追加されるタグの中にはいらないものも結構あるんですよね。

今回はいらないタグを削除してヘッダーをすっきりさせる方法をご紹介いたします。

wp_headの情報はどこから読み込んでいるのか

wp_head()で呼び出されるタグは、/wp-includes/default-filters.php に記述されています。default-filters.phpを開くと、以下のような部分があると思います。これが、wp_head()を呼びだした時に書き出される情報になります。


add_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'feed_links', 2 );
add_action( 'wp_head', 'feed_links_extra', 3 );
add_action( 'wp_head', 'rsd_link' );
add_action( 'wp_head', 'wlwmanifest_link' );
add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
add_action( 'wp_head', 'locale_stylesheet' );
add_action( 'wp_head', 'noindex', 1 );
add_action( 'wp_head', 'wp_print_styles', 8 );
add_action( 'wp_head', 'wp_print_head_scripts', 9 );
add_action( 'wp_head', 'wp_generator' );
add_action( 'wp_head', 'rel_canonical' );
add_action( 'wp_footer', 'wp_print_footer_scripts', 20 );
add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

ここで必要ないタグを消去してもいいのですが、WordPressを更新したらまた書き換えなきゃいけないので、ちょっと面倒です。そのため、今回はテーマフォルダにあるfunctions.phpを編集して不要なタグを削除する方法を紹介します。

functions.phpを編集して不要なタグを削除する

まずは、/wp-content/themes/[使用しているテーマフォルダ] から functions.php をダウンロードしておきます。それぞれのタグの削除方法を以下に書きますので、環境に合わせて不要だと思うものをfunctions.phpに追記していってください。

※私の環境では確認できていませんが、タグの削除(特にバージョン情報)によってプラグインが動作しなくなることがあるかもしれません。functions.phpを修正する時は、事前にバックアップを取って作業してください。

WordPressのバージョン情報

WordPressでサイトを作成すると、以下のようなバージョン情報がヘッダーに追加されます。

<meta name="generator" content="WordPress 3.x.x" />

削除する場合は、以下をfunctions.phpに追記します。

remove_action('wp_head', 'wp_generator');

外部ツールを使ったブログ更新用のURL

外部ツールを使って記事を投稿するときのアドレスです。

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

削除する場合は、以下をfunctions.phpに追記します。

remove_action('wp_head', 'rsd_link');

wlwmanifestWindows Live Writerを使った記事投稿URL

wlwmanifestWindows Live Writerを使って記事を投稿する場合は必要です。

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

削除する場合は、以下をfunctions.phpに追記します。

remove_action('wp_head', 'wlwmanifest_link');

デフォルトパーマリンクのURL

?p=[投稿ID]という形式のデフォルトパーマリンクのURLです。

<link rel='shortlink' href='http://example.com/?p=1329' />

削除する場合は、以下をfunctions.phpに追記します。

remove_action('wp_head', 'wp_shortlink_wp_head');

前の記事と後の記事のURL

該当記事の前と後の記事のURLです。


<link rel='prev' title='前の記事' href='http://example.com/prev' />
<link rel='next' title='次の記事' href='http://example.com/next' />

削除する場合は、以下をfunctions.phpに追記します。

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

RSSフィードのURL

RSSフィードのURLです。


<link rel="alternate" type="application/rss+xml" title="フィード" href="http://example.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="コメントフィード" href="http://example.com/comments/feed/" />

削除する場合は、以下をfunctions.phpに追記します。

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

コメントフィードだけ削除っていうのはできないみたいですね。もしやり方を知っている方いましたら、教えていただけるとありがたいです。

コメントフィードだけ削除したい場合は、remove_actionで一旦RSSフィードを全部削除しておいて、直接header.phpに以下のコードを記述します。

<link rel="alternate" type="application/rss+xml" title="フィード" href="<?php bloginfo('rss2_url'); ?>" />

まとめ

まとめて全部削除したい方は、以下のコードをfunctions.phpにコピペしてください。


remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'feed_links_extra', 3);

プラグインをたくさん使っていると、いつの間にか<head>が長くなっているので、必要ないものは削除しておくとスッキリしますね。

この記事が気に入ったら
いいね!してね♪

Twitter で

4 thoughts on “[WordPress]wp_head()のいらないタグを削除してをスッキリさせる方法

  1. Pingback: WordPressの自作テーマでプラグインが動かなかった時に絶対に確認すること | おれだよ!!!

  2. yoshi.yuki

    大変役に立ちました。ありがとうございます。
    誤字に気付いたので報告だけ。

    wlwmanifestWindows Live Writerを使った記事投稿URL
    link rel~
    ↑ここのソース

    1. himecas Post author

      yoshi.yukiさん、コメントありがとうございます。
      wlwmanifestがrsdになっていましたね。。。失礼しました。

  3. Pingback: 【wordpress 関数】使っているテンプレートの中にあった関数の意味を記載していく - mania0905

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です