サイトヘルス機能を使ってみた

説明

先月末にWordPress 5.2 Beta1が、今日はWordPress 5.2 Beta2(以降5.2Beta2)が公開された。5.2ではブロックエディターの機能が強化され、サイトの安全性とパフォーマンス向上に役立つとされるサイトヘルス機能が追加される。

テスト環境はKUSAGAGIで

5.2Beta2を本番環境で試すわけにもいかないので、「KUSANAGI for Vagrant」の環境を使った。

$ sudo su -
# yum update
# reboot

サーバーが再起動したら、再びコンソールを開いて以下のコマンドを実行。

$ sudo su -
# kusanagi init
# kusanagi provision kusanagi_html

ここではコマンド実行時の入力内容は割愛するが、web serverはNGINXを、application serverはPHP7を、hostnameは192.168.33.10を指定した。ブラウザで192.168.33.10にアクセスしてWordPressをインストール。ダッシュボードを開いてKUSANAGIのウィジェットでPHPバージョンを確認した。

PHP status : PHP/7.3.4

4月8日時点で、WordPress公式が推奨するPHP 7.3.4になっている。

5.2Beta2のインストール

インストール直後のWordPressのバージョンは5.1.1だったので、WP-CLIを使って5.2Beta2へアップデートする。

# cd /home/kusanagi/kusanagi_html/DocumentRoot/
# wp core update --version=5.2-beta2
Updating to version 5.2-beta2 (en_US)...
Downloading update from https://wordpress.org/wordpress-5.2-beta2.zip...
Unpacking the update...
Success: WordPress updated successfully.

アップデート対象のファイルは言語設定に依存するので、日本語を選択している場合は--localeオプションを指定する(コマンドの詳細はwp core update : WP-CLI Commandsを参照)。

Site Healthの結果

ブラウザでダッシュボードをリロードして、ToolsメニューのSite Healthをクリック。サイトのチェック結果が表示される。

KUSANAGIのSite Health結果

ページ上部にはヘルス状態が円グラフと%表記で、Critical issues(重要な問題)、Recommended improvements(推奨する改善項目)が表示される。またPassed testsボタンをクリックすると問題なかった項目が列挙される。現状のチェック対象の項目は次の通り。

項目バッジチェック内容今回の結果
WordPressバージョンSecurityコアアップデートの有無
プラグインSecurityアップデートの有無と未使用
テーマSecurityアップデートの有無と未使用
PHPバージョンSecurity推奨バージョン(7.3)との比較
PHP拡張モジュールPerformance推奨モジュールの有無
SQLサーバーSecurity推奨バージョンとの比較
UTF8MB4のサポートPerformance適用バージョンとの比較
wordpress.orgへのアクセスSecurityapi.wordpress.orgへのアクセス結果
デバッグモードSecurityデバッグ情報の出力状態
HTTPS通信Security is_ssl関数の結果
SSLのサポートSecuritySSLのサポート状況
疑似cronの作動状況Performance検証用cronの実行結果
自動更新Security自動更新の状態×
ループバック機能Performanceループバック機能の動作状況
HTTPリクエストPerformanceHTTPリクエストが可否
REST APIPerformanceREST APIの動作状況

〇はno issue、△はrecommended improvement、×はCritical issue

KUSANAGIではWordPressの自動更新機能を使用せず独自の更新機能を備えているためこの項目は「×」となるが、実質的に問題はないだろう。プラグインとテーマについては、WordPressをインストールした直後なので未使用のものが見つかった結果であり、HTTPS通信については今回開発環境用として構築する際にドメインを指定しなかったためである。いずれも本番環境であれば改善するのは難しくなく、KUSANAGIで構築したWordPress環境の安全性は高い。

Site Healthのチェック項目やチェック内容は正式リリースや今後のアップデートで変更される可能性がある。ちなみに、これらのチェック項目はフィルターによって調整可能になっているのが、WordPressらしさである。

$tests = apply_filters( 'site_status_tests', $tests );

最終更新 : 2019年04月12日 10:54


お勧め

remove_submenu_page(2018年5月27日 更新)

mixed remove_submenu_page( string $menu_slug, string $submenu_slug )
サブメニューを削除する。

get_http_origin(2018年5月27日 更新)

string get_http_origin()
リクエスト元のオリジンを取得する。

trackback_url(2018年5月27日 更新)

mixed trackback_url( [ bool $deprecated = true ] )
現在の投稿データのトラックバックURLをパラメータ$deprecatedがtrueの場合は表示する。パラメータがfalseの場合は取得する。

comments_open(2018年5月27日 更新)

bool comments_open( [ mixed $post_id = NULL ] )
投稿ページ(情報)がコメント投稿を許可しているかを調べる。

get_theme_mod(2016年5月22日 更新)

string get_theme_mod( string $name [ , mixed $default = false ] )
現在のテーマ固有のプロパティ値を取得する。