ワードプレスのhead内の不要なコードを削除して読み込み速度改善する方法

ワードプレスのhead内の不要なコードを削除して読み込み速度改善する方法の備忘録。ヘッダー内の記述はできるだけきれいにしておきたいという人向けの記事。

具体的な手順

ワードプレスのテーマ内にある「function.php」というファイルに必要なコードを追加し、上書きアップロードする。

function.phpに追加するコード

// head内(ヘッダー)から不要なコード削除
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
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 );
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

//head内(ヘッダー)絵文字削除 
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles' );
remove_action('admin_print_styles', 'print_emoji_styles');

//head内(ヘッダー)Embed系の記述削除 
remove_action('wp_head','rest_output_link_wp_head');
remove_action('wp_head','wp_oembed_add_discovery_links');
remove_action('wp_head','wp_oembed_add_host_js');
remove_action('template_redirect', 'rest_output_link_header', 11 );

コードの補足説明

意味もわからずに消すのは怖いという人は要確認。

WordPressのバージョン情報削除

remove_action( 'wp_head', 'wp_generator' );

バージョン情報を公開する意味はないため削除。

外部アプリケーションから情報を取得するタグ削除

remove_action( 'wp_head', 'rsd_link' );

外部のブログ投稿ツールを使わない場合は不要なので削除。使う場合は残す。

Windows Live Writer用のタグ削除

remove_action( 'wp_head', 'wlwmanifest_link' );

Windows Live Writerを使って記事を投稿しない場合は不要なので削除。

linkタグ削除

remove_action( 'wp_head', 'index_rel_link' );

現在の文書に対する「索引(インデックス)」であることを示すタグで、特別必要なわけでもないため削除推奨。

「link rel="next"」等のタグ削除

remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( ‘wp_head’, ‘start_post_rel_link’, 10, 0 );
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0 );

ブラウザが先読みするためのタグ。
ブラウザによっては負荷があがることもあるので削除推奨。

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

remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );

「?p=投稿ID」形式のデフォルトパーマリンクURL削除。不要。

フィード関連のタグ削除

remove_action('wp_head', 'feed_links', 2); //
remove_action('wp_head', 'feed_links_extra', 3); //

サイト全体のフィードと全コメントフィードのリンクと条件に応じたフィードのリンクを削除。特に必要というわけでもないので消す。

追加する際の補足事項

テンプレートによっては既に記載されているものがあったりするので、function.php内を「remove_action」などで検索して既にあるコードを把握してから必要なものだけ追加すると良い。

function.phpを上書きする際の注意事項

function.phpは、カスタマイズする前に必ずバックアップを取っておくこと。記述を間違えたままFTPで上書きして真っ白になってしまったとしても、すぐにバックアップデータをアップロードすれば復元できる。