WordPress のヘッダから不要なコードを取り除く
WordPress のヘッダに出力される不要なコードを削除するあれこれ。
- WordPress バージョンの削除
- Windows Live Writer 用のファイル wlwmanifest.xml の削除
- RSD (Really Simple Discoverability) の削除
- ショートリンク
- ブロックエディタのduotoneが出力するSVG
- もう消す必要がなくなったもの
WordPress バージョンの削除
バージョンがいくつなのか見えているとセキュリティ的にあんまり良くない印象がありますしね。
出力される HTML
1 | <meta name="generator" content="WordPress 5.9.1" /> |
削除するには 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
に追記。
1 | remove_action('wp_head', 'wlwmanifest_link'); |
RSD (Really Simple Discoverability) の削除
直訳すると”とってもシンプルな発見されやすくするもの”なの?
内容は xmlrpc へのリンクの羅列になっていて、外部から WordPress の記事を編集したり操作したりする時に使うものらしいです。
出力される HTML
1 | <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://YOURWEBSITE/xmlrpc.php?rsd" /> |
functions.php
に追記。
1 | remove_action('wp_head', 'rsd_link'); |
ショートリンク
各記事ページのショートリンク(短縮URL)の出力。
短縮URLでもアクセスできますがその明示が必要でなければ。
1 | <link rel='shortlink' href='[YOURBLOG]/?p=123' /> |
functions.php
に追記。
1 | remove_action('wp_head', 'wp_shortlink_wp_head'); |
ブロックエディタのduotoneが出力するSVG
ヘッダに大量に出力されるSVG、ブロックエディタのduotone(画像を2色でかっこよくするやつ)のためのものですが、もしこの機能がいらないという場合は消しても良いかも。
開発中にソース見る時どうにも邪魔に感じたのでいったん削除してみました。
‘functions.php`に追記。
1 | // Remove unwanted SVG filter injection WP |
参考:
WordPress support / Disabling Gutenberg Duotone Filter?
https://wordpress.org/support/topic/disabling-gutenberg-duotone-filter/
もう消す必要がなくなったもの
wp_head() から削除する方法を紹介した記事には他に必ずといって記載されているコードもあるのですが、すでにWordPressでは非推奨となっていて使われていないものもあるようです。
リレーションリンク関係
1 | <link rel='index' title='Main Page' href='http://[YOURSITE]' /> |
こちらのコードは既に記載が不要です。
1 | remove_action('wp_head', 'start_post_rel_link'); |
Audio Video ショートコード関連
音声ファイルや動画ファイルの埋め込みのためのショートコードで使われるmediaelement.js関係のCSSとJavaScript、これらを削除する方法について書かれた記事や質問サイトでの記載がいくつかあったのですが、2022年4月現在のWordPressバージョン5.9.3で見たところ、使用されていないページでは該当のCSSやJavaScriptの出力はされていませんでした。
仕様が変更されたのかもしれない。
当該のCSSとJavaScriptの呼び出しは、wp-includes/media.php
の2087行目で行われていて、呼び出し時にショートコードを使用しているか判定してるみたい。(たぶん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
またいろいろ追記していきます。(予定)
WordPress のヘッダから不要なコードを取り除く
https://fennote.fareastnoise.com/2022/03/04/Remove-unneccessary-codes-from-WordPress-header/