• 2017年10月12日

WordPressのログインできないトラブルを徹底解決!

WordPressのログインできないトラブルを徹底解決!

WordPressのログインできないトラブルを徹底解決! 700 433 パソコン生活サポート Pasonal

WordPressを長年運用していると、他の条件の良いサーバーに移転する必要が出てきます。しかし、サーバーの移行には色々とトラブルが付きものです。「ログイン出来ない」「サイトが表示されない」など現象は様々ですが、トラブルの原因を少しずつ絞り込んいくことが近道です。

さて、今回はサーバー移転の際のトラブルと解決の糸口を記事にしたいと思います。

 

この記事について

この記事を参照する時は以下の点に留意してお読みください。

  • ユーザーによって環境や発生状況は異なります。
  • 対処は自己責任にて行ってください。
  • トラブル解決は参考程度に。

 

ログイン画面が表示されない(真っ白) or ログインできない

サーバー移転の直後、ログイン画面(IDとパスワードの入力画面)自体が表示されないトラブルです。通常、サーバー管理画面からWordPressをインストールした段階ではログイン画面が正常に表示されるはずです。

しかし、データベースが壊れていたり、wp-loginやwp-configなどのファイルが破損していたりすると、ログイン画面に正常にアクセスすることができなくなります。そのような場合には、下記の「推測される原因」を一つずつ試していきましょう。

 

推測される原因

  1. ユーザー名 or パスワードの間違い
  2. wp-config.phpの破損
  3. wp-config.phpの接続情報が間違っている
  4. wp-login.phpの破損
  5. funciton.phpにエラーがある(空白など)
  6. サイトアドレス(ドメイン)の間違い
  7. プラグインの影響(特にキャッシュ系のプラグイン)
  8. Cookieが影響している
  9. htaccessがおかしい or 記述ミス
  10. ファイルのパーミッションがおかしい
  11. テーマが破損している

 

【原因1】ユーザー名 or パスワードの間違い

ユーザー名パスワード正確に入力できているか確認しましょう。大文字小文字を間違えていませんか?記号は正確に入力できていますか?若しくは、思い込みで間違えていませんか?あるいは、キーボードが「CapsLock」されていませんか?

このような場合は、本当に入力した文字列が正しいかどうか一度TeraPadなどのテキストエディタを使用して文字列を確認してみましょう。

ユーザー名 or パスワードの間違い

 

【原因2】wp-config.phpの破損を疑う

これはWordPressを構成しているphpファイル全体に言えることですが、Windows付属のメモ帳などで開いて編集・保存すると不具合が発生します。ファイル保存時にBOMという目に見えないコードを付加して保存してしまいます。このBOMのせいで、phpのコードが正常に動作せず意図しない不具合を発生させる原因となります。

php関連のファイルを編集する際は、必ずTerapadなどUTF-8 (BOMなし、UTF-8N)で保存する必要があります。

wp-config.phpの破損

 

【原因3】接続情報の確認してみる

wp-config.phpの以下の接続情報を確認してください。

defineの箇所(9、12、15、18、21、24行目)を確認します。この箇所の接続情報が間違っていないか確認する必要があります。この記述を間違えると、「データベース接続エラー」 または「Error establishing a database connection」となり、データベースからデータを取得することが出来なくなります。

当然、データベースの接続が確立されていないので、ログイン画面は表示されません。一度、見直してみましょう。

// 注意: 
// Windows の "メモ帳" でこのファイルを編集しないでください !
// 問題なく使えるテキストエディタ
// (http://wpdocs.sourceforge.jp/Codex:%E8%AB%87%E8%A9%B1%E5%AE%A4 参照)
// を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'xxxxxx');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'xxxxxxx');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'xxxxxxx');

/** MySQL のホスト名 */
define('DB_HOST', 'xxxxxxxxxxxx');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

/**
 * WordPress データベーステーブルの接頭辞
 *
 * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
 * インストールすることができます。半角英数字と下線のみを使用してください。
 */
$table_prefix  = 'xxxxxx_';

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', false);
define('WPLANG','ja');

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

 

【原因4】wp-login.phpの破損を疑う

