WordPress のヘッダから不要なコードを取り除く

WordPress のヘッダに出力される不要なコードを削除するあれこれ。



WordPress バージョンの削除

バージョンがいくつなのか見えているとセキュリティ的にあんまり良くない印象がありますしね。

出力される HTML

html
1
<meta name="generator" content="WordPress 5.9.1" />

削除するには functions.php に追記。

functions.php
1
remove_action('wp_head', 'wp_generator');



Windows Live Writer 用のファイル wlwmanifest.xml の削除

Windows Live Writer というのは Microsoft が配布していたBlog編集に用いるアプリケーションで、wlwmanifest.xml はこのアプリケーションの利用の際に使用されるファイルだったようです。
現在ではこのアプリケーションを使う Windows Live Spaces というブログサービスが2011年に終了しアプリケーションのサポートも2017年に終了している上、このアプリケーションが同梱されていた Windows Essentials 2012 の配布が終了しており、Windows10 及び Windows11 での利用も不可ということで、リンクの出力はほぼ不要と思われます。またセキュリティ面からも削除したほうが良いという記載もちらほら見かけました。
参考: Windows Essentials

出力される HTML

1
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://YOURWEBSITE/wp-includes/wlwmanifest.xml" />

functions.php に追記。

functions.php
1
remove_action('wp_head', 'wlwmanifest_link');



RSD (Really Simple Discoverability) の削除

直訳すると”とってもシンプルな発見されやすくするもの”なの?
内容は xmlrpc へのリンクの羅列になっていて、外部から WordPress の記事を編集したり操作したりする時に使うものらしいです。

出力される HTML

html
1
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://YOURWEBSITE/xmlrpc.php?rsd" />

functions.php に追記。

functions.php
1
remove_action('wp_head', 'rsd_link');



ショートリンク

各記事ページのショートリンク(短縮URL)の出力。
短縮URLでもアクセスできますがその明示が必要でなければ。

html
1
<link rel='shortlink' href='[YOURBLOG]/?p=123' />

functions.php に追記。

functions.php
1
remove_action('wp_head', 'wp_shortlink_wp_head');




ブロックエディタのduotoneが出力するSVG

ヘッダに大量に出力されるSVG、ブロックエディタのduotone(画像を2色でかっこよくするやつ)のためのものですが、もしこの機能がいらないという場合は消しても良いかも。
開発中にソース見る時どうにも邪魔に感じたのでいったん削除してみました。

‘functions.php`に追記。

functions.php
1
2
3
// Remove unwanted SVG filter injection WP
remove_action( 'wp_enqueue_scripts', 'wp_enqueue_global_styles' );
remove_action( 'wp_body_open', 'wp_global_styles_render_svg_filters' );

参考:
WordPress support / Disabling Gutenberg Duotone Filter?
https://wordpress.org/support/topic/disabling-gutenberg-duotone-filter/





もう消す必要がなくなったもの

wp_head() から削除する方法を紹介した記事には他に必ずといって記載されているコードもあるのですが、すでにWordPressでは非推奨となっていて使われていないものもあるようです。

リレーションリンク関係

html
1
2
3
4
<link rel='index' title='Main Page' href='http://[YOURSITE]' />
<link rel='start' title='Article in the distant past' href='http://[YOURSITE]/hello-world/' />
<link rel='prev' title='The Post Before This One' href='http://[YOURSITE]/post-before/' />
<link rel='next' title='The Post After This One' href='http://[YOURSITE]/post-after/' />

こちらのコードは既に記載が不要です。

functions.php
1
2
3
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head' );



Audio Video ショートコード関連

音声ファイルや動画ファイルの埋め込みのためのショートコードで使われるmediaelement.js関係のCSSとJavaScript、これらを削除する方法について書かれた記事や質問サイトでの記載がいくつかあったのですが、2022年4月現在のWordPressバージョン5.9.3で見たところ、使用されていないページでは該当のCSSやJavaScriptの出力はされていませんでした。
仕様が変更されたのかもしれない。

当該のCSSとJavaScriptの呼び出しは、wp-includes/media.php2087行目で行われていて、呼び出し時にショートコードを使用しているか判定してるみたい。(たぶんw)
https://core.trac.wordpress.org/browser/tags/5.3/src/wp-includes/media.php#L2087

削除方法が書かれていた記事をいちおうメモしておきます。(自分のために)

【WordPress】自動で読み込まれる mediaelement系のCSSとJavaScriptを削除する方法
https://on-ze.com/archives/8262

Remove wp-mediaelement.css from wp_head
https://wordpress.stackexchange.com/questions/108833/remove-wp-mediaelement-css-from-wp-head



またいろいろ追記していきます。(予定)









Author

FEN

Posted on

2022-03-04

Updated on

2022-04-22

Licensed under

コメント