WordPressに入れない!管理画面にログインできない!を解決する完全ガイド

WordPressに入れない!管理画面にログインできない!解決のための完全ガイド SOSブログ
この記事の監修者・著者

Web制作歴29年。Webプロデューサー、Webマーケター、Webディレクター、Webデザイナー、Webエンジニアなど、様々なポジションでWeb制作に携わってきました。

主宰するホームページ作成教室には全国から受講生が集まっています。

このたび、Webトラブル何でも相談窓口を開設しました。
Webサイトのトラブル解決をサポートします!

コナン先生(小南邦雄)をフォローする
  1. はじめに:WordPressログイン障害の構造と初期対応の重要性
  2. 第1章:ログインできない状況の分類と初期診断プロセス
    1. 1.症状によるトラブルの分類マトリクス
    2. 2.初期診断:物理的・初歩的な要因の排除
  3. 第2章:パスワードおよびユーザーアカウントに関する完全対策
    1. 1.パスワードリセットメール不達のメカニズムと対策
    2. 2.サーバー管理画面からの「パスワードレス・ログイン」機能の活用
    3. 3.データベース(phpMyAdmin)を操作した強制パスワードリセット
  4. 第3章:ログイン画面自体が表示されない(404 Not Found / 403 Forbidden)
    1. 1.ログイン画面消失の主な原因分類
    2. 2.セキュリティプラグインでログインURLを変更しているケース(404エラーの主因)
    3. 3.リダイレクト設定(リライトルール)の破損(404エラーの原因)
    4. 4.WAF(Webアプリケーションファイアウォール)により遮断・誤検知されているケース(403エラーの主因)
    5. 5.管理画面にアクセスできる人を制限しているケース(403エラーの原因)
  5. 第4章:画面が真っ白になる(White Screen of Death)現象
    1. 1.デバッグモードの有効化による原因の可視化
    2. 2.エラーメッセージから読み解く原因と解決策
  6. 第5章:リダイレクトループとCookieエラーの迷宮
    1. 1.サイトURL設定の不整合(無限リダイレクトの主因)
    2. 2.Cookieドメインとブラウザキャッシュの問題
  7. 第6章:サーバー・ドメインレベルの深刻な問題
    1. 1.ドメイン・サーバーの契約更新忘れと凍結
    2. 2.DNS設定の不備と浸透期間
  8. 第7章:サイトの乗っ取り・ハッキングの脅威と復旧
    1. 1.乗っ取りの典型的な兆候と被害
    2. 2.緊急対処とクリーンアップ手順
  9. 終わりに:再発防止のために

はじめに:WordPressログイン障害の構造と初期対応の重要性

WordPress(ワードプレス)で構築されたWebサイトの運営者にとって、管理画面(ダッシュボード)へのログインができなくなる事態は、単なる技術的なトラブルを超えた、ビジネス上の重大なリスク要因となり得ます。

昨日まで正常にログインできていたのに、ある日突然、エラーメッセージを表示したり、真っ白な画面になっていたり、パスワードが違いと言われたりする現象は、初心者のみならず、誰でも強いストレスを感じる瞬間です。

しかし、WordPressというCMS(システム)は極めて論理的な構造の上に成り立っており、発生するすべてのエラーには必ず「原因」が存在し、それに対応する論理的な「解決策」が用意されています。

本記事は、「WordPressの管理画面にログインできない」という事象について、考えられるあらゆる可能性を網羅し、その原因のメカニズムを技術的な背景から解説するとともに、初心者でも確実に実行可能な具体的な解決手順を提示することを目的としています。

パスワードの紛失といったヒューマンエラーから、データベースの直接編集を要する高度な復旧作業、サーバー設定の不整合、さらには外部からの悪意ある攻撃による乗っ取り被害に至るまで、その範囲は多岐にわたります。

解決への鍵は、パニックに陥ることなく、現在の状況を冷静に観察し、適切な切り分けを行うことにあります。

コナン
コナン

