WordPressでX-Powered-Byヘッダ出力を防止する方法

デフォルトでWordPressはX-Powered-ByヘッダにPHPのバージョン情報を応答します。
この情報はセキュリティの観点からも不要なので削除してしまいましょう。

X-Powered-By: PHP/7.2.16, ASP.NET

function.phpの変更

使用しているテーマ内のfunction.phpに以下を追加します。
子テーマを使用している場合は子テーマ内のfunction.phpを変更します。

header_register_callback(function(){
    header_remove('X-Powered-By');
});

Web.configの変更

本サイトを運用しているAzureでは、X-Powered-Byヘッダに「ASP.NET」の文字も出力しています。
function.phpでPHPのバージョンは消えてるので放置しても良いのですが、ついでにコレも削除してしまいましょう。

以下のファイルを変更します。
wwwroot/web.config

<configuration>
  <system.webServer>
…
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

動作確認

ブラウザでWordPressのサイトにアクセスし、F12ボタンで開発者ツールで表示してみましょう。
WordPressのHTMLページのレスポンスヘッダにX-Powered-Byヘッダが含まれていなければ成功です。

X-Powered-Byヘッダ出力の防止結果