WEBTODESIGN

お名前.com×さくらサーバー。ダウンタイムなしで挑むWordPressサーバー移行メモ

サーバー移行って何度やっても緊張する。
今回は、ドメインの権限移譲からSSLの事前発行、URL置換まで、「ダウンタイムほぼゼロ」で乗り切った移行プロセスを備忘録として残しておく。

ドメインの下準備

今回は前制作会社さんがドメインを管理していたので、まず自分の管理下へ引き継ぐところからスタート。

「お名前ID切り替え」で一瞬

通常のドメイン移管(AuthCodeを発行して承認して…)だと数日かかるけど、お名前.com同士の「ID切り替え」なら手続きは一瞬。DNS設定をそのまま保持した状態で、即座に自分のアカウントに表示される。便利。

ただし、相手にログインパスワードを教えるのはお互いリスクがある。一度「転送専用アカウント」にドメインを移してもらってから自分のアカウントへ切り替える流れにすると安心。

サーバーの下準備

新サーバー(さくらのレンタルサーバ)側で、ドメインを受け入れる準備を整える。

この間、サイトを更新などされると差分が発生するので、クライアントさんには更新しないように伝えておく。DNSは最大72時間浸透にかかるというが、まぁ大体すぐ反映はされる。でも一応念のため、クライアントさんが稼働しない土日とかに合わせて、金曜の午後から週明けまで更新しないでね、的なのが安心かなと思う。(そして金曜の午後にデータをバックアップし、新サーバーへ内容をコピーする作業をする)

ドメイン登録とSSLの事前発行

さくらサーバーに本番ドメインを登録する。ここでネックになるのがSSL認証だけど、2025年11月からDNSを切り替える前にSSL証明書が発行できるようになったらしい。助かる!

事前申請にはDNSへのTXTレコード追加が必要なので、ドメインが自分の管理下に入ってから着手。さくらサーバーにドメインを登録したら、SSLの設定に行って、無料のを選択。事前申請のボタンがあるのでそこにあるDNSで認証のタブのコードをDNSのTXTレコードに登録する。数時間経つと無事SSL証書が無事発行された!

テスト環境の構築

テスト確認用のサブドメインも登録して、SSLも適用しておく。
サブドメインはお名前.comで最初から新サーバーのAレコードを設定しておけばOK。

データの移行

SSL設定待ちの間に、新サーバーへサイトを完コピする。Migration系プラグインで簡単にできるが、今回はメディアとテーマのファイルが膨大だったので、プラグインだけに頼らず、メディアファイルとテーマファイルはFTPで直接アップロードした。(なぜか1記事だけアイキャッチが外れていて焦った。なぜ。)

メディアのインポート

メディアはuploadsフォルダにアップしただけでは認識されないので、WordPress標準のインポートツールでDBに登録。(ファイルをダウンロードのチェックはしなくてOK。なぜなら手動でアップロードしているから。データベースとの紐付けだけしてもらう。)

URLの一括置換

サイトが完コピできたら、DB内のテストドメインを本番ドメインに置き換える。

Better Search Replace

WordPressのデータは「シリアライズ」という形式(文字数情報を含んだ保存方法)になっているので、SQLで直接書き換えるのは絶対にNG。文字数カウントがズレてデータが壊れるらしい。プラグイン(Better Search Replace)でやるのが手軽で確実。(今までSearch Regexを使ってたけど、Better Search Replaceの方が断然UIも綺麗で簡単だった。今後はこちらを使おうと思う)

置換前に必ずDBのバックアップを取っておくこと。万が一おかしくなったときに戻せる状態にしておく。(今回は前サイトのデータのバックアップがあるのでテストドメインにアップしてからのバックアップは特にとってない。おかしくなったらまた構築するのみ!)

置換後はアクセスできなくなる

置換を実行した瞬間テストURLではアクセスできなくなるが、これは予定通りなので慌てなくて大丈夫。焦ってロールバックしないように。

DNSの切り替え

下準備がすべて終わったら、いよいよDNSを切り替える。

最終確認

新サーバー側の本番ドメインのルートフォルダが、データを入れた場所を正しく指しているかチェック。ここがズレていると切り替え後にサイトが表示されないので注意。

Aレコード書き換え

お名前.com側で、DNSのAレコードを旧サーバーから新サーバーのIPへ切り替え。
TTLは事前に短くしておくと浸透が早くなるらしい(作業前日に3600→300くらいにしておくのがおすすめとのことだが今回はやってない…)。

浸透チェック

しばらくしたらDNSチェッカーで世界中のIPが切り替わるのをチェック。新IPに変わったのを確認できて、サイトにアクセスしてもちゃんと表示されていてホッとした!

仕上げ

シークレットモードで表示を確認。ちゃんと表示されていてホッ。
最後に管理画面で「パーマリンク設定」を空更新して .htaccess を整えたら完了。

振り返り

大きなトラブルもなく、無事にダウンタイムなしで切り替えが完了した。
アクセスの少ない深夜帯に作業するのが、やっぱり精神衛生上いちばんよろしいが、今回は朝やりましたね…オホホ…緊張したって…。

「ID切り替え」と「SSL事前発行」はほんとに助かった。ありがたい。
そしてやっぱりさくらはドメインのルートフォルダが自由に指定できるのが嬉しいよね!