一人でトラブルに向き合うのは不安…これ以上触ると取り返しがつかなくなりそうで怖い…一緒にトラブルを解決してほしい!プロに任せたい!という方は、下記よりご連絡ください。
コナン先生のWebトラブル何でも相談窓口

第1章:ログインできない状況の分類と初期診断プロセス

トラブルシューティングの第一歩は、現状の正確な把握です。「WordPressにログインできない」という言葉一つをとっても、その症状は千差万別であり、画面に何が表示されているか、あるいは表示されていないかによって、講ずべき対策は180度異なります。

ここでは、主な症状を体系的に分類し、それぞれの背後にある技術的な要因を概観します。

1.症状によるトラブルの分類マトリクス

まず、現在直面している状況が以下のどのパターンに該当するかを確認してください。この分類が、これから解説する具体的な解決策を選択するための道標となります。

分類具体的な症状主な原因の可能性
認証情報エラー「パスワードが間違っています」「ユーザー名が存在しません」と表示される単なるパスワード忘れ、入力ミス、非常に稀にハッキングによる改ざん
画面消失 (404)ログインURLにアクセスしても「404 Not Found」ページが表示されるセキュリティプラグインによるURL変更、.htaccessの破損
アクセス拒否 (403)「403 Forbidden」「アクセス権限がありません」と表示されるサーバーのWAF誤検知、IP制限、ファイルパーミッション不備
サーバーエラー (500)「500 Internal Server Error」が表示される.htaccessの記述ミス、PHPバージョン不整合、メモリ不足、サーバーに障害が発生中
白画面 (WSoD)画面が真っ白になり、何も表示されないPHPの致命的エラー、プラグイン/テーマの競合
無限ループログインボタンを押しても、再度ログイン画面に戻されるブラウザのCookie/キャッシュ異常、データベースのURL設定不整合
サイト全体のダウン管理画面だけでなく、Webサイトの表側も表示されないサーバー/ドメイン契約切れ、DNSエラー、大規模な障害

2.初期診断:物理的・初歩的な要因の排除

高度な技術的介入を行う前に、見落としがちな物理的要因や単純なミスを排除することは、トラブルシューティングの鉄則です。これらは笑い話のように聞こえるかもしれませんが、実際のサポート現場では高い頻度で原因となっています。

  • キーボード入力設定の確認
    パスワードは「大文字」と「小文字」を厳密に区別します。キーボードの「Caps Lock」キーが有効になっていないか確認してください。また、日本語入力モード(全角)のまま英数字を入力していないかも重要なチェックポイントです。特に全角スペースが末尾に含まれているケースは視認しにくく、頻繁なログイン失敗の原因となります。
  • ブラウザのキャッシュとCookieの影響
    Webブラウザは、サイトの表示速度を上げるために過去のデータを一時的に保存(キャッシュ)しています。また、ログイン状態を維持するためにCookie(クッキー)という仕組みを利用しています。これらが破損したり、古い情報のまま残っていたりすると、正しい情報を入力してもログイン処理が正常に完了しない場合があります。

    検証手順: お使いのブラウザの「シークレットモード(プライベートウィンドウ)」を開き、そこからログインを試みてください。これでログインできる場合、原因はブラウザのキャッシュまたはCookieに限定されます。
  • ネットワーク環境の確認
    利用しているWi-Fi(VPN接続含む)や社内ネットワークのファイアウォール設定により、特定の管理画面へのアクセスが遮断されている場合があります。スマートフォンの4G/5G回線など、異なるネットワークからアクセスを試みることで、回線の問題を切り分けることができます。

第2章:パスワードおよびユーザーアカウントに関する完全対策

最も頻繁に発生し、かつ心理的な焦りを生むのが「パスワードが通らない」「リセットメールが届かない」という状況です。

ここでは、標準的な回復手段が機能しない場合に備え、サーバー管理画面(コントロールパネル)の機能を活用したアクセス手法から、データベース(裏側)を直接操作する強制的な復旧手順まで、バックエンド側からの解決策を網羅的に詳述します。

