WordPressで構築したwebサイトの運用をお手伝いしていたのですが、サイトの運営者のグループがドメイン名の更新を忘れてしまい、サイトにログイン出来なくなってしまいました。また、元々持っていたドメイン名は第3者に取られてしまい、サイトが表示されないだけではなく、wordpressの管理画面にもログイン出来なくなってしまいました。
ドメイン名が使用できないので、これまでの管理画面のURLにアクセスしても既に第3者のサイトのログイン画面ですので、当然ログインできません。その状況で、既存のwordpressで作ったwebサイトのドメイン名の変更をした時の備忘録です。
状況
ドメイン名の更新をせずに、そのサイトのドメインを失効してしまいサイトが表示されなりました。以前のドメイン名は、第3者のサイトに取られてしまったことが原因です。
・それまで公開していたサイトのサーバーには、アクセス出来たので、既存のファイルとDBにはアクセス出来る。
・新しいドメイン名を取得し、新しいドメインでDNSを設定済み。
・この状態では、wordpressにはログイン出来ない。
・Wordpessのデータベースと設定ファイルには、元のドメイン名ですべてのデータが保存されている。
・新しいドメイン名をアドレスバーに入力していも「500エラー」でサイトが表示されない。
やったこと
1.元のサイトのファイルをすべてFTPでダウンロード。一括置換ソフトでwordpressのファイル内記載されている古いドメイン名をすべて「新しいドメイン名」の置き換える。新しいドメイン名に書き換えたファイルをアップロードする。
2.FTPでサーバーに接続して「.htaccess」ファイルを削除。
これで、500エラーにならなかったですが、ページは真っ白になったまま変化せず。
3.公式ガイド「WordPress Codex 日本語版」のサイトのURLの変更を参考に作業
<title>サイト URL の変更 – WordPress Codex 日本語版</title>http://wpdocs.osdn.jp/%E3%82%B5%E3%82%A4%E3%83%88_URL_%E3%81%AE%E5%A4%89%E6%9B%B4
wp-config.php の編集
wp-config.php ファイルで、サイト URL を手動設定できます。 以下の2行の “example.com” をサイトの正しいアドレスに置き換え、wp-config.php ファイルに追加。
define(‘WP_HOME’,’http://example.com’);
define(‘WP_SITEURL’,’http://example.com’);functions.php の編集
これらの値を間違って変更したとしても、サイトへの FTP アクセスができる場合は以下の方法でサイトを元の状態に戻すことができます。
1. サイトに FTP 接続し、現在有効化されているテーマの functions.php をコピーする。これをテキストエディタで編集し、サイトへ再アップロードすることになります。
2. 最初の “<?php” 行のすぐ後に以下の2行を追加する。
update_option( ‘siteurl’, ‘http://example.com’ );
update_option( ‘home’, ‘http://example.com’ );
もちろん、example.com ではなく自分の URL を使ってください。
3. ファイルをサイトの元あった位置にアップロードする。
4. ログインまたは管理画面を何度か読み込み直す。サイトが元の状態になっているはずです。ステップ
- サーバー上の wp-config.php を開く(またはダウンロードする)。
- “define” 宣言の後(「編集が必要なのはここまでです !」という行の直前)に、新しい行を追加し define(‘RELOCATE’,true); と入力する。
- wp-config.php ファイルを保存する。ステップ1でダウンロードした場合は上書きアップロードする。
- ブラウザを開き、新サーバーの wp-login.php へ移動する。例えば、新しいサイトが http://example.org の場合は http://example.org/wp-login.php とブラウザのアドレスバーに入力する。
- 通常と同じようにログインする。
- ブラウザのアドレスバーを見て、正しいサーバーにログインしているかどうか確認する。正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認する。変更を保存するのを忘れないように。
- 全て正しく修正されたら、wp-config.php を編集してステップ2で追加した内容を削除する。再度リロケートメソッドを使う予定がある場合は、行をコメントアウトするか true を false に変更してもよい。
データベースで URL を直接編集する
ホスティングサービス上の phpMyAdmin にアクセスできる場合は、データベース内の値を直接変更してサイトを元に戻すとよいでしょう。
- データベースのバックアップを行い、サイト外にコピーを保存する。
- phpMyAdmin にログインする。
- WordPress のデータベースへのリンクをクリックする。データベース内のテーブル一覧が表示される。
- この一覧で wp_options を探す。注: テーブル接頭辞 wp_ をインストール時に変更した場合は名称が異なるかもしれません。
- 表示 アイコンをクリックする。wp_options テーブルのフィールド一覧が表示される。
- option_name フィールドのカラムで、siteurl を探す。注: wp_options 内には複数のページがあるので、ページ送りを使って探す。
- 通常は行の一番左にある編集アイコン(エンピツ)をクリック。
- option_value の入力欄で、新しい URL を入力する。
- 間違えていないか確認し、「実行する」をクリックして保存。
- wp_options テーブルに戻るので、今度は home フィールドを探して編集アイコンをクリック。
- option_value の入力欄で、新しい URL を入力して保存する。