wp-login.phpが存在しないことはあまり考えらませんが、サーバー内のファイルを確認してみる必要があります。または、wp-login.phpが破損している可能性もあります。WordPressの公式サイトから正常なファイルをダウンロードし、wp-login.phpのみをアップロードして上書きしてみましょう。

WordPress公式ページからダウンロード

WordPress公式ページ

 

【原因5】funciton.phpのエラーがあるかチェックする

funciton.phpに何かしらのエラーがある場合、ログイン画面が表示されなくなります。エラーの種類によっては、「Parse error: syntax error,unexpected end of file in / xxxxxxxxx/ on line 25」のようなエラーログが表示されている場合があります。

その場合は、エラーログのライン(箇所)を見直してみることをお勧めします。下記は主なエラーの一覧です。

  • 見えないBOMが付いている(Windows付属のメモ帳で編集し、保存した)
  • <?php の開始タグ、?> の終了タグが足りない。
  • function関数とフックの記述ミス。
  • phpの構文エラー(セミコロンが無い、変数エラー、括弧が足りないなど)。

または、「余分な空白」にも注意する必要があります。特に、function.phpをWinndowsのメモ帳などで開いて編集しませんでしたか?メモ帳を使って編集すると、ファイル内に余分な空白が挿入され、エラーの原因となります。この空白は通常、目には見えません。

そんな時は、function.phpなどのファイルを一度TeraPadなどのテキストエディタを使って開き、ファイル自体を上書き保存してださい。

 

【原因6】サイトアドレス(ドメイン)の間違い

WordPressの管理画面「設定 > 一般」にある、WordPressアドレス(URL)とサイトアドレス(URL)同じアドレスである必要があります。この場所のURLが異なっていると、ログインすることはできません。

特に、移転後のサーバーでSSLにした場合などは要注意です。サイトのドメインが間違っていないか一度確認する必要があります。通常のサイトアドレスでは「http://~」ですが、SSL化すると「https://~」となります。

ご注意ください。

サイトアドレス(ドメイン)の間違い

 

【原因7】プラグインの影響(特にキャッシュ系のプラグイン)

使用しているプラグインの影響でログイン画面が表示されない場合があります。特にキャッシュ系のプラグインを使用している場合でこのようなトラブルが発生します。ほとんどのプラグインのキャッシュはサーバー内キャッシュファイルを保持しています。

キャッシュファイルを削除するか、フォルダをリネームしてログイン画面が表示されるか確かめてみましょう。

プラグインの影響(特にキャッシュ系のプラグイン)

 

代表的なキャッシュ系のプラグイン一覧

代表的なキャッシュ系のプラグインです。下記のプラグインを使用している人は注意が必要です。プラグインを削除無効化または、キャッシュファイルを削除することで改善される可能性があります。

  • WP Fastest Cache
  • W3 Total Cache
  • WP Super Cache
  • Hyper Cache
  • DB Cache Reladed Fix
  • WP File Cache
  • MO Cache

 

【原因8】Cookieが影響している

クッキーとはブラウザが保持しているキャッシュのことです。ログイン画面が表示されな場合は、一度ブラウザのクッキー(履歴)を削除してみましょう。ひょっとしたらログイン画面が正常に表示されるかもしれません。

さらにブラウザの履歴を削除後、ログインページにアクセスして「Ctrl + F5」でスーパーリロードを行います。この状態で正常にログインできるか試してみてください。

 

Google Chromeでの削除

Google Chromeの画面上部の「メニューアイコン」をクリックし、「その他のツール」を選択します。表示される「閲覧履歴を削除」から削除してください。

Google Chromeでの削除

 

Windows Edgeでの削除

Windows Edgeを起動して上部の「メニューアイコン」をクリックし、一覧から「設定」を選択します。閲覧データのクリアにある「クリアするデータの選択」を選択後、必要な項目にチェックを入れて「クリア」ボタンを押してください。

チェックする項目は以下を参照してください。

Windows Edgeでの削除

 

【原因9】htaccessがおかしい or 記述ミス

