一度は契約を切ったけど、やっぱり必要になった、バックアップとってないけどサイトの中身を復活させてほしい!
こんな依頼が来たときに私が復旧させるまでしたことを備忘録として残します。
なお、下記条件の場合です。
- もともとのドメインの再取得は不可能→サイトの中身が見れるならドメインが変わってもいい
- サイトのサーバー、DB情報は残っている。
- サーバーの管理権限を保持している。
- WordPressで製作されたサイト
①とにかくまずはバックアップ
私失敗しませんからっていう方以外はまずはサーバーの中の復旧させたいサイトのデータのバックアップを取ってください。FTP等のツールを使い、ドメイン配下のデータを全てローカルにダウンロードしてください。
②その間に新たなドメインを購入する
ドメイン購入サイト(お名前.comやムームードメインなど)で、新たにサイトを表示させるためのドメインを購入する。
③DNS設定を行う
新しいドメインを既存のホスティングプロバイダーにポイントするようにDNS設定を行います。これは、ドメイン登録業者の管理パネルから行うことができます。
④サーバーに新規取得した独自ドメインを登録する
通常サイトを新規で作成するときと同じように、サーバに先ほど新規で取得したドメインを登録作業します。(この辺は省きます)
⑤ドメイン配下にワードプレスをインストールする
簡単インストールなどを使い、ドメイン配下にワードプレスをインストールします。
この時気を付けてほしいのが、DBは新規で作成せず、以前のサイトのDBを使用してください。
ワードプレスの投稿情報はこのDBに登録されています。
サーバーのデーターには入っていないので注意してください。
また、フォルダ作成される場所は以前使用していたフォルダにしてください。
⑥wp-config.php ファイルの編集
ドメインのルートディレクトリに、【wp-config.php
】ファイルがあるので、こちらのファイルを編集します。
※Windowsのメモ帳で編集は絶対にやめてください。最悪壊れます。
問題なく使えるテキストエディタ
http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9%E%9%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF
必ず UTF-8 の BOM なし (UTF-8N) で保存してください。
WordPressのルートディレクトリにある wp-config.php
ファイルを見つけて編集します。このファイルには、WordPressサイトの基本的な設定情報が含まれています。
wp-config.php
ファイルに以下の2行を追加することで、サイトのWordPressアドレスとサイトアドレスを手動で定義できます(your-new-domain.com
に新しいドメインを入れてください)
define('WP_HOME','http://your-new-domain.com');
define('WP_SITEURL','http://your-new-domain.com');
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
かかれている行の上に追記してください。
修正後FTPソフトなどでサーバーにアップして上書きしてください。
⑦データベースの編集
phpMyAdmin等のデーターベース編集ツールを使用し、DBを編集します。
私はヘテムルサーバーを使用しているので、phpMyAdminを使用していることを前提として話を進めます。
- IDとパスワードを入力してログインします。
※IDもパスワードも分からないよーという方は、先ほどダウンロードしたwp-config.php
に書かれてるので確認してください。 - 万が一の時に備えてDBをエクスポートしてバックアップしてください。
- WordPressのデータベースを選択し、
wp_options
テーブルを探します(テーブルのプレフィックスが変更されている場合があるので、wp_
の代わりに異なるプレフィックスがついている可能性があります)。 wp_options
テーブル内で、siteurl
とhome
の2つのレコードを探し、新しいドメインにそれぞれの値を更新します。- このままでは、画像URLやリンクなどの静的ファイルのリンクが前回のドメインのままですので、データベースでの検索と置換を行います。
(このあたりはプラグインでもできるよ!DBをできるだけ触りたくない人は例えば、「Better Search Replace」や「WP Migrate DB」といったプラグインがこれに役立ちます。検索してみてね!) wp_posts
テーブルとwp_postmeta
テーブルを含む、古いドメイン名が含まれている可能性のあるすべてのテーブルを探します。- SQLクエリを実行して、古いドメイン名を新しいドメイン名に置き換えます。以下はその例です(
old-domain.com
とnew-domain.com
はそれぞれ古いドメインと新しいドメインに置き換えてください)
UPDATE wp_options SET option_value = replace(option_value, 'http://old-domain.com', 'http://new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://old-domain.com','http://new-domain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://old-domain.com', 'http://new-domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://old-domain.com','http://new-domain.com');
⑧キャッシュのクリア
WordPressサイトとブラウザのキャッシュをクリアします。また、使用しているキャッシュプラグインやCDNサービスのキャッシュもクリアしてください。
⑨パーマリンクのフラッシュ
変更後、パーマリンク構造をリセットすることがしばしば必要です。これを行うには、WordPressの管理画面にログインして、「設定」→「パーマリンク設定」ページにアクセスし、変更を保存するだけでパーマリンク構造がリセットされます。
⑩.htaccessファイルのチェック
サーバーのリライトルールが古いドメインを指していないか、.htaccess
ファイルをチェックしてください。不必要なリダイレクトルールがあれば削除または更新します。
⑪プラグインとテーマの設定
一部のプラグインやテーマは独自の設定オプションにURLを保存することがあります。プラグインやテーマの設定を確認し、必要に応じてURLを更新してください。
以上で完了となります。
一応サイトのソースを確認して、以前利用していたドメインがソース内にもうないか、確認してくださいね!
コメント