WordPressが404エラーを出し、ダッシュボードにログインできなくなった時の対処法

2017年5月23日

WORDPRESS
typographyimages / Pixabay

 

スポンサーリンク

状況説明

突然、WordPressのダッシュボードにログインできなくなりました。下図の様に404エラーが返ってくる。

また、ログイン画面もおかしい。下図の様になっていつも通りのログイン画面じゃない。パスワードは変更していないし、その他、記事を書く、タグを決めるなどの通常業務しかしていなかったのにです。昨日の夜は動いてたじゃないか。さらいいえば、サイトは普通に表示されているし、リンク切れもない。本当に純粋にダッシュボードに入れない状況になりました。

 

色々調べて原因はSiteGuardというプラグインの問題でした。解決しましたが、2時間ほどかかってしまいました。

あちこち調べて私がやったことをお伝えします。

WordPressにログインできない場合の対処

WordPressのログイン画面が出ない場合

 まず、下記の3つのURLを試してください。example.comはあなたのサイトのURLに置き換えてください。
  https://example.com/wp-admin/
  https://example.com/wp-login.php
  https://example.com/wp/wp-login.php

私はログイン画面は出ましたが、上記の通りいつもと違う状況でした。

WordPressのユーザー名・パスワードを忘れてしまった場合

  WordPressでパスワードを忘れた場合を参考にしてください → こちら

Cookieが原因でログインできない場合

  ユーザーの閲覧履歴や入力内容を一時的に保存しておく仕組みです。これが悪さをしている場合があります。
  その場合、Cookieを削除してください。削除手順は下記のとおりです。

Google ChromeでCookieを消去する場合

  Google Chromeの右上にある「・・・」を縦にした部分をクリック → 「設定」 → 「詳細設定を表示…」

  プライバシーの閲覧履歴データの消去をクリックすると下図がポップアップされます。下図の赤枠の様にどのくらいの期間の情報を消去するか(私は1習慣にしました)、Cookieなどの・・・にチェックが入っているかを確認し、「閲覧データを消去する」ボタンを押します。

  

FirefoxでCookieを消去する場合

Firefoxのメニューバーにある「ツール」→「オプション」→ 『プライバシー』と進んでください。メニューバーを表示していない場合は、スタート・ページしたのギアのアイコン(オプション)をクリックして「プライバシー」を開きます。真ん中ほどにある「Cookieを個別に削除」をクリックすると次のような画面になるので、Cookieを削除してください。私は全てのCookieを削除を選びました。

 

以上の対応しても404 Errorは解消されませんでした。

 

FTPを使って404 errorに対応する場合

ファイルを修正するには、FTPソフトとテキスト編集ソフトをインストールし、サーバーにアクセスできるようにしてください。Windows標準のテキスト編集ソフト(Notepad)は目には見えない余計なコードを書き出す可能性があるので、使わないようにしてください。
  ・FileZillaのインストールと使い方はこちら
  ・秀丸やTerapdなどのインストールはこちら

FileZillaでサーバーからwp-config.phpをダウンロード

FileZillaで、サーバーにアクセスし、/サイト名/の下にあるwp-config.phpをデスクトップなどにダウンロードしてください。また、ダウンロードしたファイルをwp-config-original.phpなどとしてコピーし、バックアップを取っておいてください。書き方の失敗が起こった時にすぐに元に戻す対応ができるようにするためです。

wp-config.phpを編集

  上記で選んだテキストエディタで開き、
    define( ‘RELOCATE’, true);
  というphpコードを下図の赤丸で囲った様に貼り付けてください。

 

FileZillaでローカルPCからwp-config.phpをサーバーにアップロード

  2で編集したファイルをアップロードしてください。アップロードできない場合はファイルのアクセス権が無い場合が考えられます。FileZillaを開き下図の様に、サーバ側のwp-config.phpを右クリックし、ファイルのパーミッションを選択します。

次に下図の様に、「所有者のパーミッション」の「書き込む」にチェックが入っているかどうかを確認し、入っていなかったらチェックを入れます。もしくは、数値で「600」を入れてください。

