Migrations

Move from Vercel, or from anywhere. Your old host keeps serving until you switch DNS.

Connect a Vercel or Netlify project, a Git repository, a WordPress backup, a cPanel account or an SFTP server. Hostingsurge reads it without changing anything, shows you the plan, builds the site on a preview address and gives you the exact DNS changes for the switch.

On Vercel today? Import a project with a read token

Preview before DNSNothing changes on the old hostAutomatic SSLEncrypted secrets
hostingsurge.com/dashboard/importLive demo

Chapter 1 of 5: Pick where the site lives today. For Vercel, the project name and a read-only token are all the import needs.

Example data

Everything a move needs, in one flow

The parts of a migration that usually happen in spreadsheets, chat threads and late-night DNS edits.

  • One path for every source

    Vercel, Netlify, any Git host, a WordPress backup, a cPanel account, SFTP or FTP, or a static snapshot: each site gets an analysis, a preview and a guided DNS switch. Database dumps restore into a managed database.

  • The plan before the build

    The analysis only reads. It lists what it found, what it will create and what to check, and nothing is built until you press Start.

  • Secrets stay secret

    Visible environment variables are copied and stored encrypted. Values the old host never returns are asked for in the review, and access tokens are wiped when the import ends.

  • A preview before anyone sees it

    The imported site builds and runs on its own hostingsurge.app address with HTTPS, while your visitors stay on the old host.

  • A DNS checklist, not a guess

    Which records to change, which to keep so email keeps working, and what public DNS answers right now. The certificate is issued once the domain points here.

  • Cron jobs come along, paused

    Cron jobs from Vercel and from a cPanel account are recreated on the new project and wait, paused, until your domain points here, so nothing runs on both hosts.

Imports are in pilot. Every source on this page runs in production, and we follow early moves closely. Two routes have not yet been tested against a real old server: connecting live to cPanel, and copying a database straight from the old MySQL server. Uploading a cPanel backup or a database dump avoids both, or ask for a concierge migration and we move it with you.

From the old host to your domain in three steps

The same steps the demo above plays. Your visitors never land on a half-moved site.

  1. Connect the sourceChoose where the site lives and connect it: a read token for Vercel or Netlify, a repository URL, a backup file, or cPanel and SFTP details.
  2. Review, then previewCheck the plan, enter the values only you have and start. The site builds on a preview address while the old host keeps serving.
  3. Switch DNSChange the records the checklist lists. Check now confirms them, HTTPS is issued, and you cancel the old host when you are ready.

What comes over from Vercel

The import reads one Vercel project, several, or every project in your account or team with a read token, and sets up the same here.

From VercelOn HostingsurgeDetails
Build settingsCopiedFramework, install and build commands, output and root directory, and Node.js version.
Source codeGit or filesBuilt from the linked Git repository when it can be reached, otherwise from the files of the latest production deployment.
Environment variablesCopied, encryptedSensitive values Vercel never returns are listed in the review for you to enter. Nothing is guessed.
Domains and domain redirectsReady to connectEvery production domain waits for the cutover step, with its redirects.
Cron jobsRecreated, pausedEnable them once DNS points here, or choose per job to run or skip them.
Redirects and headers in vercel.jsonRecreatedExact and prefix redirects and site-wide headers are set up under the project’s Headers & Redirects after the first deploy; rewrites and conditional rules are listed with the reason.
External databasesMoved or keptVercel Postgres/Neon, Supabase (the Postgres data), PlanetScale/MySQL, MongoDB and Redis can move into a new database, copied live, with every variable repointed. Upstash REST (Vercel KV) stays where it is.
Vercel BlobKept, or copiedThe app keeps using Vercel Blob; optionally every file is also copied into a Hostingsurge storage bucket.

Import from Vercel

Not on Vercel? Move from anywhere.

Every source follows the same path: an analysis first, then a preview URL, then a guided DNS switch when you’re ready.

  • Netlify

    Build settings, environment variables, domains, _redirects and headers.

    Import from Netlify

  • Any Git host

    A public repository on GitHub, GitLab, Bitbucket, Codeberg, Gitea or your own server.

    Import a repository

  • Private Git

    A private repository on any host, read through a read-only deploy key we generate for you.

    Import a private repository

  • GitHub App

    Import through the Hostingsurge GitHub App and deploy automatically when you push.

    Connect GitHub

  • WordPress

    A backup from All-in-One WP Migration, Duplicator or UpdraftPlus, or wp-content with an SQL dump.

    Upload a WordPress backup

  • cPanel

    Upload a full-account backup, or connect live for an analysis. Every site, database and mailbox is listed for you to choose.

    Import from cPanel

  • SFTP / FTP

    Connect to any server over SFTP, FTPS or FTP and mirror one site: WordPress, PHP or static.

    Connect over SFTP

  • Database dump

    PostgreSQL, MySQL, MariaDB, MongoDB or Redis, restored into a managed database.

    Upload a dump

  • Website snapshot

    A static copy of a Wix, Squarespace or older site, made once you prove you own it.

    Take a snapshot

