以下、詳細な説明は追って追加していきますが、テーマのフロントエンドの <head>
に出力されるもので、これは不要かな、と思うものをザクザクと削除するスクリプト一式です。
functions.php に書きます。
//絵文字使わない remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); add_filter( 'emoji_svg_url', '__return_false' ); //generatorは削除 remove_action('wp_head', 'wp_generator'); //wlwmanifestをトル remove_action('wp_head', 'wlwmanifest_link'); //フィードを消す remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'feed_links_extra', 3); //xmlrpcは要らない remove_action('wp_head', 'rsd_link'); //ショートリンクの表示を削除 remove_action('wp_head', 'wp_shortlink_wp_head'); //<link>の前ページ、次ページをトル remove_action('wp_head','adjacent_posts_rel_link_wp_head',10); //srcsetは削除 add_filter( 'wp_calculate_image_srcset', '__return_false' ); //canonical は削除 remove_action( 'wp_head', 'rel_canonical' ); //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 ); //DNS プリフェッチのタグを削除 function remove_dns_prefetch( $hints, $relation_type ) { if ( 'dns-prefetch' === $relation_type ) { return array_diff( wp_dependencies_unique_hosts(), $hints ); } return $hints; }
昔から繰り返し使っているもので、エラーは特に出てないと思いますが、未検証のものも多いので、追々、確認していこうと思っています。
2021-11-23 に大幅加筆修正
WordPress 5.0以降で追加された、ブロックエディタ関連のインラインスクリプトを消す方法は、以下に案内しています。