これで解決しなかったので次の手順を試しました。

プラグインの影響でログインできない場合

プラグインを無効化する

 まずはプラグイン全てを一度に無効化してみます。その場合、FTPソフトでサーバー上の/サイト名/wp-content/の下にあるpluginsをplugins_offなどと適当に名前を変えてください。これで全てのプラグインが無効になります。

WordPressにログインしてみる

 この段階でログインできる場合、プラグインの問題だと考えられるので、次の手を考えます。ログインできる/できないのどちらでも、plugins_offと名前を変えたフォルダを元のpluginsに変更し直してください。pluginsと名前を戻してもプラグインは無効になったままです。

どのプラグインが原因か特定する(ログインできた場合)

 ログインできる場合はログインしてプラグインの一覧をダッシュボードから表示させてください。また、最近インストールした順にプラグインを有効化してみてください。例えば、下図の様にFileZillaで/サイト名/wp-content/pluginsにアクセスし、最終更新日時でソートしなおせば最初にインストールしたプラグインが何かがわかります。1つづつ、もしくは複数のプラグインを有効化し、ログインできるか確認して、問題があるプラグインを探っていってください。

プラグインが原因ではない場合(ログインできなかった場合)

 解決しなかったので、以下の違う手法を試しました。

 

WordPressのテーマが原因の場合

 FileZillaで/サイト名/wp-content/themesに移動してください。その下にテーマの一覧があります。
 例えば、私の使っているStinger8だと、Stinger8とStinger8-childの2つがありますので、これらを無効にするために名前を変えてみます。
  stinger8 → stinger8-bakcup
stinger8-child → stinger8-child-bakcup

これで問題が解決しなかったので、次の手法を試しました。

認証用ユニークキーがおかしくなった場合

認証用ユニークキーがおかしくなった場合、Cookieの情報を暗号化/復号化できなくなります。そこで、wp-config.phpの認証用ユニークキーがおかしくなったと考えて、新たにキーを生成してみました。下図のようにwp-config.phpを開き、①をクリックしてHPにアクセスします。すると、新たに認証用ユニークキーができるので、それを全て、下図の②の場所と置き換えてください。以上で、Cookieが新たに設定されるので、もう一度ログインしないとダッシュボードにアクセスできなくなります。

 

ここで正しいログイン画面が出てくると思いましたが、結局治らなかったので次の手順を試しました。

データベースをいじってパスワードを変えた場合

 404のエラーが出る場合、WordPressがデータベースにアクセスできない事が原因の一つだと考えられます。前日にphpMyAdminをちょっといじっていたので、うっかりとパスワードを変えてしまったかと思いましたので、調査してみました。

phpMyAdminでデータベース接続パスワードを確認する

  筆者はロリポップを使っているので、ロリポップのphpMyAdminを使って以下の項目を確認します。
   ・サーバー
   ・データベース名
   ・ユーザー名
   ・パスワード
  確認の仕方はこちら

wp-config.phpを確認し、必要があれば修正する

 下図の様にMySQL 設定の場所を探し、下記の様に読み替えて確かめてください。
   phpMyAdmin      wp-config.php
   ・サーバー     → MySQLのホスト名
   ・データベース名  → WordPressのデータベース名
   ・ユーザー名    → MySQLのユーザー名
   ・パスワード    → MySQLのパスワード
  修正の必要があれば修正してください。

 以上で解決しなかったので、他の手順を試しました。

 

8.SiteGuard pulginが設定している .htaccessの修正

  SiteGuardというプラグインを入れていると、自動的に .htaccessに書き込みをします。
  この、
   #SITEGUARD_PLUGIN_SETTINGS_START
  から
   #SITEGUARD_PLUGIN_SETTINGS_END
  までの全てを消去します(下図の青色反転している箇所)。

 私の場合、ここで治りました。

前日に家のルーターのグローバルIPを何回か変えたので、それが原因かもしれませんね。

実際のところはよくわかりません。でも、なおってよかった。

スポンサーリンク