Moving mailboxes too? Copy them over IMAP when you set up email on your domain.

Moving by hand, or with the import

The same move, step by step. The difference is what you have to remember.

StepBy handWith the import
Build settingsCopied from the old dashboard, field by fieldRead from Vercel or Netlify, or detected from the repository
Environment variablesEntered again, one by oneVisible values copied and encrypted; hidden ones asked for in one form
TestingOften only after DNS has movedOn a preview address, before DNS changes
DNSWork out which records to touchA list of what to change and what to keep, with what DNS answers now
HTTPSRequest and install a certificateIssued automatically once the domain points here
If a step failsVisitors may already see itThe old host keeps serving; the failed step and its log say what to fix

Let us migrate it for you.

Rather not do it yourself? Our team moves your site, app or database and hands it back ready for the DNS switch.

  1. Tell us what to moveWhere it runs today and what it is: a site, an app or a database.
  2. We move itOur team runs the import and checks everything on a preview URL.
  3. You switch DNSIt comes back ready for the switch. Your current host keeps serving until then.

Run it from your terminal, or ask your AI.

The same import runs from the CLI and over MCP, with the same review and preview before anything goes live.

  • An import command for every source: vercel, netlify, git, wordpress, db, snapshot, cpanel, sftp
  • JSON output for scripts and agents, and HOSTINGSURGE_TOKEN for CI
  • MCP tools that start an import, follow it and move the domain
  • OAuth sign-in from Claude, ChatGPT, Cursor and VS Code, with no keys to paste
# Install the CLI and sign in
npm i -g https://hostingsurge.com/cli/hostingsurge.tgz
hostingsurge login

# Import a Vercel project to a preview URL
hostingsurge import vercel my-app

# Or connect Claude Code over MCP
claude mcp add --transport http hostingsurge \
  https://hostingsurge.com/mcp

The import is free. You pay for what runs.

Importing costs nothing on any plan. The site you bring runs on Cloud or on Web Hosting, whichever fits it.

  • Free

    Try it: static sites run free, and apps get $5 of usage for 30 days.Cloud

    $0 / month

  • Hobby

    For an app moved from Vercel, Netlify or Git. Includes $5 of usage each month.Cloud

    $5 / month

  • Web Starter

    For a website or WordPress site moved from cPanel, a backup or SFTP.Web Hosting · 36-month term

    from $9.99 / month

Prices in USD, excluding VAT. Paid checkout is not open yet: every account runs free today and nothing is charged. Compare all plans

Questions before you move.

What happens to your site, your domain and your secrets.

Will my site go down during the move?

No. Your current host keeps serving while the import runs and while you check the preview. Visitors move over only when you update DNS, and the SSL certificate is issued automatically as soon as your domain points here.

Which hosts can I move from?

Vercel and Netlify with a read token, any public or private Git repository, a WordPress backup from All-in-One WP Migration, Duplicator or UpdraftPlus, a cPanel account (a backup or a live connection), any server over SFTP, FTPS or FTP, a PostgreSQL, MySQL, MariaDB, MongoDB or Redis dump, and a static snapshot of a site you own.

What do I need to change in DNS?

Only what the cutover lists. It shows exactly which records to change at your DNS provider and which to leave alone, like your mail records, so email keeps working. Changes usually take effect within minutes, sometimes a few hours.

What does moving cost?

The import itself is free on every plan, including Free. What you pay for is the plan the imported site runs on: Cloud for apps, Web Hosting for websites and WordPress.

What if something fails?

Your visitors won’t notice, because the old site keeps serving until you switch DNS. A failed import shows the step it stopped at and its log, so you can fix the cause and run it again, or hand it to our team. Once you’re live, any deploy can be rolled back instantly.

How are secrets and environment variables handled?

Environment variables are stored encrypted and isolated to your team. Values Vercel keeps hidden, such as Sensitive variables, can’t be read by the import, so the review lists them and you enter them yourself. Nothing is guessed.

Is my old site touched?

No. The import only reads from your current host, and nothing there is changed or deleted. Keep it running until you’ve switched DNS and you’re happy, then cancel it whenever you like.

How mature are imports?

They are in pilot: every source runs in production, and we follow early moves closely. Connecting live to a cPanel server and copying a database straight from an old MySQL server have not yet been tested against a real old server; uploading a backup or a dump avoids both. If you would rather not be first, ask for a concierge migration.

Move your site. Keep it online the whole way.

Import it, check it on a preview address and switch DNS when it looks right.