WordPressの一般設定で、URLを誤って変更してしまったときに発生することと、戻し方について当ブログの環境を例にまとめておきます。 「設定を元に戻すこと」が目標です。
環境
当サイトは下記を参考に感謝しながらブログを構築しました。
GCPの無料枠でdev.toなみの爆速WordPress環境を構築する
https://www.karelie.net/free-fast-wordpress-site/
上記サイト通りの場合は本記事をそのまま参考にできます。関連する環境情報は下記なので 同種の環境の方は参考にしてください。
プラットフォーム | Google Cloud Platform |
OS | Ubuntu 16.04 LTS |
データベース | docker-compose └ mariadb:10.1.21 |
KUSANAGI | docker-compose ├ primestrategy/kusanagi-nginx:1.10.0-1 └ primestrategy/kusanagi-php(v7.0.11頃のものをカスタマイズ) |
wordpress一般設定からURLを変更するとこうなる。
まず、誤った設定変更を行うことがどういうことかをまとめておきます。
一般設定画面からURLを変更
「変更を保存」ボタンを「誤って」押下
注意)サイトアドレス設定の使い方を理解していない方は押してはいけないボタン
「変更を保存」ボタンを押した直後の画面
※ここで冷や汗が一瞬でます。「変更後のURL」に改めてアクセスしても同じ結果です。
変更前のURLにアクセスしてみる
何やら、スタイルが壊れた画面が出てきました。リンクは変更後のURLに貼られているので管理画面にたどり着けません。
URL設定の変更を元に戻す
本題の戻し作業です。ブラウザ操作で何とかするか、データベースを修復するかの2択となります。
ブラウザ操作で対応する
トップ画面がレイアウト崩れていても表示されているなら、強引なブラウザの操作で何とかなる。もし、トップ画面も表示されないようなら、データベース修復を参考にしてください。
旧URLベースの管理者ログイン画面を表示
- https://{旧URL}/wp-login.php へアクセスします。
ログイン認証するための細工
- このまま「ログイン」を押下しても変更後URLベースのPHPに認証に行ってしまい認証できません。そこでデベロッパーツールを起動し強引に変更前URLへ認証しにいきます。ブラウザにもよりますが、そのなかの 「action=~~」という記述を探して書き換えましょう。
管理画面表示
- 「ログイン」ボタン押下直後は下記のような画面になります。
- ブラウザのURL欄に直接「 https://{変更前URL}/wp-admin/ 」を入れてくだい。 下記のようなレイアウトの崩れた管理画面が表示されればログインがうまくできている証拠です。
一般管理設定画面とURLの戻し
一般設定リンクをクリック。レイアウトが崩れているのでかなり下の方に設定があります。正しいURLに戻して「変更を保存」を押す
元のログイン画面が表示されることを確認し完了
データベースを直接修復する方法
トップページが表示されない。404エラーになる。パニックでよくわからない。などなど。この時に元に戻すにはデータベースの内容を復旧するということになります。ここで、参考サイトの手順通りに環境作った場合、docker利用になっているので手順が一段階追加されます。
(補足)
見かけ上は元に戻る方法で「wp-config.phpにURLをdefineする方法」があります。ここでは紹介しません。変更前URLで動作するように設定する一つの方法ですが、内部的に「間違えた設定」を「別の優先設定」で上書きして振る舞いを変えています。「設定を戻した」というより「設定を追加した」ということです。また設定画面上、サイトアドレス設定はグレーアウトされ該当項目のDB連携はなくなるようです。
データベース接続に必要な情報を準備
wordpress構築時のDB情報が必要になります。私と同じ構築の方は下記になります。
GCPでssh接続する。
GCPの「Compute Engine」からSSH接続します。
データベースDockerへ接続
下記コマンドでdockerの状況を確認します。DBのコンテナIDを確認しましょう。
sudo docker ps
sudo docker exec -it {コンテナID} /bin/bash
うまく接続できると、以下のようなroot@コンテナIDのようなプロンプトになります。
データベースへ接続
mysql -u {データベースユーザ名} -p {データベース名}
この後、{データベースのパスワード}の入力が求められるので入力。下記のような画面になります。
現状設定の確認
下記を入力します。2件マッチするはずです。
※「option_name in (“siteurl”,”home”)」によって2件マッチすることを確認してください。この条件で3件以上がヒットする場合、作業を中断して内容を見直ししてください。
select * from wp_options where option_name in ("siteurl","home");
設定の更新
更新対象を 「where option_name in (“siteurl”,”home”)」 とすること。2件更新されます。
update wp_options set option_value="{正しいURL}" where option_name in ("siteurl","home");
更新結果の確認
select * from wp_options where option_name in ("siteurl","home");
サイトの確認
元のトップ画面やログイン画面への遷移が戻っています。一般設定画面からURLが元通りになっていることを確認してください。
サイト確認が完了したら、SSH接続から抜ける
DB接続、docker接続、いずれも、exitで抜けます。
exit exit
この画面まできたら、exit または×印いずれでもOKです。これで処置完了です。
まとめ
wordpress一般設定のサイトURLについて誤って更新してしまった場合の戻し方を2種類まとめてみました。
- ブラウザ操作で強引に戻す
- DBの内容を直接修正する
コメント
[…] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]
[…] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]
[…] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]