ある日突然、
- 管理画面にはログインできる
- 投稿一覧にも記事は存在している
- 記事編集画面でも内容を確認できる
- でもサイトを表示すると記事本文だけ出てこない
- サイドバーだけ表示される
そんな状態になっていませんか?
WordPressが壊れたのかと思って焦るかもしれませんが、記事データが消えたわけではなく、テーマファイルの一部が欠損しているだけの場合があります。
最近この症状を何件か見かけたので、対処方法をまとめておきます。
こんな症状が出ていたら要注意
- 管理画面にはログインできる
- 投稿一覧には記事が存在する
- 記事編集画面でも内容を確認できる
- サイト上では記事本文が表示されない
- サイドバーだけ表示される
- エラーメッセージが表示されない
これらに当てはまる場合は、テーマファイルの破損を疑ってみてください。
特にサーバー障害のあとに発生しやすい
私が確認したケースでは、サーバー会社から
- ディスク障害が発生しました
- ストレージ障害が発生しました
- サーバー障害が発生しました
というアナウンスがあったあとに発生していました。
もちろん必ずではありませんが、サーバー側で何らかの障害が発生したあとにテーマファイルの一部が欠損してしまうケースがあります。
もし最近サーバー会社から障害報告が出ていた場合は、この可能性も疑ってみてください。
なぜtmpフォルダだけ消えることがあるのか
この現象がややこしいのは、WordPressの記事データやデータベースが壊れているわけではないことです。
CocoonやSWELLには「tmp」という名前のフォルダがあります。
tmpは一般的に「Temporary(一時ファイル)」を保存するために使われる名前です。
そのため、サーバーのバックアップ設定や復旧作業によっては、tmpフォルダがバックアップ対象から除外されてしまうことがあります。
実際にサーバー障害が発生した際、
- データベースは復旧している
- 記事データも残っている
- 管理画面も正常に動作する
にもかかわらず、tmpフォルダ内のファイルだけ消えてしまうケースがあります。
その結果、
- 管理画面では記事が見える
- 投稿一覧にも存在する
- しかしサイト上では記事本文が表示されない
という不思議な状態になることがあります。
CocoonやSWELLではtmpフォルダを確認する
CocoonやSWELLでは、テーマ内に「tmp」というフォルダがあります。
このフォルダの中身が消えてしまうと、正常に表示できなくなることがあります。
まずはFTPソフトやサーバーのファイルマネージャーで確認してみてください。
Cocoonの場合
wp-content/themes/cocoon-master/tmp/
SWELLの場合
wp-content/themes/swell/tmp/
異常かどうかの判断方法
フォルダを開いてみて、
- ファイルが入っている → 正常の可能性が高い
- フォルダが空になっている → テーマファイル破損の可能性あり
という判断ができます。
私が対応したケースでは、tmpフォルダの中が空になっていました。
その結果、管理画面上では記事が存在しているにもかかわらず、サイト上では記事本文が表示されなくなっていました。
復旧方法
方法1:公式テーマから不足ファイルを復元する
もっともおすすめなのは、公式サイトからテーマを再ダウンロードし、不足しているファイルを補う方法です。
記事データやデータベースには影響しないため、まずはこちらを試してみるとよいでしょう。
方法2:テーマを再インストールする
一旦別テーマへ切り替えてから、
- テーマを削除する
- テーマを再インストールする
- 再度有効化する
という方法も考えられます。
ただし私はこの方法を試していないため、確実に復旧するかどうかはわかりません。
方法3:バックアップから復元する
バックアップがある場合は復元という選択肢もあります。
ただし注意が必要です。
バックアップ取得後に行った変更は失われる可能性があります。
- 新しく投稿した記事
- 画像のアップロード
- コメント
- 設定変更
そのため、まずはテーマファイルの復元で直らないか確認してから判断することをおすすめします。
まず確認してほしいこと
WordPressで、
- 管理画面には記事がある
- 記事編集画面でも内容が見える
- でもサイト上では記事が表示されない
という状態になったら、まずテーマのtmpフォルダを確認してみてください。
特にCocoonやSWELLを利用していて、最近サーバー障害のアナウンスが出ていた場合は要チェックです。
意外とWordPress本体やデータベースではなく、テーマファイルの欠損が原因になっていることがあります。
まとめ
- 管理画面に記事があっても表示されないことがある
- サイドバーだけ表示される場合はテーマ破損の可能性がある
- CocoonやSWELLではtmpフォルダを確認する
- tmpフォルダはバックアップ対象から漏れることがある
- tmpフォルダが空ならテーマファイル欠損を疑う
- サーバー障害後はtmpフォルダの状態も確認する
- 公式テーマからの復元がおすすめ
- バックアップ復元はデータ消失に注意
同じ症状で困っている方の参考になれば幸いです。