1.パスワードリセットメール不達のメカニズムと対策

通常、ログイン画面下部にある「パスワードをお忘れですか?」リンクから再設定を行いますが、多くのユーザーが「メールが届かない」という壁に直面します。

これにはWordPressのメール送信仕様と、近年のメールセキュリティの厳格化が深く関わっています。

なぜメールが届かないのか(PHP mail関数の脆弱性)

WordPressは標準状態で、PHP言語に組み込まれている wp_mail() 関数を使用します。この関数は、サーバー内部から直接メールを送信しようとしますが、送信元の認証情報(SMTP認証など)を経由しないケースが大半です。

GmailやOutlook、各携帯キャリアのメールサーバーは、昨今のスパムメール対策として、送信元認証(SPF, DKIM)が不十分なメールを厳しくブロックする傾向にあります。

その結果、WordPressから発信されたパスワードリセットメールは、受信者の「迷惑メールフォルダ」にすら届かず、サーバーの入口で消去されてしまうのです。

今後のための解決策:WP Mail SMTPプラグインによる経路確立

メールが届かない根本原因を解決するには、WordPressに「信頼できるSMTPサーバー」を経由させる設定が必要です。

ログインできた後の対策となりますが、WP Mail SMTP などのプラグインを導入し、ご契約中のレンタルサーバーやGmailのSMTP情報を設定することで、メール到達率は劇的に改善します。

2.サーバー管理画面からの「パスワードレス・ログイン」機能の活用

一部のレンタルサーバーでは、WordPressのログイン情報(ユーザー名・パスワード)を忘れてしまった場合でも、サーバーの管理画面(コントロールパネル)を経由することで、パスワード入力を省略してダッシュボードに直接アクセスできる機能や、ログイン情報を確認・リセットするための専用ツールを提供しています。

次の項目で説明する「データベースを直接操作する」前に、ご利用のサーバーで以下の機能が使えるか確認してください。これは最も安全かつ迅速な解決策となります。

エックスサーバー(Xserver)の場合

エックスサーバーの「サーバーパネル」からは、パスワード不要でログインできる「クイックスタート」利用時の連携機能や、データベース情報を確認する機能があります。

サーバーパネルの「WordPress」カテゴリの「WordPress簡単インストール」より対象のドメインを選択し、「インストール済みWordPress一覧」を表示し、「管理画面を開く」を試してみてください。

mixhostなどcPanel採用のサーバーの場合:最強の自動ログイン

mixhostやColorfulBoxなど、管理パネルに世界標準の「cPanel」を採用しているサーバーには、Softaculous(ソフタキュラス)というアプリ管理ツールが搭載されています。

このツールには、パスワードを一切入力せずにWordPress管理画面へログインできる「Sign On」機能があります。

その他のレンタルサーバーでも同様の機能がある場合があります。管理画面から確認してみてください。

3.データベース(phpMyAdmin)を操作した強制パスワードリセット

上記の方法でも解決しない場合、外部からデータベースを直接編集し、パスワードを強制的に書き換える方法が最も確実かつ強力な解決策です。

作業前の準備:phpMyAdminへのアクセス

この操作には、レンタルサーバーが提供する管理画面へのアクセス権が必要です。

  • レンタルサーバーの管理画面(コントロールパネル)にログインします。
  • 「データベース」または「データベース管理」セクションを探します。
  • 「phpMyAdmin」というツールのリンクをクリックし、データベースのユーザー名とパスワードを入力してログインします。
    レンタルサーバーによっては、管理画面からユーザー名やパスワードを入力しなくてもログインできる場合があります。
  • phpMyAdminのユーザー名とパスワードの確認方法
    ①管理画面内で確認できる場合が多いです。
    ②通常 wp-config.php ファイル内に記載されています。管理画面で提供されている「ファイルマネージャー」などのサーバー上のファイルに直接アクセスできるツールやFTPでサーバーに接続してwp-config.phpを開いて確認します。

    ※phpMyAdminのユーザー名とパスワードが分からないからと言って管理画面内で変更してしまうと、WordPressのサイト自体が動かなくなるので注意

