こんな状態になったら今まで書いたものをすべてあきらめて再インストールするしかないのか・・・と意気消沈する前に、多くのサイトで紹介されているものもさらっと書きつつ、何が要因で不具合が発生しているのか?どうしたらいいのかを紹介します。
まずは何をしてそうなったのかを思い出そう
これが一番肝心かも知れません。自身で作成し、自分しかログインして作業しないのであれば、どこで不具合が発生したのかは想像がつくはずです。トラブルの時にはこれがいかに正確に思い出せるかが修復を成功させるための最重要事項ですから、慌てて何かをする前にじっくり思い出しましょう。
ただWordPressは時々バックエンドで作業している間は良くても翌日になったらいきなり・・・てなこともあるんですね実際。まあほとんどは何かを変更した途端におかしくなるというパターンですけどね。
エキスパートの人ならサーバー内の情報を操作してということもあるかと思いますが、そうでなければ大抵
- テーマを変更したり何かを追記・削除したりした
- プラグインの追加・編集・停止・削除・更新などをした
- WordPress本体の更新をした
記事の編集画面で何かをした・・・などというWordPressの基本動作範囲内のものは除外して問題ないと思います。
ここでトラブルになりがちなのがプラグインの更新や停止。特にセキュリティ系のプラグインや一定期間ページを保存(キャッシュ)するようなプラグインの場合は要注意です。また、プラグインの中には次回ログイン時に発動するものもありますので気を付けましょう。できれば更新前にアップデートログを見て何が変わるのかを見ておくのも必要だと思います。
次にトラブルが多いのが本体のアップデート。更新プログラムやサーバーの状況によっては時間が思ったよりもかかる場合がありますから、更新されて「ようこそ」画面が表示されるまでは必ず放置しましょう。本来WordPressは指示を出したらサーバー内部で処理を完了させ、「ようこそ」画面を表示するというアクションなので更新途中で閉じてしまってもいいのですが、そうすると更新で不具合が出たのかどうかも判断できませんからね。
修復のポイントは「何をやったらそうなったのか?」を思い出して、その1つ前の状態に戻すことに尽きます
ひとまずできることをしてみよう
怪しいプラグインやテーマを停止してみる
前述したようにトラブルの発生原因を突き止め、以前の状態にもどすことが大事ですので
- プラグインの関係を操作して発生したならそのプラグインを止めてみる
- テーマを操作して発生したならそのテーマを止めてみる
止め方の手順は一緒です。FTPクライアントか、サーバーのファイルマネージャーでサーバー内のファイル・フォルダへ接続し、「wp-content」フォルダを見つけ、開きます。
そしてプラグインなら「plugins」テーマなら「themes」を開き、トラブル発生の要因となったものの名前を「xx-プラグインやテーマの前」などの別名にします。
これでプラグインもテーマも強制的に無効になります。
※テーマの場合、ほかのテーマが何もない場合にはWordPressの公式サイトから適当なテーマをダウンロードして解凍後、「themes」フォルダへアップロードしておけばよいでしょう。
名前を変更したプラグインやテーマが原因ならこれで復旧するはずです。
その後もう一度同じプラグインやテーマを使う場合には名前を元に戻せば認識されます。が、そのまま有効化すると同じトラブルが出る可能性が高いので、データベース内の該当データを操作する自信がなければ他のものを使うのが無難です(プラグインやテーマの設定などはデータベース内にありますので・・・)。
怪しいものを1つ停止しては確認、1つ停止しては確認という風にすれば、原因の特定もできますし、作業も最小限で済みます。
※この方法はたくさんのサイトで紹介されていますし、トラブル発生時の常套手段ですのでこの程度にしておきます。
本体の更新などでトラブルがあったかを確認する
訪問者が見る画面部分の表示崩れはテーマかプラグインが原因であることがほぼ100%なのですが、本体の更新などに失敗した場合には
- ログイン画面が表示されない
- いつもログイン時に使用している「http://〇〇/wp-admin」へアクセスしてもログイン画面へ遷移しない
- ログイン画面がそもそも表示崩れしている
- ユーザー名とパスワードを入力してログインボタンを押すと404エラー「page not found」などの画面になる
とログイン画面の段階でおかしくなることがほとんどです。
最近のサーバーではWordPressの本体更新を自動でしてしまう場合もありますので何もしてないのに・・・という場合にはこれを疑ってもいいのかもしれません。
またよほどのことがない限り、データベース(情報が保存されている場所)にダメージがあることは少ないですから、以下の方法でバージョンの確認とファイル類の上書きをしましょう。
※サーバーのファイルマネージャーではフォルダと中身をアップロードできるものが少ないのでFTPで接続しての作業をおすすめします
※バージョンの確認は大切なので必ず行ってください(記憶は危険です)
バージョンの確認は
- サーバーへFTPで接続するか、ファイルマネージャーを開く
- 「wp-includes」フォルダを探して開く
- 「wp-version.php」を見つける
FTPであればこのファイルを一旦パソコンへダウンロードして開きます
ファイルマネージャーの場合はファイルの上で右クリック後「編集」をクリックすると中を見ることができます
(サーバーによってはファイルマネージャーでページ分割されていてファイルが見つからない場合がありますのでよく探してください)
「wp-version.php」の中にバージョン番号(4.9.6とか5.0.0とか)が書かれていますのでメモするか画面を開いたままにします
次に公式サイトへアクセスし、「WordPressを入手」をクリック後、画面下の方にある過去のバージョンなどから今メモしたバージョンの本体ファイルをダウンロードします。
ダウンロードが終わったら解凍しておきましょう。
解凍フォルダを開き、以下のフォルダ・ファイルを削除します
※これをしないと上書きされてしまい、データが失われたり、さらに困難なトラブルの原因となりますので慎重に行いましょう
- 「.htaccess」というファイルを削除
これはサイトのアクセス権限などを設定するファイルになります
- 「wp-config.php」というファイルを削除
これはサイトとデータベースをつないだりする大切なファイルになります
- 「wp-content」というフォルダを削除
これはWordPressインストール後にいろいろと行った画像やプラグイン、テーマなどのファイルやフォルダ類が保存されているフォルダになります
削除が終わったら、サーバーの中へ残りのファイル・フォルダを上書きアップロードしましょう。
これで本体の不具合であれば解消されると思います。
最悪のケース サイトの再インストールを行う
最悪のケースと書きましたが、実はこれが一番手っ取り早い方法でしょう。上で紹介したファイル上書きの方法とほぼ同じですので注意点を除き簡潔に紹介します。
サーバーから「wp-config.phpファイル」「.htaccessファイル」「wp-contentフォルダ」をダウンロードする
できれば全部のファイル・フォルダをダウンロードするのが望ましいです
サーバーの問題となっているサイト部分のファイル・フォルダを削除する
サーバーの自動インストール機能を使って2の場所へ再インストールする
※この際「上書きしますか?」と出てきたときはメッセージをよく見て対処してください。2でファイル・フォルダは削除していますから、あり得るのはデータベーステーブルの接頭辞位です(wp_であることが多いです)。これを無視して「はい」としてしまうと、今までのデータが失われる可能性があります。また、上書き警告を無視しないために2でファイルフォルダを削除するようにします。
1でダウンロードしたファイル・フォルダを元の場所へアップロードする
これでまっさらなサイトの中にインストールしただけで有効化していないプラグインやテーマ、画像など後から追加したファイル類を残して再構築することができます。
それで動くようなら問題はプラグインかテーマということになりますね。1つ1つ有効化すれば犯人は特定できると思います。
※再インストールで新しく作成されたデータベースやテーブルについては特に使用しないので削除してもかまいませんが慎重に作業しましょう。特にデータベースの操作に慣れていない方は放置の方が無難です。
データベース内がおかしい??と判断する前に
これはWordPressの構造が分かっている方のみできる方法です。とりあえずサイトが動くかどうかを確認して、動作するのであれば対処方法を検討するという逆転の発想です。以下の内容で分かる方のみにおすすめの方法です。
手順は
- サーバー内に別のサイトを用意する(テスト環境でも可)
- 問題となっているサイトのデータベーステープル、wp-config.phpをダウンロード
- wp-config.phpを現環境に書き換え、サーバー内にある同名ファイルをリネームした上でアップロード
- 2のデータベースをインポート
- サイトを表示して確認
これで動けばデータベース内に何か不具合があって・・・という原因は除外できます。
誰かから依頼されて対応する場合、何度も書いている「何をしたら・・」がはっきりしない、結局そうではなかった・・・なんてオチになるのを防ぐことができます。
また、素人の方がサーバー内のファイルを見様見真似で改編してしまうこともあります。これも何をしたら・・・というのが説明しにくいでしょうから言われないことが多いです。それを見つけるには、いきなり「〇〇だろう」でファイルを開いたり更新したりせずに、まずファイルマネージャーなどのファイル一覧で相談を受けた日に近いものを見つけてメモを取り、1つ1つ見ていくことが大事だと思います。そうしないと原因特定が困難になる可能性があります。
原因がはっきりしているケースの対処 アドレスを変更した
サーバーではセキュリティの観点とサーバーのファイルフォルダ類をきれいに保存するという観点から、サーバーの自動インストール機能を使う場合は「/wp」などというフォルダへインストールされるようになっているところがほとんどです。
この例(/wp)だとサイトを表示するには「http://ドメイン/wp/」へアクセスしてサイトを表示させる必要があり、/wpなしでアクセスするとファイルの一覧などが表示されたりしてちょっと具合が悪いと思う方が多いと思います。
そこでこれもあまた紹介されている「/wpなしで表示する」などの記事を参考に作業される方が多いと思います。
その方法で何が行われるのかについてあまり説明されていないので、見たままに設定される方が非常に多くトラブルになるケースが多いですので、何をしているのかを簡単に解説すると・・・
「/wpを取る」というのはサーバー内の構造はそのままで「http://ドメイン」、つまりは/wpなしでアクセスされた場合に/wpの中を開くようにしなさいという措置なんです。したがって、/wpを取ると言っても完全ではなくあくまでも訪問者が表示したときのアドレスを変えよう!!というものなのです。従って、変更後のアドレスは
訪問者から見た場合・・・「http://ドメイン」
管理画面を操作する場合・・・「http://ドメイン/wp」
となり、前者の設定が「サイトアドレス」、後者の設定が「WordPressアドレス」という管理画面の項目になるのです。
ここで一番トラブルになるのが以下の2点です。
WordPressアドレスを変更してしまった
変更するのは「サイトアドレス」のみです。前述したように管理画面のアドレス自体は変わらないのですから、WordPressアドレスを変更したらそりゃぁエラーになるというわけです。
最後に「/」を付けてしまった
よくある質問ですが、URLの「/」のある/なしの違いは、
「/」があればそのフォルダの中にあるindex.〇〇などページとして開けるものを探して表示しなさい
「/」がなければその中にあるファイルを開きなさい、または「.htaccess」などに従いなさい
かなりざっくりですがこんな意味合いとしてサーバーは動作します。
ですから/wpを取るという措置は、アドレス内にある.htaccessの指示に従うという動作をさせたいわけですから「/なし」にするわけです。
とはいえもうすでにやらかしてアクセスできなくなっていると思いますので、ここから対処方法を書いていきます。普段何気なく管理画面だけで操作している方には全く未知の領域になりますので、自信のない方はプロにお願いするのが妥当かと思います(私もそんなことの対処を有償で行っております)。
というわけで意味の分かる方用に書いておきますね。
- サーバーのphpMyadminツールで対象のデータベースを開きます
- 「wp-options」というテーブルを開きます
- 「wordpress url」「site url」に間違ったアドレスが書かれている(見えている)ので、編集して保存します
これで簡単に復旧できます。
が、URLの書き換えを失敗しただけなのにいろいろと画策された方は別の場所を変更したりしてさらにひどいことになっていることが多いですから、やっぱり何をしてそうなったか?が重要なんですね。発生段階ですぐに1つ前の作業を元に戻せば最悪の事態は避けられる可能性が高いということです。
勘違いが多いケース SSL化したら・・・
よくお問い合わせいただくケースがこのパターンです
「サイトをSSL化しようと思って無料のSSL証明書を有効にして、管理画面でアドレスを変更したら変な画面になってしまった」
などと書かれていることが多いです。
SSL化する手順についてもいろいろなサイトで紹介されていますし、当サイトでも
などで紹介してますからその手順通りにすればいいのですが、一番見落とされるのがこのことになります。
サーバーのメニューからSSL証明書を有効にすると、通常の場合30分から1時間程度でSSL証明書がそのドメインに適用されます。
本来はこの適用を確認した後で管理画面内のアドレスを変えるものなのですが、せっかちな人が多いんですね、これが。バンバン先に進めたくてすぐにアドレス変更して・・・というパターンです。
SSL証明書が適用されたかどうかは管理画面のアドレスを変えなくても分かるんです。やり方は簡単、今までのhttpにsを付けてhttpsにして開いてみるだけなんです。
きちんと適用されていれば管理画面のアドレスを変えなくてもページが表示されます。適用前では2種類の警告画面が出ます。
つまりhttpsでページが表示されてから次の手順に進めば何も問題ありません(上の参考ページでもくどく説明させていただいております)。
対処方法は・・・・ズバリ待つのみです。
この間に何かおかしいことしたのかといろいろやってしまうとどんどん状況は悪化しますので気を付けてくださいね。
以上、WordPressで表示崩れやログインエラーが起きてどうしようもないときのチェックポイントと対処方法でした。
トラブルが起きるとびっくりして右往左往してしまう心をぐっと抑えて、何をしてそうなったのか?を思い出してから対処するようにしましょう!!
文字ばかりのつまらない記事ですみませんでした