◉ANTIGRAVITY LABEN
記事一覧/Agents & Manager
◈ Agents & Manager/2026-09-07中級

WordPress のサーバー移行で、切り替え前に投稿を三度数え直しています

共有サーバーの移行機能が出す「コピー完了」は、コピーを始めた時点の写しでした。切り替え前に旧新の投稿を全数で照合する手順と、エージェントに任せた範囲の線引きを書き残します。

WordPressサーバー移行エージェント運用18DNS検証8

✦ プレミアム記事

移行機能の画面に「データコピーが完了しました」と表示されたのは、日付が変わったあとでした。案内には、あとは切り替えのボタンを押すだけだと書かれています。私はマグカップを片付けながら、押す前に一度だけ新しい側の中身を見ておこうと思いました。

結果としては、その一度が効きました。新サーバーには、その晩に公開したばかりの記事がありませんでした。

最初にお伝えしたいのは、「コピー完了」という言葉が「いまこの瞬間の写し」を意味していなかったことです。写しはコピーを始めた時点のもので、私がその後に書いて公開した分は、当然ながら入っていません。落ち着いて考えれば当たり前でしたが、通知の文面はそこまで言ってくれません。

コピー完了は、コピーを始めた時点の写しでした

共有サーバーの移行機能は、旧サーバーのファイル一式とデータベースを新サーバーへ写します。サイトの規模によりますが、写し終わるまでには時間がかかります。そして完了通知は「写し終わった」という合図であって、「写している間の更新も追いついた」という意味ではありません。

私は最初のうち、通知が届いた時点で新旧が同じ状態になっていると思い込んでいました。結果は芳しくありませんでした。通知の時刻と自分の最後の投稿時刻を並べるだけで気づけたはずのことを、通知の言葉に預けてしまっていたのです。

いま思えば、確認の手間を惜しんだというより、確認の仕方を思いついていなかったのだと感じています。新しいサーバーは DNS の向こう側にあって、touch できないものだと決めてかかっていました。

いまは、通知が届いても切り替えは押しません。押す前に、新しい側だけを覗きにいきます。

切り替える前に、新サーバーの中身だけを覗く

ここで手が止まりました。DNS をまだ替えていないのに、どうやって新サーバーの WordPress に話しかければよいのでしょうか。

答えは curl の --resolve でした。ホスト名はドメインのまま固定し、接続先の IP だけを新サーバーへ差し替えます。SNI も証明書の検証もドメイン名のまま進むので、--insecure に逃げる必要がありません。

# 新サーバーの WordPress に、ドメイン名のまま直接話しかけます。
# NEW_IP は移行先サーバーの IP アドレスです。
curl -sS -o /dev/null -D - \
  --resolve "example.com:443:NEW_IP" \
  "https://example.com/wp-json/wp/v2/posts?per_page=1" \
  | tr -d '\r' | grep -i '^x-wp-total'

--insecure を付けたくなったときは、いったん手を止めていただければと思います。証明書の検証を切ると、意図した新サーバーではない別の場所に繋がっていても気づけません。移行先の証明書がまだ発行されていない段階なら、証明書が用意されるまで待つほうが安全です。

移行先の証明書がまだ発行されていない場合は、移行機能の側で発行が済むまで待ちます。この場合は、待ってから覗きにいくほうが結局は早く終わります。

繋いだ先が本当に新サーバーかどうかは、切り替え前に新サーバーの公開領域へ一時ファイルを置き、それが返るかどうかで確かめられます。旧サーバーには置いていないファイルなので、返ってきたら新しい側に届いています。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦切り替えの前に旧サーバーと新サーバーの投稿を全数で突き合わせる手順を、自分のサイトへそのまま持ち込めるようになります
✦件数が一致していても本文が渡っていない投稿を、読者より先に見つけられるようになります
✦移行のどこまでをエージェントに任せ、どこから自分の指で押すかを、迷わず線引きできるようになります
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

◈ Agents & Manager2026-09-08
/boost が「検証済み」と返してきたとき、その worktree に何が無かったのかを先に数えています
Antigravity の /boost は使い捨ての隔離ワークツリーでテストを走らせます。手元のビルドが git に入っていないファイルへ依存していると、その検証は別の木の上で通ります。ずれを先に数える手順を書き残します。
◈ Agents & Manager2026-09-01
数百ファイルを一気に書き出させるか、区切って書かせるか
エージェントに大量のファイルを生成させたとき、遅さの正体は書き込みではなくファイル監視側の再スキャンでした。書き出し方を4通り実測して、どこで区切るべきかを判断できるようにします。
◈ Agents & Manager2026-08-17
サブエージェントが完了せず止まるとき、親側の未承認アーティファクトを先に確認する
サブエージェントに任せた工程が朝まで終わっていない。原因が子ではなく親の承認待ちだったときの切り分け方を、ログから滞留を洗い出す短いスクリプトと、公式ドキュメントにある承認の仕組み、自動承認をどこで止めるかの判断とあわせてまとめました。