先日、訳あってXREAからコアサーバーへとWordPressの引っ越しを行いました。コアサーバーのWordPress移行サービスを使ったので、特に問題なく移行できた…はずだったのですが、翌日コメント一覧を確認したところ、引っ越し前についたコメントに対する自分の返信だけが消えていることに気づきました。
コメント自体はちゃんと残っているのに、なぜか自分の返信だけが表示されていなかったんです。
調べてみると、データベースの承認ステータスに問題があることが判明。手動で修正することで無事に解決できたので、同じようなトラブルに遭遇した方の参考になればと思い、経緯をまとめました。
XREAからコアサーバーへ引っ越し!移行作業はつつがなく
冒頭でもお伝えした通り、サーバーの速度やその他さまざまな理由から、XREAからコアサーバーへWordPressブログを引っ越しました。このブログは、バリュードメインで取得した独自ドメインを使用しています。
XREAとコアサーバーは、どちらもGMOデジロックが提供するサービスです。さらに、同じGMOデジロックが運営するバリュードメインでドメインを契約している場合、バリュードメインのコントロールパネルから、ネームサーバーやDNS設定を簡単に変更できます。実際の引っ越し手順は以下の通りでとても簡単でした。
- コアサーバーを契約
- コアサーバーの「オプション」からWordPress移行サービスを申し込み
- 移行が完了したらバリュードメインの「ドメインの設定・操作」からDNSとネームサーバーを変更

全く別の会社への引っ越しや、ドメインの移管と比べたら相当簡単でした!
引っ越し後に気づいた「過去の返信が消える」不具合
ブログ引っ越しの翌日、ありがたいことに過去の記事にコメントがつきました。さっそく返信し、コメント一覧を確認すると、なぜか過去のコメントに対する自分の返信だけが表示されていません。
親コメントには吹き出しで「2」と表示されているため、返信があること自体は認識されている様子。また、「未返信」の状態にもなっていなかったので、該当のコメントは「承認 & 返信済み」のステータスになっているはず。それなのに、私の返信だけが見えないのです。
例えば以下のような状況があり得るのかなと思いました。
- 返信コメント自体が引っ越しされていない
- 親子関係(コメントの紐づけ)が崩れている
- 表示設定に問題がある
幸い、旧サーバーにはまだWordPressのデータが残っているため、最悪コピーすれば復旧可能。とはいえ、まずは原因を探るためにPHPのデータを確認してみることにしました。
原因と解決策:PHPデータを確認してみたら…
コアサーバーの管理画面から phpMyAdmin に移動し、サイトの wp_comments テーブルを開いてみると…しっかり私の返信データが格納されているではありませんか。
「ちゃんとデータがあるし、IDも親コメントと正しく紐づいている。何がいけないんだろう?」と思いながら表を見ていると、「承認ステータス」 の欄に問題があることに気づきました。
私は、コメントは承認後に表示される設定にしていて、スパム対策のプラグインも入れています。そのため、各コメントの 「承認ステータス」 には通常、0(未承認)、1(承認済み)、spam(スパム)、trash(ゴミ箱)のいずれかの値が入っているはずなのです。
ところが、私の返信コメントの承認ステータスは空欄になっていました。空欄のままだと、コメントが存在していても表示されないようです。
そこで、直接セルをダブルクリックして 1 を入力したところ、無事に返信コメントが正しく表示されました! 一件落着です。

空欄ていったいどういうことなの……?
引っ越し時には一応確認した方がいいのかも?
過去のコメントへの返信が正しく表示されなかった原因は、承認ステータスが空欄になっていたことでした。なぜこのようなことが起きたのかは不明ですが、手動で修正することで無事に復旧できました。
珍しいケースかもしれませんが、同じ症状に遭遇した方は、落ち着いてPHPデータ(wp_comments テーブル)を確認してみてください。もし承認ステータスが空欄になっていたら、直接ステータスの値に1を入力することで解決できるかもしれません。

サーバー移行後は、コメント欄の表示も一度チェックしておくと安心ですね。