关于 migrate-to-hosting
指导将网站迁移到 Hostinger 的技能,面向需要搬迁 WordPress、静态、PHP 或 Node.js 网站的操作者。流程强调先部署并验证副本,再切换 DNS,并涵盖迁移后的检查。
主要功能
- 01盘点站点类型、导出文件和 DNS
- 02在 Hostinger 创建目标站点
- 03迁移文件与数据库
- 04切换 DNS 前测试新站点
- 05切换后重建定时任务
适用场景
- 01迁移 WordPress 及其数据库
- 02搬迁静态或 PHP 网站
- 03迁移 Node.js 应用
- 04降低迁移期间访客受影响的风险
MCP 相关
说明如何通过 Hostinger Connector 的 MCP 服务执行各项操作,包括 hosting、wordpress、agency-hosting、domains 和 dns。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hostinger/ api-mcp-server --skill migrate-to-hosting安装后在 Claude Code 中输入/migrate-to-hosting确认已加载。
详细介绍
迁移到托管服务
在 Hostinger 上的副本确认正常运行之前,旧主机将继续提供网站服务。DNS 最后迁移。
调用操作
- 在首次调用每项操作之前,先阅读
search返回的inputSchema。如果某个名称被拒绝并提示未知,请搜索该步骤的用途(例如“导入 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 响应。 - 当前 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_websites_create,并提供domain和order_id(来自hosting_orders_list);然后每隔 10–15 s 使用domain轮询hosting_websites_list-setups,直到status: completed。 - Agency:调用
agency-hosting_website-setups_create,并提供domain、flavor: "php-fpm"、与旧主机匹配的settings.php.version(选项来自agency-hosting_php_list-versions-for-order)以及来自agency-hosting_datacenters_list的datacenter_code。使用website_uid轮询agency-hosting_website-setups_status,直到状态为completed。
3. 导入
hosting_deploy 和 agency-hosting_deploy-php-application 会读取这台机器上的文件,并且仅存在于本地的 hostinger-api-mcp 服务中。在托管服务(mcp.hostinger.com)上,先按 deploy-to-hosting 技能(“Without the local deploy operations”)中的说明上传文件,再使用下方方括号中指定的操作。
WordPress、Shared 和 Cloud: 使用 hosting_deploy 并提供 domain、path(站点目录或其压缩包)、databaseDump 和 type: "wordpress-site",即可上传两者、解压文件并导入数据库;大型站点需要几分钟。始终传入 type:如果留待自动检测,顶层没有 wp-config.php 或 wp-content 的目录会被当作普通站点,且不会导入数据库转储。[上传 site.zip 和 dump.sql,然后调用 wordpress_installations_import-website 并传入 archive_path 和 sql_path。]接着调用 wordpress_installations_detect 并传入 username,然后轮询 wordpress_installations_list 并传入 domain,直到安装项显示 is_valid: true。
静态站点,或不使用数据库的 PHP: 使用 hosting_deploy 并传入 domain 和 path [上传文件,然后调用 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_create 创建数据库,而不要使用 hosting_databases_setup-website——后者不会显示导入所需的密码;并通过环境变量传递凭据。
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 的登录页。若要在浏览器中查看,用户需将 IP DOMAIN www.DOMAIN 添加到 hosts 文件,查看后再删除。趁访客仍能看到旧站点,立即修复所有问题。
5. 切换 DNS 和 SSL
从 DNS 步骤开始,按照 connect-domain 技能操作:保留步骤 1 中的所有 MX 和 TXT 记录,待域名解析到 Hostinger 后再安装 SSL。如果旧 DNS 由用户控制,提前一天将 A 记录的 TTL 降到 300,可以缩短切换时间。
6. 切换后
- 不使用
--resolve进行验证:curl -sSI https://DOMAIN/会显示platform: hostinger。 - 使用
hosting_cron-jobs_create重新创建旧主机的定时任务(Agency:agency-hosting_cron-jobs_create-website)。 - 让旧托管服务继续运行几天——部分解析器仍会缓存旧地址,托管在旧服务上的电子邮件也必须单独迁移。