【WordPress】headから不要なタグを削除する方法|現行バージョン検証済みリスト・絵文字・generator

【WordPress】headセクションから不要なタグを削除する方法 WordPress

WordPressは <head> 内に、RSDリンク・短縮URL・バージョン情報・絵文字用スクリプトなど多くのタグを自動出力します。使っていないものは functions.php で削除でき、HTMLの整理と軽量化につながります。この記事のコードは現行のWordPressで実際に登録されているフックだけに整理してあります。

この記事でわかること

  • 現行WPで有効な不要タグの削除セット
  • フィードリンクを消してよいかの判断(購読者がいるなら残す)
  • 絵文字スクリプトの削除とバージョン情報の非表示
  • 古い解説に残る今は無意味なコードの見分け方
スポンサーリンク

不要タグの削除セット(現行WPで検証済み)

テーマ(子テーマ)の functions.php に追加します。いずれも現行のWordPressコアで登録されている出力です。

functions.php:head内の不要タグを削除
// RSDリンク(外部エディタ連携用・通常は不要)
remove_action('wp_head', 'rsd_link');

// WordPressバージョン(meta generator)
remove_action('wp_head', 'wp_generator');

// 短縮URL(shortlink)
remove_action('wp_head', 'wp_shortlink_wp_head');

// oEmbed発見リンク(自サイトの記事を他所に埋め込ませない場合)
remove_action('wp_head', 'wp_oembed_add_discovery_links');

// カテゴリー・タグなど個別フィードのリンク
remove_action('wp_head', 'feed_links_extra', 3);
メインフィード(feed_links)は消す前に考える
remove_action('wp_head', 'feed_links', 2); を追加するとRSSフィードの発見リンクも消えます。フィードリーダーで購読している読者がいるブログでは残すのが無難です。「フィードを一切使わない」サイトに限って削除してください。

バージョン情報を非表示にする(気休めと知って使う)

wp_generator の削除に加えて、フィード内などのバージョン表記も消すにはthe_generator フィルターを使います。

functions.php:generator出力を完全に空にする
add_filter('the_generator', '__return_empty_string');
バージョン隠しはセキュリティの本質ではない
バージョン情報はCSS/JSの ?ver= クエリや readme.html からも推測できるため、隠しても気休め程度です。本質的な対策はWordPress本体・テーマ・プラグインを常に最新に保つことです。

絵文字(emoji)関連のコードを削除する

WordPressは絵文字の互換表示のためにスクリプトとCSSを読み込みます。記事で絵文字を使わない(またはOSの標準表示で十分な)場合は削除でき、わずかに軽量化されます。

functions.php:絵文字関連の読み込みを削除
// フロント側
remove_action('wp_head', 'print_emoji_detection_script', 7); // 優先度7を必ず指定
remove_action('wp_print_styles', 'print_emoji_styles');

// 管理画面側
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');

古い解説に残る「今は無意味なコード」

head整理の解説によく登場するものの、現行のWordPressではすでに出力自体が存在しないため、書いても何もしないコードがあります。見つけたら削除して問題ありません。

remove_action の対象 状態
wlwmanifest_link WP 6.3でコアから削除済み(Windows Live Writer終息)
index_rel_link / start_post_rel_link WP 3.3で廃止
adjacent_posts_rel_link_wp_head 現行コアでは登録されていない

タイトルタグ(<title>)の出力制御は別の仕組みなので、wp_headのtitle出力を削除・変更する方法を参照してください。head整理を含む高速化全般はWordPressサイトを高速化する7つのステップ、子テーマでの functions.php の書き方は子テーマでfunctions.phpを正しく拡張する方法が参考になります。

よくある質問(FAQ)

Qmeta generator(バージョン情報)を消すには?
Aremove_action('wp_head', 'wp_generator');add_filter('the_generator', '__return_empty_string'); を追加します。ただしバージョンは他の箇所からも推測できるため、本体を最新に保つことが本質的な対策です。
Q絵文字のスクリプトは消しても大丈夫ですか?
A記事内の絵文字は最近のブラウザ・OSなら標準機能で表示されるため、多くのサイトでは削除して問題ありません。remove_action('wp_head', 'print_emoji_detection_script', 7);優先度7を忘れると解除されないので注意してください。
Qremove_action を書いたのに消えません。
A優先度が登録時と一致しているか(絵文字は7・個別フィードは3など)、②そもそも現行WPに存在しない出力(wlwmanifest_link 等)を消そうとしていないか、③キャッシュが残っていないか、の順で確認してください。

まとめ

  • 削除セット:rsd_link・wp_generator・shortlink・oEmbed発見リンク・個別フィード(現行WP検証済み)
  • メインフィード(feed_links)は購読者がいるなら残す
  • 絵文字:優先度7を付けて解除(フロント+管理画面)
  • バージョン隠しは気休め——本質は本体・テーマ・プラグインの更新
  • wlwmanifest_link など廃止済みの行は書いても無意味(消してよい)

「今のWordPressに存在する出力」だけを対象に、用途を確認しながら削るのが、安全なhead整理のコツです。