はじめに
BlockEditorで保存ができなくなった理由が見えてきたと言う話を書きました。今日はこの理由が完全に解明し、保存できる様になったのでメモしておきます。
原因はwp-config.phpファイルの修正漏れ
まぁ、判明してみると何だそんなことかと言う話なのですが、如何せん真面目にWebサイトを作るのが実に15年ぶりぐらいなので、そんなことすら私にはわかりませんでした。そもそも、自分のサーバーの構成を理解したのもここ最近の話なので。
原因がわかれば対策は簡単です。言うまでもありませんが、wp-config.phpファイルを修正すればおしまいです。
私の環境(Bitnami, Nginx, WordPress)では、wp-config.phpファイルは/opt/bitnami/wordpress内にあるので、これを適切な形に修正します。
元々はこんな感じで書いてあり、WP_SITEURLとWP_HOMEを設定しているのですが、サイトのSSL化をした後に、ここを書き換える必要がありました。
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
変更後はこんな感じです。とても微妙な違いなのですが、httpがhttpsに変わっています。
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/');
これをして、Webサービスを再起動することで、全ては解決します。
これをすると何が起こるかと言うと、Wordpressの管理者ページでSetting > Genreralを開いた時に表示されているサイトのURLが正しいものに書き換わります。私とおなじくBitnamiを使ってWordpressを導入した方はここを管理画面から直に更新することはできないため、wp-config.phpファイルを直にいじることになります。
何故判ったのか
正直に言って、深追いするつもりはなかったのですが、下書きの一番最初の自動保存はできるのに、その後の保存ができないことにとても大きな違和感を感じていました。ここに何かがあるに違いないと何と無く思っていました。
私はWebの開発を専門的にやっているわけではないので、ブラウザは見るためにあるのですが、以前職場の後輩がChromeの開発者モードを利用してサーバーとクライアントの通信を見ているのを思い出し、何か分かるかもしれないなと思い、見様見真似でやってみました。
そもそもSafariの開発者モードってどうやって表示するの?からだったのですが、これで下書き保存のイベントを捕捉してみると、ボタンをクリックした時に発生したイベントに記録されているURLが、httpsではなくhttpであることがわかりました。
この状況からして、どこかでデフォルトの設定か何かがあってそれを見に行っているんだろうと言う想像のもと、Setting > Generalを見てみるとURLがhttpのままになっていることが確認でき、であればこれを直せばどうにかなるかも?と思い、試しにやってみたら見事成功。と言うことでした。
まとめ
- ようやく当サイトの不具合が全て解消し、再び快適に利用できる様になりました
- もし、WebサイトをSSL対応させた後にWordpressのBlockEditorで下書きを保存できなくなったら、サイトのURLの設定が間違っている可能性があるので確認してみてください
- WordPressが実現しているNoCodeの世界は、とても素晴らしいことだとは思いますが、中身が見えなくなり、知らなくても使える様になればなるほど、中身を見られて知っていることの重要性が高まるなと改めて思いました