🐶

【WordPress】無効にしておきたいwp_head設定

2023/08/15に公開

wp_headの中身の余計なものが一掃する設定です。functions.phpに記述します。
普通にブログとして使う分には下記の設定で良いかと思います。

functions.php
unction removeHeadAction() {
    // WordPressのバージョン情報を表示するためのリンクを削除
    remove_action('wp_head', 'wp_generator');
    // ショートリンク関連のリンクを削除
    remove_action('wp_head', 'wp_shortlink_wp_head');
    // Really Simple Discovery (RSD) リンクを削除
    remove_action('wp_head', 'rsd_link');
    // Windows Live Writer マニフェストリンクを削除
    remove_action('wp_head', 'wlwmanifest_link');
    // ショートリンク関連のリンクを削除(引数付きバージョン)
    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);
    // インデックスリンクを削除
    remove_action('wp_head', 'index_rel_link');
    // 開始投稿リンクを削除
    remove_action('wp_head', 'start_post_rel_link', 10, 0);
    // 親投稿リンクを削除
    remove_action('wp_head', 'parent_post_rel_link', 10, 0);
    // 隣接投稿リンクを削除
    remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
    // 隣接投稿リンクを削除(引数付きバージョン)
    remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
    // リソースヒントを削除
    remove_action('wp_head', 'wp_resource_hints', 2);
    // カノニカルリンクを削除
    remove_action('wp_head', 'rel_canonical');
    // 絵文字関連のスクリプトを削除
    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');
}
add_action('init', 'removeHeadAction');

function removeJsonAction() {
    // REST API関連のリンクを削除
    remove_action('wp_head', 'rest_output_link_wp_head', 10);
    // oEmbedディスカバリーリンクを削除
    remove_action('wp_head', 'wp_oembed_add_discovery_links', 10);
    // REST APIのoEmbedルートを登録するアクションを削除
    remove_action('rest_api_init', 'wp_oembed_register_route');
    // oEmbedディスカバリーを無効化するフィルターを追加
    add_filter('embed_oembed_discover', '__return_false');
    // oEmbedデータのパースアクションを削除
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
    // oEmbedのホストJavaScriptを追加するアクションを削除
    remove_action('wp_head', 'wp_oembed_add_host_js');
}
add_action('after_setup_theme', 'removeJsonAction');

Discussion