migrate-to-hosting について
WordPress、静的サイト、PHP、Node.jsをHostingerへ移行する担当者向けのスキルです。DNSを切り替える前に複製サイトを用意して検証し、切り替え後の確認や作業も案内します。
主な機能
- 01サイト種別、エクスポート、DNSの確認
- 02Hostingerに移行先サイトを作成
- 03サイトファイルとデータベースの移行
- 04DNS切り替え前のサイト検証
- 05移行後の定期ジョブ再作成
活用シーン
- 01WordPressサイトとデータベースの移行
- 02静的サイトまたはPHPサイトの移行
- 03Node.jsアプリケーションの移行
- 04移行中の訪問者への影響を抑制
MCP 対応
hosting、wordpress、agency-hosting、domains、dnsの各Hostinger Connector MCPサーバーを介した操作方法を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hostinger/ api-mcp-server --skill migrate-to-hostingインストール後、Claude Code で/migrate-to-hostingを入力して読み込まれたか確認します。
詳細
ホスティングへの移行
Hostinger 上のコピーが正常に動作すると確認できるまで、以前のホストは引き続きサイトを提供します。DNS の切り替えは最後に行います。
操作の呼び出し
- 各操作を初めて呼び出す前に、
searchが返すinputSchemaを確認します。以下の名前が不明な操作として拒否された場合は、その手順で行うことを検索します(例:「import wordpress」)。 - 読み取り操作は
multi-executeでまとめて実行します。バッチで連続実行できる操作は同じサーバーのものに限られます。Hostinger Connector ではhosting、wordpress、agency-hosting、domains、dnsはそれぞれ別のサーバーとして実行されます。 - インポートとデプロイでは、対象ウェブサイトの内容が上書きされます。それぞれの実行前に対象を確認します。
1. 移行対象の確認
推測できないことだけを確認します。
- サイトの種類: WordPress、静的サイト、PHP(MySQL の有無を問わない)、または Node.js。
- エクスポートデータ:
- WordPress — WordPress のルート全体(
wp-contentとwp-config.phpを含む)のアーカイブと、.sqlダンプ。 - PHP — ファイルのアーカイブと、アプリにデータベースがある場合は
.sqlダンプ。 - 静的サイト — ファイル。Node.js — ソースまたは Git リポジトリ。
- エクスポートデータがない場合、ユーザーに以前のホストのコントロールパネルまたは SSH からエクスポートしてもらいます。コマンドは
tar -czf site.tar.gz -C /path/to/site .とmysqldump --single-transaction -u USER -p DBNAME > db.sqlです。
- WordPress — WordPress のルート全体(
- 正確なホーム URL(
https、wwwの有無を含む)— WordPress では URL がデータベースに保存されるため、新しいサイトも同じ URL で応答する必要があります。 - 現在の DNS(既存の正常な設定を維持するため):
dig +short NS DOMAIN; dig +short A DOMAIN; dig +short MX DOMAIN; dig +short TXT DOMAIN
- 以前のホストの cron ジョブ — ファイルと一緒には移行されません。
2. 実際のドメインにウェブサイトを作成する
無料サブドメインではなく、移行対象のドメインに Hostinger のウェブサイトを作成します。手順 4 ではこのマシンのみを Hostinger に向けてテストするため、まだ訪問者には影響しません。
- 共有ホスティングと Cloud:まず
hosting_domains_verify-ownershipを実行します。is_accessibleが false の場合、ユーザーに現在の DNS プロバイダーで、既存のレコードの横に返されたTXTレコードを追加してもらい、検証を再実行します。次に、hosting_orders_listのorder_idとdomainを指定してhosting_websites_createを実行し、domainを指定してhosting_websites_list-setupsを 10~15 秒ごとにポーリングし、status: completedになるまで待ちます。 - Agency:
domain、flavor: "php-fpm"、以前のホストと一致するsettings.php.version(選択肢はagency-hosting_php_list-versions-for-orderにあります)、およびagency-hosting_datacenters_listから取得したdatacenter_codeを指定してagency-hosting_website-setups_createを実行します。website_uidのステータスがcompletedになるまでagency-hosting_website-setups_statusをポーリングします。
3. インポート
hosting_deploy と agency-hosting_deploy-php-application はこのマシンからファイルを読み込み、ローカルの hostinger-api-mcp サーバーでのみ利用できます。ホスト型サーバー(mcp.hostinger.com)では、まず deploy-to-hosting スキルの「ローカルのデプロイ操作を使わない場合」の説明に従ってファイルをアップロードし、以下の角括弧内に記載された操作を使用します。
WordPress、Shared、Cloud: hosting_deploy に domain、path(サイトのディレクトリまたはそのアーカイブ)、databaseDump、type: "wordpress-site" を指定すると、ファイルとデータベースの両方をアップロードし、ファイルを展開してデータベースをインポートします。大規模なサイトでは数分かかります。必ず type を指定してください。検出に任せると、最上位に wp-config.php または wp-content がないディレクトリは通常のサイトとして扱われ、ダンプはインポートされません。[site.zip と dump.sql をアップロードしてから、archive_path と sql_path を指定して wordpress_installations_import-website を実行します。] 続いて username を指定して wordpress_installations_detect を実行し、インストールが is_valid: true で表示されるまで、domain を指定して wordpress_installations_list をポーリングします。
静的サイト、またはデータベースを使用しない PHP: domain と path を指定して hosting_deploy を実行します[アップロードしてから hosting_websites_deploy-static-site-archive を実行します]。Agency:agency-hosting_deploy-php-application[.h5g/ にアップロードしてから agency-hosting_files_import-website-from-archive を実行します]。
データベースを使用する PHP、Shared、Cloud:
- 強力なパスワードを生成し、
hosting_databases_createを実行します。hosting_databases_listで完全な名前、ユーザー、hostを確認します。 - このマシンからダンプをインポートします。
hosting_databases_create-remote-connectionを使って、このマシンのパブリック IP(curl -s https://api.ipify.org)のみを許可し、mysql -h HOST -u USER -p NAME < db.sqlを実行してから、hosting_databases_delete-remote-connectionでルールを削除します。MySQL クライアントがない場合は、hosting_databases_phpmyadmin-linkを使い、そこでインポートします。 - アーカイブを作成する前に、新しい名前、ユーザー、パスワードをアプリの設定ファイルに入力し、ホストには
localhostを指定します。その後、上記の手順でデプロイします。アプリ内にsrvNNNN.hstgr.ioホストを含めて公開しないでください。
Node.js: deploy-to-hosting スキルを使ってデプロイします。ダンプをインポートする必要がある場合は、データベースの作成に hosting_databases_setup-website ではなく hosting_databases_create を使用してください。後者ではインポートに必要なパスワードが開示されません。認証情報は環境変数で渡します。
Agency: ファイルには agency-hosting_deploy-php-application を使用します[またはアップロード後に agency-hosting_files_import-website-from-archive を実行します]。データベースは agency-hosting_databases_create-website で作成し、hPanel の phpMyAdmin からインポートします(インポート操作はありません)。WordPress の場合は、アーカイブを作成する前に新しい認証情報を wp-config.php に設定します。
4. DNS を切り替える前にテストする
サーバーアドレスを確認します。Agency の場合は details.ipv4、Shared と Cloud の場合は Hostinger のゾーン内にある @ の A レコード(ドメインで dns_records_list を実行)か、hPanel に表示されているウェブサイトの IP アドレスを使います。その後、このマシンからの接続だけをそのアドレスに向けます。
curl -sSk --resolve DOMAIN:443:IP -o /dev/null -w "%{http_code}\n" https://DOMAIN/
curl -sSk --resolve DOMAIN:443:IP https://DOMAIN/ | grep -o "TEXT FROM THE LIVE SITE"
curl -sSk --resolve DOMAIN:443:IP -o /dev/null -w "%{http_code}\n" https://DOMAIN/wp-login.php
ここでは -k を使うのが想定どおりです。ドメインの DNS を切り替えるまでは、ドメインの証明書を発行できません。ホームページ、下層ページ、WordPress の場合はログインページを確認します。ブラウザーで確認するには、ユーザーが hosts ファイルに IP DOMAIN www.DOMAIN を追加し、確認後に削除します。訪問者がまだ旧サイトを見ている間に、問題をすべて修正してください。
5. DNS と SSL を切り替える
DNS の手順から connect-domain スキルに従います。手順 1 のすべての MX レコードと TXT レコードを保持し、ドメインが Hostinger に解決されるようになったら SSL をインストールします。ユーザーが旧 DNS を管理している場合は、切り替えの 1 日前に A レコードの TTL を 300 に下げると、切り替えにかかる時間を短縮できます。
6. 切り替え後
--resolveを使わずに確認します。curl -sSI https://DOMAIN/にplatform: hostingerと表示されます。- 旧ホストの cron ジョブを
hosting_cron-jobs_createで再作成します(Agency の場合はagency-hosting_cron-jobs_create-website)。 - 旧ホスティングは数日間稼働させておきます。一部のリゾルバーは旧アドレスをキャッシュし続けることがあり、旧ホストのメールは別途移行する必要があります。