パスワード書き換え手順

以下の手順は慎重に行ってください。データベースの操作は取り消しがききません。

  • データベースの選択
    phpMyAdminの左サイドバーから、該当するWordPressサイトが使用しているデータベース名をクリックします。
  • wp_users テーブルの特定
    テーブル(表)の一覧が表示されます。その中から wp_users という名前のテーブルを探してクリックします(インストール時の設定により、wp56_users や xyz_users など接頭辞が変わっている場合があります)。
  • 対象ユーザーの編集
    ユーザー一覧が表示されます。パスワードを変更したい管理者ユーザー(通常はIDが1、または user_login がご自身のユーザー名の行)を見つけ、「編集(Edit)」ボタンをクリックします。
  • パスワード値の入力と暗号化
    user_pass という項目(カラム)を探してください。ここには現在、意味不明な英数字の羅列(ハッシュ値)が入っています。
    重要手順: user_pass の入力欄に、設定したい新しいパスワードをそのまま入力します。
    関数の選択: 入力欄の左側にあるプルダウンメニュー(関数)から、必ず「MD5」を選択してください。
  • 変更の保存
    画面下部の「実行(Go)」ボタンをクリックして保存します。
  • ログイン確認
    WordPressのログイン画面に戻り、先ほど設定した新しいパスワードでログインできるか確認してください。

第3章:ログイン画面自体が表示されない(404 Not Found / 403 Forbidden)

正しいはずのURLにアクセスしても、「ページが見つかりません(404)」や「アクセス権限がありません(403)」と表示され、ログイン画面さえ表示されないケースです。

これは、ログイン画面に対してセキュリティ対策が実施されていることが原因です。ログインURLを変更したり、特定のIPアドレス以外を遮断したりする機能を持つプラグインが広く普及しています。

1.ログイン画面消失の主な原因分類

画面に表示されているエラーから原因を切り分けることができます。

エラー表示主な原因
404 Not FoundログインURLが変更されている。またはリダイレクト設定(リライトルール)が破損している。
403 ForbiddenURLは合っているがWAF(ファイアウォール)にブロックされている。またはあなたのIPアドレスが許可されていない。

2.セキュリティプラグインでログインURLを変更しているケース(404エラーの主因)

「SiteGuard WP Plugin」「All-In-One Security (AIOS)」「CloudSecure WP Security」などのセキュリティプラグインを導入している場合、この現象が顕著です。

