WordPressからPHPファイルの更新ができない
WordPressのテーマファイルエディターでheader.phpを編集しようとしたら、
「致命的なエラーをチェックするためにサイトと通信できないため、PHPの変更は取り消されました。SFTPを使うなど、他の手段でPHPファイルの変更をアップロードする必要があります」と表示され更新できませんでした。
このエラーは、過去に自分で設定したWAF(セキュリティ機能)が原因でした。
筆者の環境はWordPress6.6.1、サーバーはさくらインターネット、ドメインもさくらインターネットです。
その他のレンタルサーバーについては、後述します。
なお、WAFというのは「Web Application Firewall」の略で「ワフ」と読み、すごくざっくり説明すると、「悪意ある攻撃を検知・ブロックする機能」です。
さくらインターネットでWAFを一度無効にする
さくらインターネットのWAF機能の設定変更は、会員メニュー
https://secure.sakura.ad.jp/auth/login
からコントロールパネルにログインし、「ドメイン/SSL」の中に表示されるドメインの設定から可能です。
WAFは、初期状態では無効になっているはずですが、有効になっていると冒頭のようなエラーが出ることがあります。
手動で「利用する」のチェックをはずして無効にしましょう。
私の環境では、これで解決しファイル更新ができるようになりました。
さくらインターネットのサポートページでも、WAFの設定手順について解説されています。(やり方が異なりますが)
https://help.sakura.ad.jp/rs/2233
さくらのレンタルサーバー以外の場合
レンタルサーバー会社の多くが、WAFに対応しています。
さくらインターネット以外のレンタルサーバーを使っていて、同じエラーで更新できない方は、以下をご確認ください。
お名前ドットコム
お名前.comのレンタルサーバーでも、WAFは設定可能です。
ご利用ガイドに設定変更手順が解説されています。
https://www.onamae-server.com/guide/rs/p/13
エックスサーバー
エックスサーバーも、WAFは設定可能です。
ウェブマニュアルに設定について解説されています。
https://www.xserver.ne.jp/manual/man_server_waf.php
ロリポップ
ロリポップもWAFに対応しており、ウェブマニュアルで設定変更方法が解説されています。
https://lolipop.jp/manual/user/waf-set
まとめ
昨今のレンタルサーバーはWordPressのクイックインストール機能が使えたり、SSL自動更新ができたり、WAFの有効がワンクリックでできたりと初心者でもホームページ運用が簡単な仕様になっています。
しかし、WAFについてはそもそも知らない人の方が多い(はず)し、結構WordPressトラブルのもとになるのでその点についても周知に努めてほしいものです。