WordPressでサイト全体のレイアウトが何もしてないのに突然崩れる、という問題に出くわしたので、それについて原因と解決まで少し紹介します。
結論から言うと、私の環境特有の感じのあるバグによるものだったと思われるわけなので、他の方の直接的な原因解決には参考にならないかもしれません。それでも解決や問題の考察のヒントになればということで、備忘録を残しておきます。
つい先程の話なんですが、偶然試していたjqueryプラグインをどっかのサイトで試そうとしていたところ、当サイトでいいんじゃないかって思ってアクセスしたんですね。
すると…
………ん?
レイアウトだけじゃない。タイトルタグからメタタグも全部外れてる…最悪だ…手遅れでないことを祈るしかない………。
真っ先に思ったのは、ハッキングですよね。やはり。次に思うのが、サーバー側のトラブル。
まず他の僕のサイトが被害を受けていないかを確かめました。大丈夫。
サーバーになんかあったならメールきてるはずだけど、ない。
特にサーバーとか全ての所持サイトに影響与えるような操作を直前までやってたなんてこともないし、
せいぜい本体とかプラグインの一括アップデートくらい…まさかそれか?
とりあえずどこがどれくらい損傷受けてるのか調べないことには、ということでSSHでyuiproの子テーマに入り、真っ先にheader.phpをrmate(*サーバーのファイルをatomエディタで開くプログラム)。
…真っ白。(エディタの色的に言えば真っ黒なんですが。)
何も書いてない。
他のファイルとかlocate_templateしてるようなPHPファイルの被害も確認。こちらは大丈夫だった。
じゃあheader.phpだけか。
幸い、最近大型のアップデートをしていて、gitにもstableバージョンのコミットをしていました。
まずフォルダをFTPして、またコピーして、hardでresetして、エディタでheader.phpを開く。
…まぁなんか欠けてるかも知れないがとりあえず覚えのあるコードが書いてあって安心。
これをSSHで開いているheader.phpにコピペ。保存。サイトをshift+F5で更新して…
良かった…とりあえず。
既存のページやサイトマップなどもメタタグ含めて確認。損傷は覚えてる限りではなさそう。
なぜこんなことをが起きたのか
実は一つだけ覚えがありまして。
もしかしたら、ですが、
僕はrmateっていうSSHしてる間にAtomでファイルを開いて編集できるっていうツールを使っています。
数日前もこうしてrmateでheader.phpを含んだ様々なファイルを編集していたところでした。
それで、何が原因だったかな。たしか、これはまた違うサーバーに対してのSSHしていて、同時にですね、そこでrmateを/etc/environment
にしたんです。
そうすると、なかなかAtomがファイルを開かない。で結局開けなくなっちゃって、結局そのAtomのウィンドウを強制的に閉じるってやったら、その後のrmateはできるようになったんですよね。既存のrmateセッションが強制キルされただけで。
でその後何もなく作業していて、一度PCの再起動を経て今に至るんですが、
もしかしたら、この強制終了の時点で、rmateで開いていたheader.phpに影響が出た、ということかも知れません…。
怖いですね…
まとめ
大切なデータ・コードはいつどうなるかわかりません。ちゃんとGitでキリがいいところで逐一保存しておき、また、フォルダごとのフルバックアップをローカル以外の異なるリモートサーバーなどに取っておく、などしておくと安心かと思いました。