これらのプラグインは、総当たり攻撃(ブルートフォースアタック)を防ぐため、デフォルトのログインURL(/wp-admin//wp-login.php)を、独自のURL(例: /login/ や /login_12345/ など自由な文字列)に変更する機能を持っています。

対処法1:隠されたURLを探し出す

サーバーの管理画面(コントロールパネル)から「ファイルマネージャー」を開くか、FTPソフトでサーバーに接続します。

WordPressのインストールディレクトリにある .htaccessファイルをダウンロード(または表示)して内容を確認します。

  • SiteGuardの場合
    # BEGIN SiteGuard
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^login_12345(.*)$ wp-login.php$1 [L]
    </IfModule>
    # END SiteGuard
    この例では、「wp-login.php」が「login_12345」に置き換えられていることがわかります。
  • All-In-One Security (AIOS)の場合
    # BEGIN AIOWPS Rename Login
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/wp-admin/(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^/wp-login\.php$
    RewriteCond %{REQUEST_URI} !^/my-secret-login/$ [NC]
    RewriteRule ^(.*)$ – [R=404,L]
    RewriteRule ^my-secret-login/?$ wp-login.php [QSA,L]
    </IfModule>
    # END AIOWPS Rename Login
    この例では、「wp-login.php」が「my-secret-login」に置き換えられていることがわかります。
  • CloudSecure WP Securityの場合
    # BEGIN CloudSecure WP Security
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^my-admin-access/?$ wp-login.php [QSA,L]
    RewriteRule ^wp-login\.php$ – [R=404,L]
    RewriteRule ^wp-admin/(.*) – [R=404,L]
    </IfModule>
    # END CloudSecure WP Security
    この例では、「wp-login.php」が「my-admin-access」に置き換えられていることがわかります。

その他のセキュリティプラグインが導入されている場合も、同様に記述されている可能性が高いため、.htaccessの内容をよく確認してみてください。

対処法2:セキュリティプラグインを無効化させる

プラグインのフォルダ名を変更して、WordPressに「プラグインが削除された」と誤認させます(プラグインを停止させます)。

  • サーバーの管理画面(コントロールパネル)から「ファイルマネージャー」を開くか、FTPソフトでサーバーに接続します。
  • /wp-content/plugins/ディレクトリを開きます。
  • セキュリティプラグインのフォルダ名を探し、名前を変更します(例:末尾に _offなどをつける)。
    フォルダ名:
    SiteGuard WP Plugin:siteguard-wp-plugin
    All-In-One Security (AIOS):all-in-one-wp-security-and-firewall
    CloudSecure WP Security:cloudsecure-wp-security

    その他のセキュリティプラグインが導入されている可能性もあります。フォルダ名でGoogle検索して、セキュリティプラグインを見つけてみてください。
  • フォルダ名が変わるとWordPressはプラグインを認識できなくなり、強制的に無効化されます。これにより、ログインURLはデフォルトの /wp-login.php に戻ります。ログイン成功後、フォルダ名を元に戻してプラグインを有効化し、ログインURLを確認したり、設定を見直したりしてください。

3.リダイレクト設定(リライトルール)の破損(404エラーの原因)

プラグインの追加・削除、キャッシュ系プラグインの設定変更、または、サーバー移転時の設定不備などにより、.htaccess 内のリライトルールが破損したり、意図せず上書きされてしまったりすることがあります。

リライトルールが正しく機能しない場合、WordPressは実在するはずのページに対しても404エラーを返すことがあります。

対処法

回復手順として最も基本的で効果的なのは、WordPress標準の .htaccess コードへの書き換えです。

サーバーの管理画面(コントロールパネル)から「ファイルマネージャー」を開くか、FTPソフトでサーバーに接続します。

WordPressのインストールディレクトリにある .htaccessファイルを.htaccess.bakなどに名前を変更します(元に戻せるように保存します)。

WordPress標準の.htaccessファイルを作成し、アップロードします。

WordPress標準 .htaccess コード:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule. /index.php [L]
</IfModule>
# END WordPress

4.WAF(Webアプリケーションファイアウォール)により遮断・誤検知されているケース(403エラーの主因)

「403 Forbidden」や「アクセス権限がありません」と表示される場合、サーバー側のセキュリティ機能であるWAFが、あなたのアクセスを「攻撃」と誤認(誤検知)してブロックしている可能性が高いです。

特に、海外からのアクセスと判定された場合や、短時間に連続してログインを試行した場合に発生します。

WAF設定の確認と解除

国内の主要レンタルサーバーでは、管理画面(コントロールパネル)からWAFの設定変更が可能です。

  • WAF設定を確認
    管理画面(コントロールパネル)にログインして、該当ドメインの「WAF設定」が「ON」になっているかどうか確認します。
  • WAF設定を一時的にOFFにする
    「ON」になっている場合は一時的に「OFF」にして、ログイン画面が表示されるかどうか確認します。(エックスサーバーの場合、設定が6つに細分化されており、反映までに約1時間程度かかります)
  • ログインできるようになった場合
    WAFが原因と特定できたので、自身のアクセスを「除外設定」するか、WAFを解除する代わりに、「SiteGuard WP Plugin」「All-In-One Security (AIOS)」「CloudSecure WP Security」などのセキュリティプラグインでしっかりとセキュリティ対策を実施します。

5.管理画面にアクセスできる人を制限しているケース(403エラーの原因)

管理者のIPアドレスが変更になったり、別のIPアドレスでアクセスしようとしている

特定のIPアドレス(例えば管理者の自宅)のみから管理画面へのアクセスを許可するために、.htaccessに以下のような記述が行われることがあります。

Require ip 203.0.113.1

この設定は有効ですが、管理者のIPアドレスがISP(プロバイダー)によって動的に変更された場合や、スマートフォンや外出先からアクセスしようとした場合、サーバーは「拒否」するため、403 Forbiddenを返します。

対処法:
管理画面のファイルマネージャーやFTP経由で .htaccess を編集し、制限を一時的に解除するか、新しいIPアドレスを追加する必要があります。  

レンタルサーバーやセキュリティプラグインの設定による海外からのアクセス遮断

サイバー攻撃の多くは、特定の国や地域を経由して行われる傾向があります。これに対抗するため、レンタルサーバーやセキュリティプラグインの多くは、デフォルトで「国外IPアドレスフィルタ」機能を有効にしています。

この機能は、wp-login.php(WordPressのログイン画面)への国外IPからのアクセスを無条件に403として遮断します。

日本国内のユーザーであっても、VPNサービスを利用して海外のサーバーを経由している場合や、海外出張中に現地のWi-Fiを利用している場合、このフィルタにより、ログイン画面が表示されなくなります。

対処法:
一時的にVPNを切断したり、サーバーの管理画面(コントロールパネル)から制限を一時解除したり、特定の国をホワイトリストに追加するなどの対応を行います。 

第4章:画面が真っ白になる(White Screen of Death)現象

「死の真っ白画面(WSoD: White Screen of Death)」は、PHPの処理中に回復不能なエラー(Fatal Error)が発生し、エラーメッセージの出力処理すら行われずにプログラムが停止した場合に発生します。

原因が画面に表示されないため、初心者にとって最も恐ろしい現象の一つですが、適切な手順を踏めば原因の特定は容易です。

1.デバッグモードの有効化による原因の可視化

真っ白な画面と戦うための最大の武器は、WordPressに内蔵されている「デバッグモード」です。これを有効にすることで、隠蔽されていたエラーメッセージを画面上に表示させることができます。

wp-config.phpの編集手順

  • サーバーの管理画面(コントロールパネル)から「ファイルマネージャー」を開くか、FTPソフトでサーバーに接続します。
  • ルートディレクトリにある wp-config.php ファイルを編集します。
  • 以下の行を探します。
    define( 'WP_DEBUG', false );
  • この行を以下のように書き換えます。もし存在しない場合は、「編集が必要なのはここまでです」という行の上に追記してください。
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    • デバッグモードがONになり、エラー内容を /wp-content/debug.log ファイルに保存します(画面に表示させたくない場合に便利です)。WP_DEBUG_DISPLAYtrue にすればエラーの内容が画面に出ますが、サイト訪問者にも見えてしまうため、本番環境では false にしてログファイルを確認するのが安全です。
  • 再度、真っ白になった画面にアクセスします。画面、または /wp-content/debug.log ファイル内に、具体的なエラー内容が記録されます。

2.エラーメッセージから読み解く原因と解決策

デバッグログに記録されたエラーメッセージには、必ず「犯人」の名前(ファイルパス)が含まれています。

パターンA:プラグインによる致命的エラー

エラー例: Fatal error:... in /home/user/public_html/wp-content/plugins/bad-plugin/index.php on line 45

メッセージ内に plugins という文字が含まれている場合、その直後にある名前のプラグインが原因です。

対処法
ファイルマネージャーまたはFTPで /wp-content/plugins/ フォルダを開き、該当するプラグインのフォルダ名を変更(例: bad-plugin_bad-plugin)して強制停止させます。これで管理画面が復旧すれば、そのプラグインが原因と確定します。その後、プラグインの更新を待つか、代替プラグインを探します。

パターンB:テーマの構文エラー(Syntax Error)

エラー例: Parse error: syntax error... in /wp-content/themes/my-theme/functions.php

functions.php をカスタマイズした際に、セミコロン(;)の忘れや括弧の閉じ忘れがあると発生します。

対処法:
エラーが出ている行番号を確認し、ファイルマネージャーやFTPからfunctions.phpファイルを修正します。修正が難しい場合は、テーマフォルダ自体の名前を変更して無効化すると、WordPressは自動的にデフォルトテーマ(Twenty Twenty-Fourなど)を適用して起動を試みます。

パターンC:メモリ不足(Memory Exhausted)

エラー例: Fatal error: Allowed memory size of 33554432 bytes exhausted...

PHPに割り当てられたメモリ容量を超えて処理を行おうとした場合に発生します。プラグインを多用しているサイトで起こりやすい現象です。

対処法:
wp-config.php に以下の行を追加して、メモリ上限を引き上げます。
define( 'WP_MEMORY_LIMIT', '256M' );
それでも解決しない場合は、サーバーのコントロールパネルで php.ini 設定の memory_limit を変更するか、.htaccessphp_value memory_limit 256M と追記する方法を試してください。

第5章:リダイレクトループとCookieエラーの迷宮

IDとパスワードを正しく入力して「ログイン」ボタンを押したはずなのに、画面が一瞬更新されるだけで、また元の入力フォームに戻される。あるいは「Cookieがブロックされています」という警告が出る。

これらは、認証プロセス自体は成功しかけているものの、セッションの維持やページ遷移の段階で情報の不整合が起きている状態です。

1.サイトURL設定の不整合(無限リダイレクトの主因)

WordPressは、データベースに登録された「サイトアドレス(URL)」と、実際にアクセスされているURLが厳密に一致することを求めます。ここが食い違っていると、WordPressは「正しいURL」へユーザーを転送しようとし、ブラウザやサーバーの設定と衝突して無限ループに陥ります。

よくある事例

  • SSL化(https)を行ったが、データベースの設定が http:// のままになっている。
  • www あり/なしの設定が統一されていない。
  • データベース移行時に古いドメイン情報が残っている。

対処法:wp-config.phpによる強制URL定義(救済措置)

データベース(phpMyAdmin)を直接操作して wp_options テーブルの siteurlhome を修正するのが本来の手順ですが、より安全で簡単な方法として、wp-config.php で設定値を強制的に上書きする方法があります。

  • ファイルマネージャーかFTPで、wp-config.php を開きます。
  • 以下のコードを追加します(https://example.com の部分はご自身の正しいURLに書き換えてください)。

    define( 'WP_HOME', 'https://example.com' );
    define( 'WP_SITEURL', 'https://example.com' );


    注意: ここでの記述ミスは致命的なので、httphttps か、末尾にスラッシュを入れるか(通常は入れません)を慎重に確認してください。
  • ファイルをアップロードしてログインを試みます。これで解決した場合、データベース内の設定値が間違っていたことになります。ログイン後に「設定」→「一般」から正しいURLを確認・保存し、上記のコードは後で削除またはコメントアウトすることを推奨します(このコードがある限り、管理画面からのURL変更ができなくなるためです)。

2.Cookieドメインとブラウザキャッシュの問題

サーバー側の設定が正しくても、ブラウザが保持している「腐ったCookie」が悪さをしている場合があります。

特に、ドメイン変更やサブドメイン運用をしている場合、Cookieの有効範囲(パス)がおかしくなり、ログインセッションが確立できないことがあります。

  • ブラウザの対処
    ブラウザの履歴設定から、該当サイトのCookieとキャッシュを「全期間」で削除してください。Chromeの場合、「F12」キーで開発者ツールを開き、「Application」タブ→「Cookies」から、そのサイトのCookieを右クリックで「Clear」するのが手っ取り早い方法です。
  • wp-config.phpでの対処
    Cookieのパスを明示的に指定することで解決する場合があります。

    define( 'ADMIN_COOKIE_PATH', '/' );
    define( 'COOKIE_DOMAIN', '' );
    define( 'COOKIEPATH', '' );
    define( 'SITECOOKIEPATH', '' );

第6章:サーバー・ドメインレベルの深刻な問題

ここまでの対策はすべて「WordPressサーバーが動いていること」を前提としていました。

しかし、管理画面だけでなく、Webサイト全体が表示されない、あるいは「サーバーが見つかりません」といったエラーが出る場合、問題はWordPressの外側にあります。

1.ドメイン・サーバーの契約更新忘れと凍結

「そんなはずはない」と思いがちですが、クレジットカードの有効期限切れや、更新案内メールの見落としにより、ドメインやサーバーのアカウントが凍結されているケースは後を絶ちません。

  • ドメインの状態確認
    WHOIS情報検索サイト(Tech-jp.comや各ドメイン登録業者のツール)で自分のドメインを検索してください。
    Status 欄に clientHoldredemptionPeriod とある場合、ドメインは利用停止状態です。
    即座にドメイン管理会社に連絡し、料金を支払う必要があります。
  • サーバーの状態確認
    レンタルサーバー会社から「未払いによる停止」「リソース超過による制限」などのメールが届いていないか確認してください。

2.DNS設定の不備と浸透期間

ドメインを取得したばかり、あるいはサーバー移転を行った直後である場合、DNS(ネームサーバー)の設定が世界中のインターネットに行き渡る(浸透する)まで時間がかかります。

  • 症状
    自分のPCからは見られないが、スマートフォンの4G回線からは見られる、あるいはその逆。
  • 対策
    ネームサーバーの設定が正しいか確認し、変更直後であれば最大24〜72時間程度待機する必要があります。待つ以外に解決策はありません。

第7章:サイトの乗っ取り・ハッキングの脅威と復旧

最も深刻なのが、悪意ある第三者によってサイトが乗っ取られているケースです。

「パスワードを変えた覚えがないのに変わっている」「見覚えのない管理者が増えている」「ログイン画面に怪しい広告が出る」「Webサイトが変更されている」といった兆候は、セキュリティ侵害の明確なサインです。

1.乗っ取りの典型的な兆候と被害

ハッカーの目的は、あなたのサイトを踏み台にしてスパムメールを送ったり、詐欺サイトへのリダイレクトを仕込んだりすることです。

  • ログイン情報の変更
    正規の管理者を締め出すために、パスワードやメールアドレスが変更される。
  • 不正ユーザーの作成
    wp_users テーブルに、管理者権限を持つ不正なアカウントが追加される。
  • ファイルの改ざん
    index.php, header.php, wp-config.php などに、難読化された不正コード(バックドア)が埋め込まれる。

2.緊急対処とクリーンアップ手順

ハッキングが疑われる場合、単にパスワードをリセットするだけでは不十分です。見えない場所に「裏口」が作られている可能性が高いため、徹底的な洗浄が必要です。

  • サイトの封鎖
    被害拡大を防ぐため、サーバーのコントロールパネルから「メンテナンスモード」を有効にするか、ディレクトリ自体にBasic認証をかけて外部アクセスを遮断します。
  • パスワードの全変更
    管理画面だけでなく、FTP、データベース、ホスティングアカウントのパスワードをすべて、複雑なものに変更します。
  • 不正ユーザーの削除
    phpMyAdminで wp_users を確認し、身に覚えのないユーザーを即座に削除します。
  • ファイルの完全入れ替え(推奨)
    改ざんされたファイルを手作業で見つけるのは困難です。最も確実なのは「クリーンインストール」からの復旧や、バックアップファイルからの復元です。

終わりに:再発防止のために

「WordPressの管理画面にログインできない」というトラブルは、一見絶望的に見えますが、本記事で解説したように、原因は必ず特定でき、手順を踏めば解決可能です。

無事に復旧できた後は、二度と同じ恐怖を味わわないために、「WPvivid Backup & Migration」や「UpdraftPlus」などのプラグインを使って定期的な自動バックアップを設定することを強くお勧めします。

技術的なトラブルは、サイト運営における成長の機会でもあります。この経験を通じて、WordPressの仕組みへの理解を深め、より堅牢なサイト運営を実現してください。