Skip to content
zefıly

Sites

Import a site

Copy a WordPress, Laravel, plain PHP or static site from another host onto a Zefily server, on a trial address first, then switch the domain. What is supported, what is never changed, and the .htaccess warnings.

The import wizard copies a site that already runs elsewhere onto one of your servers. The copy starts on a trial address, so you can check the site before anything points at the new server. Then you switch your domain over. Open it from a server: Sites → Import a site.

What you can import

  • From an SSH or SFTP host: a server you can log in to with a password or a private key, and the folder where the site lives. The panel reads it over SSH and copies the files.
  • From an uploaded archive: a ZIP or tar.gz of the site's files, and optionally its database dump (.sql or .sql.gz).

Supported site types: WordPress, Laravel, plain PHP and static sites. The panel detects the type and the PHP version the site needs, and proposes them. You can change every value before the copy.

The source must be reachable on a public address. Addresses on your private network or on the server itself are refused.

The steps

  1. Source. Enter the SSH host, user, folder and password or key, or upload the archive.
  2. Host key. For SSH, the panel reads the source's host key fingerprint and shows it. Compare it with the fingerprint your host or hosting panel shows. Accept only if they match. Until you accept, the panel does not log in.
  3. Analysis. The panel lists the files, the detected type and PHP version, and the database it found. Anything it could not take over is listed.
  4. Proposal. Check the domain, the site type, the PHP version, the web root and the database name. The database name creates a new, empty database on the server, and the dump is loaded into it. An archive that names a database needs its dump uploaded first.
  5. Copy to the trial address. The site is copied onto a trial address. Open it in your browser and check the pages, forms and logins.
  6. Switch the domain. Cut-over copies the changes made on the source since the first copy, points your domain at the new site and turns on HTTPS. The import then ends and its staged files and saved credentials are removed.

You can cancel at any step before the switch. The trial site and its database are removed and nothing is left behind.

What is never changed

The source is only read. The panel lists files, reads them and dumps the database; it never writes, deletes or moves anything on the source host. The copy never overwrites data on your server: a database that already has tables is refused.

Your source password and private key are kept only while the import runs, encrypted, and are removed when it ends or is cancelled.

.htaccess warnings

Apache .htaccess files are converted to nginx rules where the conversion is safe. Lines that cannot be converted are listed in the wizard with their line number and the reason, and they are not applied. Review each listed line: the site may still need that rule. The conversion never runs code from the file.

Limits

  • An uploaded archive can be up to 1 GiB. The agent refuses an archive with more than 200 000 entries, more than 10 GiB of declared content, or one that expands more than 200 times its size.
  • The database dump must hold one database only. Statements that reach other databases, server files or grants are refused.
  • Mail accounts, cron jobs, daemons and the server's own settings are not imported. Set them up on the new server after the switch.

Through the API

The same steps are available to scripts with a token that has the sites:deploy scope. See API, CLI and CI deploys.

Updated November 1, 2026 View as Markdown llms.txt

Still stuck?

Open a ticket from your panel or write to us; we answer within a day.

Contact →