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

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

WordPressでは、テーマの内にさまざまな情報が自動的に出力されます。例えば、RSDリンクやWLWマニフェスト、バージョン情報などがありますが、これらは必ずしも必要ではありません。特にパフォーマンスやセキュリティの観点からは、不要なタグを削除することが推奨されます。

functions.phpに記述してheadタグの出力を制御する

不要なheadタグは、functions.php に記述することで削除可能です。以下のコードを追加してください。


// head内の不要なタグを削除
remove_action('wp_head', 'rsd_link'); // RSDリンク
remove_action('wp_head', 'wlwmanifest_link'); // WLWマニフェスト
remove_action('wp_head', 'wp_generator'); // WordPressバージョン
remove_action('wp_head', 'feed_links_extra', 3); // カテゴリーフィード
remove_action('wp_head', 'feed_links', 2); // 投稿・コメントのフィード
remove_action('wp_head', 'index_rel_link'); // インデックスページへのリンク
remove_action('wp_head', 'start_post_rel_link', 10, 0); // 開始ポストへのリンク
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); // 前後記事へのリンク
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0); // ショートリンク

WordPressバージョンをmetaタグから非表示にする

バージョン情報は攻撃者にとって脆弱性の手がかりになるため、非表示にするのがベストです。上記のwp_generatorを削除するコードに加えて、以下を追加することでRSSフィードなどにも表示されなくなります。


// バージョン情報を完全に非表示
add_filter('the_generator', '__return_empty_string');

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

WordPressは絵文字(emoji)対応のために複数のスクリプトを読み込んでいます。不要な場合は以下のコードで削除できます。


// emoji関連のコードを削除
remove_action('wp_head', 'print_emoji_detection_script', 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');

まとめ

セクションを整理することで、ページの読み込み速度を向上させたり、セキュリティリスクを軽減することが可能になります。必要なタグだけを残して、シンプルで効率的な出力を心がけましょう。functions.phpへの記述で簡単に対応できるため、テーマ開発やセキュリティ強化の一環として取り入れることをおすすめします。