Localから本番移行後にWordPressにログインできない時の解決法まとめ

Local環境から本番環境へ移行後にWordPressにログインできない問題の解決法を解説するサムネイル

こんにちは。いっきー(@ikirin_web)です。

Localで制作したWordPressサイトを本番環境に移行したあと、「ログインできない…」という現象に悩んだことはありませんか?

私もまさにこのトラブルに直面しました。
サイト自体は問題なく表示されているのに、ログイン画面では「パスワードが違います」。
phpMyAdminでの書き換えで一時的には入れるけれど、根本解決にはならず…。

何度も検証を重ねた結果、原因は 「ローカルと本番のディレクトリ構造の違い」 にあることがわかりました。

背景と構成

  • ローカル環境: Local by Flywheel
  • 本番環境: ロリポップ
  • 使用プラグイン: All-in-One WP Migration
  • 構成:Local → テスト環境(サブディレクトリ) → 本番サイト(ルート)

最初はローカル環境をルートディレクトリ(public直下)で作成していましたが、本番環境では https://example.com/example のようにサブディレクトリ構成にしたため、移行後にログイン情報が通らなくなってしまいました。

つまずき:ログインできない問題

インポート後、ログイン画面で何度入力しても「パスワードが違います」。
phpMyAdminで直接パスワードを変更すれば入れるものの、根本解決にはなりません。

今まで問題がなかったのに、なぜ今回だけ?
その疑問から再検証を繰り返し、


最終的にたどり着いたのが――

✅ 原因は「ローカルと本番でディレクトリ構造が違うことによるズレ」

でした。

解決策:ローカル環境でもサブディレクトリを再現する!

手順

① WordPress管理画面で設定変更
 一般設定 > 「WordPressアドレス(URL)」をサブディレクトリ名を含むURLに変更
 例)http://example.local/example

② Local環境の public 直下にフォルダを作成
 例)/example

③ WordPressファイルをそのフォルダに格納
 例)public/example/wp-admin など

④ public 直下に .htaccess と index.php を配置
 フォルダ構成は次のようになります。
 public/
 ├── .htaccess
 ├── index.php
 └── example/

⑤ index.php にサブディレクトリ名を追記
  require( dirname( __FILE__ ) . '/example/wp-blog-header.php' );

⑥ public/example 内にも .htaccess と index.php を配置
 .htaccess の RewriteBase と RewriteRule にサブディレクトリ名を追記
 RewriteBase /example/
 RewriteRule . /example/index.php [L]

⑦ All-in-One WP Migrationでデータをエクスポート

⑧ 本番サーバーのサブディレクトリにWordPressを簡単インストール

⑨ 管理画面でSSL化&不要なデータ削除後、All-in-One WP Migrationでインポート

結果:ログイン成功!

なんと……
Local環境で使っていたユーザー名とパスワードでログイン成功!

「サブディレクトリ構成をローカルで再現」することで、WordPress内部のURL・パス・クッキー情報が一致し、ログインが通るようになりました。

学びと気づき

  • サブディレクトリ構成で運用するなら、ローカルでも同じ構造で開発するのがベスト
  • .htaccessindex.php には、サブディレクトリ名を明示的に記述する
  • phpMyAdminでのパスワード変更は“応急処置”。構造ズレは根本解決にならない

まとめ

状況結果
Local:ルート直下 / 本番:サブディレクトリログイン不可(パスワード再設定が必要)
Local:サブディレクトリ構成 / 本番:サブディレクトリログイン成功✨

今回の経験からわかったのは、「ログインできない問題=WordPress内部URLのズレ」 であることが多いということです。

サブディレクトリ構成でサイトを公開する場合は、ローカル環境でも同じディレクトリ構成を再現しておくことで、トラブルを防げます。

これまでは「ローカル → 本番(どちらもルート直下)」での移行だったため問題ありませんでしたが、今回はサブディレクトリ構成にしたことで、思わぬ落とし穴に気づけました。

構成の違いがログインエラーの原因になるという貴重な経験ができたと思います。

同じように悩んでいる方の参考になればうれしいです!✨

最後まで読んでいただきありがとうございました。

ページトップへ戻る