WordPressは多くの場合、短時間で効果的なウェブサイトを構築するための素晴らしいプラットフォームです。しかし、デフォルトの設定では、<head>セクションにいくつか不要かつ冗長なタグが出力される場合があります。今回は、そのような余計なタグを削除する方法について解説します。
なぜ余計なタグが問題なのか
パフォーマンス
不要なタグはブラウザによるページのレンダリング速度に影響を与える可能性があります。特に、モバイル環境ではパフォーマンスが重要な要素です。
セキュリティ
WordPressのバージョン情報などを公開することで、悪意のある攻撃者に有用な情報を提供してしまう可能性があります。
クリーンなコード
不要なタグを削除することで、よりスッキリとしたHTMLコードが生成されます。これは、デバッグやメンテナンスを容易にします。
各タグの削除方法
絵文字のスクリプト
WordPressは絵文字をサポートするために特定のスクリプトを読み込みます。これは多くのサイトで不必要です。
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
WPバージョン情報
<meta>タグ内にWordPressのバージョン情報が含まれる場合があります。
remove_action('wp_head', 'wp_generator');
RSS、Atomフィード
これらのフィードリンクは、多くの場合、必要とされていません。
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
RSD(Really Simple Discovery)とwlwmanifest
これらは古いブログクライアントソフトウェア用の設定であり、ほとんどの場合では不要です。
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
すべてまとめて削除
以上を全て一つのfunctions.phpファイルにまとめたい場合は、以下のようにします。
function remove_unnecessary_head_tags() {
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
}
add_action('after_setup_theme', 'remove_unnecessary_head_tags');
子テーマを使う(推奨)
独自の変更をテーマに加える場合は、子テーマを使用することをおすすめします。これによって、親テーマがアップデートされた際にも自分の変更点は保持されます。
注意点とお勧め
この変更によってテーマやプラグインが依存している機能が壊れる可能性がありますので、十分にテストを行ってから適用してください。特に、商用テーマや多数のプラグインを使用している場合には注意が必要です。
まとめ
WordPressの<head>セクションから不要なタグを削除することは、パフォーマンスの向上、セキュリティの強化、そしてクリーンなコードの維持に有用です。しかし、この変更を行う際には、必ず影響をしっかりとテストしてから適用するようにしましょう。以上の手順を踏むことで、より洗練されたWordPressサイトを構築することができます。