テストサイトを作るときLocalを使っています。簡単に環境を作れてLocalすごくいいですね。
で、今回作ったサイトのデータをロリポップに移行した時、ちょっとしたトラブルがありました。その備忘録です。
移行ツールにAll-in-One WP Migrationを使いしました。これ色々設定しなくて便利なので使うことも多いですが、サーバー側でアップロード制限があるとちょっと厄介です。
ロリポップはアップロード制限を増やすのが少し面倒です。で、ここに書かれていることを参考に解除する事ができました。

で、無事アップロードできてサイトも表示され、コントロールパネルにもログインできたので一安心。で、リンク等おかしなところを修正しようとチェックしていたら、修正できないしコントロールパネル側とサイト側でログイン状態をキープできない。で、調べてみるとホームで設定しているurlが全て、wordpressをインストールしているディレクトリ名付きで表示されるんです。
例:https://hogehote.com/wordpress/
上記のようになります。
で、設定⇨一般からWordPress アドレス (URL)とサイトアドレス (URL)を確認すると問題なく設定されていました。念の為、phpMyAdminでサイトurlを確認してみても大丈夫。
で、検索して参考にしたサイトがこれ。
なんでもwordpressを違うサーバーに移行したら良くなる事らしい。
wp-config.php
を編集するために開く。“define” 宣言の後 (「編集が必要なのはここまでです !」という行の直前) に、新しい行を追加し
define('RELOCATE',true);
と入力する。
wp-config.php
ファイルを保存する。ブラウザーを開き、新サーバーの
wp-login.php
へ移動する。例えば、新しいサイトがhttp://example.org
の場合はhttp://example.org/wp-login.php
とブラウザのアドレスバーに入力する。通常と同じようにログインする。
ブラウザーのアドレスバーを見て、正しいサーバーにログインしているかどうか確認する。正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認する。変更を保存するのを忘れずに。
すべて正しく修正されたら、
wp-config.php
を編集してステップ2で追加した内容を削除する。再度リロケートメソッドを使う予定がある場合は、行をコメントアウト (行頭に//
と書く) するかtrue
をfalse
に変更してもよい。注: RELOCATE が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URL が更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。
https://ja.wordpress.org/support/article/changing-the-site-url/
よくあるパターンとしては、ドメイン直下のディレクトリの中にWordPressを移行先にしたときに、ログインできない時
define('RELOCATE',true);
を使うとログイン画面にアクセスした際のパスを使ってサイトURLが更新されるので新しいURLで管理画面を使う事ができるみたいです。しかしこのままRELOCATE定数をwp-config.phpに残しておくと攻撃者によって好きなURLに変更される危険性があるため、削除しておかなければいけないそうです。勉強になりました。