ワードプレスのお引っ越し(さくらからさくらへ)
![[Water Lily Blossom]](https://gontaxx.sakura.ne.jp/blossom/wp-content/uploads/2018/09/s2s190920-00.jpg)
久々の釣り以外記事をば。
さすらいの釣り人のみなサンはスルー願いマス。
このサイト、ブログシステム「ワードプレス」の勉強というか半分趣味いぢり用に、2013年から都合5年間、サーバレンタルして運用してきた。
家主さんは「さくらインターネット」のスタンダードプラン。
しかし、最近表示が重くなってきて困っていた。
そんなところに「PHPモジュールモード」対応の新サーバのお知らせ&乗り換えクーポンが、さくらさんから来た。
何でも、ワードプレスの表示がメッチャ速くなるらしい。
ちょうど年契約の更新タイミングに、えいやっと乗り換えてみたので、自分の覚え書きとして、またどなたか?の参考資料として、その記録をつらつらと。
1.引っ越しの予習
今回はさくらのスタンダードプランのまま、高速なサーバに引っ越すわけだけど、ワンクリックでカンタン乗り換え! とはいかず、
新規サーバ契約 → サイトデータ一式お引っ越し → 旧サーバ解約
という手順が必要で、けっこう面倒そう。
ただ、ワードプレスのカンタン引っ越しを実現するプラグインはいくつかあるらしい。
でも今回はお勉強を兼ねて、ふつうに手順を踏んでやってみることにした。
まずはワードプレスのサーバお引っ越し記事や、さくら→さくらの乗り換え記事などをネットで色々読ませていただき、予習する。
全体の流れとしては、この記事が特に参考になった。
『サイト引っ越し屋さん』ということで、信頼と実績がありそう。
この記事にある手順に沿って作業を進めていくことにする。
ブログはすでに PHP7.x 対応を済ませてあるし、新規サーバ契約はお試しが2週間ある。
旧サーバも最後に仕上げでちょっといぢるだけ、失敗したらいくらでも手戻りできる、というのはかなり気がラク。
まあイケるかな、と勝手な思い込みができたところで作業に移った。
2.サーバ上のファイルをPCに落とす
サーバ上に余計なファイルとかがあると、ダウンロードとアップロードで2倍余計な時間が掛かるので、先に確認・整理しておくのがベター。
私の場合、サイトのバックアップデータのデカいのがいくつか残ってたので、最新のだけ別途ダウンロードして保存し、サーバ上からは全部削除。
FTPソフトで、サーバ上にあるワードプレス関連のファイル一式(当サイトでは blossom フォルダ以下全部)をPCにダウンロードする。
その一つ上のドキュメントルート(www)にもいくつかファイルを置いてたので、それも落としておく。
ソフトは使い慣れた FFFTP だけど、なぜか死ぬほど遅い。
死にそうになりながら終わるのを待って、待って・・やっっと完了。
3.データベースのバックアップ
さくらさんのサーバコントロールパネルから、[データベースの設定] → [管理ツール ログイン] で phpMyAdmin に入る。
[エクスポート]で対象のデータベースを選んで、[実行する]。

PCに持ってきたデータベースファイルを適切なテキストエディタで開き、先頭部分(私の場合20行ほど)を削除して保存。
ファイルサイズがでかくてアップロード時に蹴られそうなので、Zip圧縮し、~.sql.zip というファイル名にしておく。
4.新規サーバの申し込み
ここで、今と同じスタンダードプランで、さくらさんに新規サーバを申し込んだ。
同じプランだけど、新しくサイトデータを置くサーバが、ハード・ソフトの両面で性能アップ!ということになる。
クーポンコードを入れれば、移行の費用は実質ゼロ。
手間は結構なモンだけど・・。
新しいURLをどうするか・・今まで通り、さくらさんのサブドメインをそのまま使うことにする。
ただし、これまでと同じサブドメイン(w-lily)は今回使えない。
ちょっと考えて、gontaxx にしたら使われてなかったので決定。
今はさくらさんが無料証明書も用意してくれてるので、後からゆっくりやろうと思ってたhttps化もこの際、一緒にやっちゃうことにする。
ということで、URLはこのように変わる。
旧
http://w-lily.sakura.ne.jp/blossom/
新
https://gontaxx.sakura.ne.jp/blossom/
ちなみに今回はサイトを丸ごと移すので、新サーバでのワードプレスのインストール作業は不要。
5.データベースの新規作成、インポート
さくらさんのサーバコントロールパネルから、今度は新サーバの管理画面に入り、[データベースの設定] → [データベースの新規作成] を選ぶ。
作成したデータベースの
・データベース名
・ユーザー名
・パスワード
・ホスト名(DBサーバ名)
を、PCに落とした wp-config.php に記述、更新する。
コントロールパネルから、[管理ツール ログイン]で phpMyAdmin に入る。
[インポート]で対象のデータベース(Zipファイル)を選んで、[実行する]。
しばら~く待っても、終了っぽい画面表示に変わらなくて、フリーズしたみたいに止まったまま。
「これで終了?」
まあその後問題ないので、インポートはこれで無事終わったみたい。
6.サイトファイル一式の確認・修正
PCに持ってきたファイル一式の中から、まずはURLの修正。
今回はURLの後半は新旧で同じ、サブドメイン部分と、https化の2箇所が変更点になる。
Devas というフリーソフトの力を借りて、膨大な数のファイルから該当部分を検索・置換する。
まずサブドメインの w-lily → gontaxx で置換。
次に、http://gontaxx → https://gontaxx で置換して完了。
私の環境では結局、子テーマフォルダ内にしか該当箇所はなかった。
その他ファイルの修正も、必要ないかひととおり確認。
.htaccess を色々盛ってた場合は、最初はシンプルな内容で、無事移行できてからゴリゴリするのが無難。
7.ファイル一式のアップロード
今度はPCから新サーバへファイル一式のアップロード。
しかし、今度も FFFTP が爆遅くても~ぅガマンできず、途中で止めて WinSCP に乗り変えたら早い早い。
FTPソフトも乗り換え決定。
早い!とはいえファイル数が多いので、それなりに時間が掛かる・・ぢっと待つ。
8.データベース内のURLの置換
今度はデータベース内にあるURLの記述を、専用ツールで変更する。
「Database Search and Replace Script in PHP」というツールを入手して、解凍して出てきたフォルダを適当にリネーム(安全のため)。
そのフォルダ(仮に「dsrs」とする)を新サーバのワードプレスの入っているディレクトリ(私の場合は blossom )にフォルダごとアップロードする。
https://gontaxx.sakura.ne.jp/blossom/dsrs/ にアクセスすると、置換ツールが表示される。
さっきのサイトファイル置換と同じく、w-lily → gontaxx と、http://gontaxx → https://gontaxx の2段階で置換するんだけど、本チャン前にテストボタンの[dry run]を押すと、エラー表示が4つ出た。
「The table “xxxxxx" has no primary key. Changes will have to be made manually.」
『テーブルに主キーがありまシェン。変更は手動で行う必要がありマス。』
何のこっちゃかイマイチ不明だけど、指摘されたデータベーステーブルはどれも置換対象のURLが入ってないようなので、エイヤッとそのまま続行!
その後は特に問題出なかったので、セーフだったみたい。
終わったら、アップロードした dsrs フォルダを丸ごと削除しておく(安全のため)。
9.新サーバでのブログ表示チェック
いよいよ、新しいURLでアクセスしてみる。
ブログが無事表示されればオメデトー!
ダメだったら、どこかの単純な書き損じか、それとも根が深いのか・・。
私の場合は、10分ぐらいの捜索で犯人発見、事件解決!
・・って、自分の書き間違いだけど。
10.新サーバの管理画面での調整
さて、新URLで無事表示されたら、ワードプレスの管理画面に入ってみる。
今までと同じユーザー名とパスワードでオッケー。
まずは移行設定が終わるまで、[設定]→[表示設定]→[検索エンジンがサイトをインデックスしないようにする]をいったんチェック。
その他、ひととおり設定等をチェックする。
11.旧サーバでの canonical と301リダイレクトの設定
旧サイトにアクセスした釣り人さん、ネットサーファーさん、検索クローラーさんなどを、新サイトの方にご案内する設定。
まず、旧各記事の canonical(ページの重複をひとつにまとめる指定)の設定から。
すでに旧記事に canonical の記載があるか、ソースコードでチェック。
あれば、いったん function.php にコードを追加して無効にする。
remove_action('wp_head', 'rel_canonical');
canonical をぜんぶ新サイトのトップページURLに設定するのは正しくない。
それぞれ同一記事の新URLに設定するため、いろいろ試行錯誤。
下記コードを旧サイトの header.php に追加してテスト。
<?php
echo '<link rel="canonical" href="https://gontaxx.sakura.ne.jp';
echo $_SERVER["REQUEST_URI"];
$url = $_SERVER["QUERY_STRING"];
if ($url == null) {echo '';}
else {echo '?';};
echo $_SERVER["QUERY_STRING"];
echo '" />';
?>
旧サイトの記事のソースを見て、ちゃんと設定されたことを確認。
次に、旧各記事から新サイトの同じ記事に301リダイレクトする設定には、Simple 301 Redirects というプラグインを使った。

このブログのパーマリンク(各記事のURL)は、投稿日と投稿IDを使って次のように設定している。
「~/blossom/2018/09/02/8680」
2004年からの記事全部を、プラグインの上記設定で正しく個別にリダイレクト。
以後、旧サイトの記事は全部リダイレクトされちゃう。
でも旧サイトの管理画面にログインするURLは、さっきのリダイレクト設定の抜け道にしてあるので、直接アドレス指定してやればログイン画面から管理画面に入れる。
12.Google Analytics、Search Console、Bing Web Master 等の設定
これらのサイトに登録、活用していたら、それぞれURLの変更、新サイト認証などの設定を済ませる。
ここまで終わったら、新サイトの管理画面で、[設定]→[表示設定]→[検索エンジンがサイトをインデックスしないようにする]のチェックを外す。
Google はだいたい1週間弱ぐらいで、ブログタイトルで検索して新しいサイトの方が出てくるようになった。
13.各種登録サイトの設定
SNSとか、ブログランキングとか、登録しているところがあったら、各設定などでURLを変更しておく。
14.新サイトのトップページに「お知らせ」
旧アドレスでアクセスしても自動的にリダイレクトされるけど、ブックマークとかしてくれてる人(いるのか?)のため、新サイトの header.php をいじって、トップページにお知らせを入れておく。
<?php if ( is_home() || is_front_page() ) : ?>
※アドレスが変わりました。https://gontaxx.sakura.ne.jp/blossom/
<?php endif; ?>
以上、何とかお引っ越し完了。ふぅ。
ふり返れば、この記事をまとめる方が大変だったかも・・。
色々いじって問題ないのを確認してから、旧サーバを解約した。
契約期間満了までは旧の方も生きてるので、問題なければこのまま新サイトへの誘導役として、寿命をまっとうしてもらう。
新サイトでは表示が速くなって、またhttps化であんしん、あんぜん、めでたし、めでたし。
・・参考にされる方は、自己責任にてお願いいたしマス。