サーバーを移行した後で、htaccessを修正しませんでしたか? または、プラグインをインストールした影響でhtaccessに勝手にコードが挿入されているかもしれません。一度、htaccessをサーバーの中身を見てみましょう。

パスが変更になっていたり、余分なコードが付加されているような場合は、正常に表示されません。

 

エックスサーバーでのhtaccessの編集

エックスサーバーでは管理画面から直接htaccessを編集することができます。下記の公式ページのマニュアルに従ってhtaccessを編集してください。

編集方法を見る

 

ロリポップでのhtaccessの編集

ロリポップでは管理画面からhtaccessを編集することができます。下記の公式ページのマニュアルに従ってhtaccessを編集してください。

編集方法を見る

 

さくらレンタルサーバーでのhtaccessの編集

さくらのレンタルサーバでは、htaccessを編集する際は一度FTPなどを利用してサーバーからダウンロードする必要があります。ダウンロードしたらTeraPadなどのテキストエディタを利用して編集してください。

詳細は下記の公式ページのマニュアルに従ってください。

編集方法を見る

 

【原因10】ファイルのパーミッションがおかしい

パーミッションとはそのファイルにアクセスできる権限のことです。これらのファイルのパーミッションが異なっているため、対象のファイルやフォルダにアクセスできず、WordPressに影響を及ぼす可能性があります。

ファイルのパーミッションは契約しているレンタルサーバーごとに異なっている場合があるため、権限の設定と変更には注意が必要です。

下記のレンタルサーバー別のパーミッション設定一覧を参照してください。

 

レンタルサーバー別のパーミッション設定一覧

レンタルサーバー別のファイル等のパーミッション情報です。上手くログインできないような場合には、一度パーミッションの情報を確認してみましょう。解決の糸口が掴めるかもしれません。

エックスサーバーのパーミッション設定
項目 パーミッション
 フォルダ  755 , 705
 .html / .php / .zip などのファイル  644
 .htaccess  644
 .cgi / .pl などのCGI実行ファイル  755 , 705
 .cgi / .pl などの非実行のライブラリファイル  600
 .txt / .dat / .log などのファイル  600

 

ロリポップのバーミッション設定
項目 パーミッション
 HTML 画像ファイル  604
 CGIの実行ファイル  700
 CGIのデータファイル  600
 .htaccess ファイル  604
 ディレクトリ  705

 

さくらサーバーのパーミッション設定
項目 パーミッション
 ファイル  755 , 705
 ディレクトリ  755 , 705
 cgi – binディレクトリ  不要
 .htaccess ファイル  不要

 

【原因11】テーマが破損している

使用しているテーマが破損しているせいでログイン画面が表示されない or できない可能性があります。このような場合は、テーマをデフォルトのテーマに戻してログインできるか確認する必要があります。

もしログインできるのであれば、それはテーマが何らかの原因で破損しているということです。有料のテンプレートを使用している場合は、購入先のサポートに問い合わせましょう。

テーマが破損している

 

ログインできない原因のまとめ

下記はログインできない主な原因の一覧です。

  • ユーザー名 or パスワードの間違い
  • wp-config.phpの破損
  • wp-config.phpの接続情報が間違っている
  • wp-login.phpの破損
  • funciton.phpにエラーがある(空白など)
  • サイトアドレス(ドメイン)の間違い
  • プラグインの影響(特にキャッシュ系のプラグイン)
  • ブラウザのCookieが影響している
  • htaccessがおかしい or 記述ミス
  • テーマが破損している

ログインできない場合は非常に焦りますが、上記の項目を一つ一つ丁寧にチェックしていくことが必要になります。しかし、データベース関連が原因の場合は厄介な事態です。データベースには非常に多くのテーブルとレコードが存在しており、その中のどのデータが原因かを特定することは非常に難しいからです。

手っ取り早いのは、バックアップされたデータそのものを使ってデータベースを再構築することです。また、WordPressデータの復旧作業を専門としている業者も複数あるので、不安な人はそちらに依頼するのも良いかもしれません。

何にせよ、最悪の事態を常に想定してバックアップを定期的にとっておきましょう。

いざという時に救われるかもしれません。

 

トラブルでお悩み? その他のトラブルシューティング