WordPressの一般設定でサイトURLを誤って変更した時の戻し方

ブログ運営

WordPressの一般設定で、URLを誤って変更してしまったときに発生することと、戻し方について当ブログの環境を例にまとめておきます。 「設定を元に戻すこと」が目標です。

環境

当サイトは下記を参考に感謝しながらブログを構築しました。

GCPの無料枠でdev.toなみの爆速WordPress環境を構築する
https://www.karelie.net/free-fast-wordpress-site/

上記サイト通りの場合は本記事をそのまま参考にできます。関連する環境情報は下記なので 同種の環境の方は参考にしてください。

プラットフォームGoogle Cloud Platform
OSUbuntu 16.04 LTS
データベースdocker-compose
└ mariadb:10.1.21
KUSANAGIdocker-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情報が必要になります。私と同じ構築の方は下記になります。

【第5回】GCPの無料枠でdev.toなみの爆速Wordpress環境を構築する(KUSANAGI Runs on Docker編) | カレリエ
GCPの無料枠でdev.toなみの爆速Wordpress環境を構築するが公式ページで掲載されているインストール方法だと様々な問題があり実用的ではない。Let’s EncryptのSSL未対応やアップロードファイルの容量制限などがあるが、今回紹介する方法で構築すればそれらの諸問題も解決できる。

GCPでssh接続する。

GCPの「Compute Engine」からSSH接続します。

データベースDockerへ接続

下記コマンドでdockerの状況を確認します。DBのコンテナIDを確認しましょう。

sudo docker ps
sudo docker exec -it {コンテナID} /bin/bash 

うまく接続できると、以下のような[email protected]コンテナ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種類まとめてみました。

  1. ブラウザ操作で強引に戻す
  2. DBの内容を直接修正する
ブログ運営
スポンサーリンク
takaをフォローする
アフターファイブ改革

コメント

  1. […] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]

  2. […] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]

  3. […] WordPressの一般設定でサイトURLを誤って変更した時の戻し方 […]

タイトルとURLをコピーしました