ワイヤード・パンチ

サイトレイアウトを変えてみました。よろしければアンケートにご協力ください。

WordPressの新規投稿で「最新の投稿を表示するページを編集中です。」が表示されて、本文入力ができないときの対処法。

以前の記事に書いたように、もともとはVPSで運営していた当Wordpressですが、先月中旬にVPSをやめてKAGOYAのWordpress専用サーバに乗り換えました。

でもマルチサイト不可なことが不満だったので、さらにサーバを探してみると、CORESERVERのCORE-MINIプランの方が希望通りだったので、月末にまた乗り換えました。

URLもディレクトリ構造も変わらないので、旧サーバからSQLをエクスポートとして新サーバにインポートするだけで終わるはずだったのですが、新規投稿画面を開いてみるとなぜか壊れています。

広告

新規投稿画面がどんな状態になっている?

スクリーンショットを取り逃してしまったため、テキストだけの説明になってしまいます。ご了承ください。

新規投稿画面のタイトル入力欄のすぐ下、パーマリンクが表示されている箇所には「?preview=true」と表示されています。

httpsもwiredpunch.comも載っていない、おかしな状態です。

また、そのパーマリンクのすぐ下には「最新の投稿を表示するページを編集中です。」という、左側に黄色いバーのついたメッセージが表示されています。

普段、こんなメッセージが出てくることは、まずありません。

そして、本文入力欄はなぜか消滅しています。これでは何も書けません。

さらには画面右側の「公開」の青いボタンは「レビュー待ちとして送信」に変わっており、実際に押してみても権限がないと言われて投稿できません。

管理者権限でログインしているのに。

試しに他のユーザを作ってそれでログインしてみましたが、それでも状況は同じです。

全部のプラグインを止めてもダメで、このままじゃもうお手上げです。サイト閉鎖の危機です。

よくある解決方法を試したが…。

今回の状況と似たような報告例として、Wordpressのバージョンを4.2.2に上げたときによく起こっていたそうです。

そのときはコアファイルをいじったり、MySQLの文字コードがUTFになっていないところを直したり。

でも、今回はバージョン4.9.4ですし、以前のサーバでも4.9.4だったので、バージョンが上がったことでエラーになったというわけではありません

また、MySQLの文字コードがUTFの統一されていないということもありませんでした。

不具合の原因はKUSANAGI。

現在とはWordpressのバージョンが異なりますが、以前もサーバを移転したときに同じ現象が起きました。

それはConohaのVPSにて、Wordpress構築済みのアプリケーションサーバから、まっさらのサーバにWordpressを自力で入れて移転したときです。

アプリケーションサーバには、KUSANAGIというWordpress関連のツールがインストールされていました。

今回の件であるKAGOYAのWordpress専用サーバにもKUSANAGIがインストールされており、そこからCORESERVERに移転したときにも発生。

つまり、KUSANAGIがインストールされていたサーバからSQLファイルをエクスポートし、KUSANAGIのないサーバにインポートしたときに、新規投稿画面がおかしくなることがわかりました。

どのタイミングで不具合が発生する?

KUSANAGIを使ってたサーバのSQLファイルをインポートすることで新規投稿画面がおかしくなることはわかったのですが、もうファイルそのものをインポートするだけでダメなのでしょうか。

あるいは、特定の部分が含まれている箇所をインポートすることでダメになるのでしょうか。

試しに、すべてのテーブルを含んだSQLファイルではなく、テーブルごとに分けたSQLファイルを一個ずつインポートしてみることにしました。

そもそも全テーブルを含んだSQLファイルだと重すぎて、インポート時に500エラーになる恐れがあるので、どのみち分割する必要がありました。

すると、wp_postsテーブルのSQLファイルをインポートしたあとに、新規投稿画面がおかしくなることが判明しました。

wp_postsといえば、投稿記事の内容を含んでいるテーブルです。ここが壊れているとなると、サイトとしてもうおしまいなんですが…。

解決方法。

SQLファイルのインポートを実行するのではなく、ファイル内のコマンドをコピーして直接実行することで解決しました。

手順としては、まずphpmyadminを開いて、wp_postsテーブルを空にしておきます。

次に、SQLファイルをお好みのテキストエディタで開きます。

その中から「INSERT INTO」および番号で始まるすべての行をコピーします。

(エクスポートの際、「データをダンプするときに使うコマンド」を「INSERT」にしていた場合です。)

コピーが済んだらwp_postsのSQL入力ページを開き、コピーしたものをペーストして実行ボタンを押します。

これで、SQLファイルをインポートしたときと同様、投稿記事の内容を登録することができます。

SQLファイルをインポートしたときとは違って、コマンド実行から行った場合は、新規投稿画面の破損は発生せず、無事に登録完了となりました。

なお、あまりにも多数の行を一気に貼り付けてから実行すると、SQLファイルをインポートしたときと同様に500エラーになる恐れがあるので、分割して行った方がいいかもしれません。

まとめ。

結局、なぜKUSANAGIを使っていたサーバのSQLファイルをインポートすることで画面が破損するのかはわかりませんでしたが、とにかくKUSANAGIに原因があることはわかりました。

そもそも、Wordpressを高速化すると言われているKUSANAGIですが、あってもなくても正直言って違いを実感できません

しいて良かった点といえば、管理者としてログイン中に、読み込みにかかった時間が表示されることくらいであり、決して早くなっているわけではありません。

よって、今後一切はKUSANAGIが導入されているサーバは使わないことにします

そして今回選んだCORESERVERはKUSANAGIがないので、もしまた他のサーバに移ることになっても、新サーバの方で新規投稿画面が壊れることはないでしょう。

余談。今回選んだプランの比較。

今回の移転先となった、CORESERVERのCORE-MINIプラン

容量は60GBで、マルチドメインは50個まで。1つのWordpressをマルチサイト可することはおそらく不可ですが、シングルサイトなら何個も建てられるはずです。

そして肝心の月額は、なんとたった198円

KAGOYAのWordpress専用サーバは、たった20GBしか使えず、サイトも1つまでだったのに、月額は432円。

それと比べると、圧倒的にお得です。

今度、仕事のうえで相手のサイトを自分のサーバに置く必要も出てくると思うので、複数サイトを置けるサーバにした方が懸命です。

一方でKAGOYAの方は、KUSANAGI導入済みかつモリサワWEBフォント使用可という特徴がありましたが、KUSANAGIは今回のように足を引っ張るだけですし、WEBフォントはそこまで優先して使う必要もないもの。

CORESERVERの方も、料金が安い分もしかしたら読み込みが遅いという恐れはあるかもしれませんが、198円というあまりの安さを考えると妥当でしょう。

むしろ198円なのにWordpressを使える利点が大きすぎます。

大昔、Wordpress使用可能なレンタルサーバと言えば、月額1,500円くらいでなおかつ初期費用もかかったのに、今は本当に安くなりましたね…。

ヘタにVPSにするより、手間も少ないですし。