wordpress ドメイン失効時にデータベースのURLを修正してログインする方法

スポンサーリンク
スポンサーリンク

wordpressドメイン失効

ドメインの更新を忘れてwordpressにログインできなくなった時に、データベースのURLを修正してログインする方法をご紹介します。

ドメインの更新を忘れると、ホームページが表示されず、WordPressの管理画面にもログインできなくなるので、早急にドメインの更新か再取得が必要になります。

とりあえずWordPressにログインできるようにするため、phpMyAdminを使ってデータベースに登録されたURLを修正して、応急処置を施しました。この方法ならドメインの再取得が難しい場合でも、サイトのデータをバックアップするなどの対処ができます。

最近はドメイン更新を忘れると、再取得のために高い手数料を取られることがあります。皆さん、ドメインの更新はお忘れなく。

※ WordPressデータベースの更新は上級者向けの作業です。失敗するとサイトが表示されなくなるので、データベースの修正作業は慎重に行ってください。

スポンサーリンク

WordPress ドメインが失効するとログインできない

先日、管理先のホームページが突然見られなくなってしまいました。原因はドメイン更新を忘れてドメインが失効したみたいです。

サーバに割り当てられた初期ドメインが使えず、wordpressにログインすることもできないので、データベース内のURLを修正して応急処置を施しました。

wordpressが使えるサーバなら、大抵はコントロールパネルからphpMyAdminのようなデータベース管理ツールにログインできるはずです。

そこから wordpressデータベース内の情報を、失効したドメインからサーバの初期ドメインに変更して、wordpressにログインできるようにします。例はこんな感じですね。

失効ドメイン : http://test.com/
初期ドメイン : http://test.sakura.ne.jp/

なお、今回はさくらインターネットのサーバを例に解説します。他のサーバをお使いの方は、適宜読み替えてくださいね。

あと、データベースを修正する時は、念のためにバックアップを取りましょう。記事内でデータベースのエクスポート方法も解説しています。

wordpress データベースの修正

WordPressのURL情報はデータベースに登録されているので、サーバーのコントロールパネルからデータベース管理ツールを使って修正します。

サーバコントロールパネルにログイン

データベース管理ツールは、サーバコントロールパネルからアクセスします。

サーバーログイン

左メニュー「アプリケーションの設定」から「データベースの設定」に進みます。

データベースの設定

データベース一覧が表示されるので、「管理ツールログイン」をクリック。

データベース管理ツールログイン

phpMyAdminにログイン

MySQLデータベースの管理ツール、phpMyAdminにログインします。phpMyAdminはブラウザからMySQLデータベースの作成や変更を行うことができます。

phpmyadminログイン

phpMyAdminにログインすると、左メニューには「information_schema」の他に「サイトのデータベース名」が表示されているはずです。

「サイトのデータベース名」を選択してクリックします。サーバにwordpressを複数インストールしている場合は、該当するデータベースを選んでください。

phpmyadmin データベース修正

データベースのテーブル一覧が表示されました。念のため、まず最初にデータベースをバックアップしておきましょう。上の「エクスポート」をクリックします。

データベース エクスポート

エクスポートの設定はデフォルトのままでOKです。あとは「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」をチェックします。

データベース エクスポート

右下の「実行する」でデータベースがエクスポートされます。

データベース エクスポート

エクスポートが終了したら、上部の「SQL」をクリックします。

WordPress データベース修正

SQLコマンドを実行

下記のSQLコマンドを実行して、データベース内のURLを書き換えます。

URLの例に挙げた http://test.com/ と http://test.sakura.ne.jp/ は自分のサイトに合わせて変更してくださいね。

データベース修正 SQLコマンド実行

UPDATE wp_options SET option_value=REPLACE(option_value,"http://test.com/","http://test.sakura.ne.jp/");
UPDATE wp_posts SET post_content=REPLACE(post_content,"http://test.com/","http://test.sakura.ne.jp/");
UPDATE wp_posts SET guid=REPLACE(guid,"http://test.com/","http://test.sakura.ne.jp/");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"http://test.com/","http://test.sakura.ne.jp/");

SQLコマンドは、こちらのサイトを参考にさせていただきました。

WordPressでの独自ドメイン移行時に、phpMyAdminで書くべきSQL文
こんにちは。株式会社コミュニティコムの星野邦敏です。 昨日のKDDIウェブコミュニケーションズさんで行われました Web制作を効率化して、クリエイティブに専念しよう~WordPress編~(Facebookイベント) において、 CPIサー

「SQL は正常に実行されました」というメッセージが表示されたら成功です。

wordpressドメイン失効 SQL は正常に実行されました

これでとりあえずはwordpressにログインできるようになりました。ドメインが復活したら、再度データベースを修正して、元のURLに戻してください。

なお、ログイン時のURLは初期アドレスに変更となります。ブックマークなどからログインする場合は注意してください。

変更前: http://test.com/wp-login.php
変更後: http://test.sakura.ne.jp/wp-login.php

wordpress マルチサイトの場合

wordpressがマルチサイトの場合は修正するテーブルが増えるので、SQLコマンドのテーブル名を変更して、修正するテーブルを増やしてください。

あと、wp-config.phpも修正する必要があります。「データベース接続確立エラー」が表示された場合は、wp-config.php内を下記の通り修正してください。

修正前: define(‘DOMAIN_CURRENT_SITE’, ‘test.com’);
修正後: define(‘DOMAIN_CURRENT_SITE’, ‘test.sakura.ne.jp’);

wordpress データベース修正用PHPスクリプト

今回はSQLコマンドを使ってデータベース内のURLを修正しましたが、PHPスクリプトを使うという手もあります。

wordpressのデータにはシリアライズされたものが含まれていて、SQLコマンドではきちんと修正されない場合があります。

今回は応急処置なので、とりあえずwordpressにログインできればよかったのですが、本格的なサーバー移行やサイト引っ越しなどの場合は、データベースに不具合が発生して、サイトを元通りに復元できない場合があります。

でも、「SEARCH REPLACE DB」というPHPスクリプトを使うと、シリアライズされたデータも含めて、データベースのレコードから特定の文字列を一気に変更することができます。

少し手間はかかりますが、データベースの修正はこちらを使った方が確実かもしれませんね。

PHPスクリプト「SEARCH REPLACE DB」の使い方は、以下を参照してください。

WordPressを設置したドメインや設置ディレクトリが変更になった場合に、たった5分で全てのURLを書き換える方法
WordPressをお客様に納品する場合など、最初に仮ドメインで設置をして、公開のタイミングで本ドメインに切り替えるという作業をよく行います。それ以外にも、WordPressが動いているサーバーのドメインを変更しなくてはならなかったり、ステージングサーバーから公開サーバーにデータコピーをしたりと、WordPressを移...
タイトルとURLをコピーしました