思い切ってブログをサブディレクトリからサブドメインに引っ越すことにしました。URLが以下に変更となります。
https://zousanrecords.com/otahiroshi/blog
↓
ちなみにレンタルサーバーはロリポップです。
手順としては
- 旧ブログのデータをFTPソフトでダウンロード
- 新規サブドメイン、データベースを作成
- 旧ブログのデータベースをエクスポート、新データベースにインポート
- 1でダウンロードしたデータを新ブログ用に書き換え、新ディレクトリにアップロード
- データベースを新ブログ用に書き換え
- リダイレクトを設定する
実際やってみると、エラーが出たりですんなりとはいきませんでした。実際に行う際は自己責任でお願いします。
1.旧ブログのデータをFTPソフトでダウンロード
まず、サーバー上の旧ブログの全データをダウンロードします。
自分の場合は
otahiroshi/blog
内のデータをftpソフト、WinSCPでダウンロードしました。
2.新規サブドメイン、データベースを作成
新ブログ用に新規にサブドメイン、データベースを作成します。
作成方法については以前の記事を参照↓
ロリポップサーバーでサブドメインを設定、データベースを新規作成してWordPressをインストールする
WordPressはインストールしなくてOKです。
自分はブログをSSL化しているのでサブドメイン設定時にSSL化も済ませました。
SSL化については以前の記事を参照↓
3.データベースのエクポート、インポート
旧データベースをエクスポート、新データにインポートします。
旧データベースにログイン。
旧ブログ用のデータベースを選択して「エクスポート」
以下、参考にさせていただいたサイトにあったのですが、
エクスポート方法で「詳細」を選択。
生成オプションで「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する」にチェック。
作成するクエリの最大長を1000にします。
これで「実行」です。
ちなみに自分はデータが大きかったので出力の圧縮で「zip形式」を選択しました。
次に新ブログ用のデータベースにログイン。
作成したデータベースを選択して「インポート」、「参照」で先ほどエクスポートしたファイルを選択して「実行」
実は、自分はここでつまずきました。データが大きいせいかインポートが上手くいきませんでした。
結果、エクスポート、インポートを3回に分けて行うことでなんとか上手くいきました。
データベースを開き、任意のテーブルにチェックを入れて「エクスポート」で任意のテーブルのみエクスポートすることが可能です。
4.1でダウンロードしたデータを新ブログ用に書き換えてアップロード
1でダウンロードしたデータを新ブログ用に書き換えて新ブログ用のディレクトリにアップロードします。
まず、ダウンロードしたデータの中から「wp-config.php」をエディタソフトで開きます。
自分はAdobe Dreamweaverで開きました。
- データベース名
- ユーザー名
- パスワード
- ホスト名
を新ブログ用のデータベースのものに書き換えます。画像のモザイクの箇所です。
次に、データ内の
「zousanrecords.com/otahiroshi/blog」
部分を
「hidarinohi.zousanrecords.com」
に置換します。
自分の場合はDreamweaverで開いて「zousanrecords.com/otahiroshi/blog」で全文検索して「hidarinohi.zousanrecords.com」に置換しました。
置換できたら、1のサブドメイン設定時に指定したディレクトリにアップロードします。
データベースの書き換え
インポートしたデータベース内の情報が旧ブログのもののままなので、こちらも新ブログ用に書き換えます。
置換にはSearch-Replace-DB-masterを使いました。
Search-Replace-DB-masterについては以前の記事を参照↓
https://zousanrecords.com/otahiroshi/blog
↓
https://hidarinohi.zousanrecords.com
www.zousanrecords.com
↓
hidarinohi.zousanrecords.com
/otahiroshi/blog/
↓
/
の順に置換しました。この辺はwwwのありなしで多少変わるかもしれません。
これで
https://hidarinohi.zousanrecords.com
で新ブログが表示されました。
リダイレクトの設定
新ブログができたのですが、このままでは旧ブログと新ブログの2つが存在してしまいます。
旧ブログにアクセスすると自動的に新ブログへ飛ぶよう「恒久的な転送」である301リダイレクトをかけます。
色々調べてディレクトリ「otahiroshi」の直下の.htaccessに以下の記述をしました。
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^(www\.)?zousanrecords.com$ [NC]
RewriteRule ^/?blog/(.*)$ https://hidarinohi.zousanrecords.com/$1 [L,R=301]
</IfModule>
これで旧ブログにアクセスしても自動的に新ブログに繋がるようになりました。
おわりに
あとは、GoogleサーチコンソールやGoogleアナリティクスなど登録してる場合はそれらも新ブログに設定し直して、作業は完了。
なんとか終えました。引っ越して数日が経ちますがリダイレクトも上手くいって、アクセス数も特に落ちていません。
今回の作業はあくまで自分の場合は、ということなので実際に行う際は自己責任でお願いします。
ありがとうございました。
コメント