New feature

Master Your Email Delivery with the Mail Delivery CenterNew: Mail Delivery Center for smarter email delivery Read more >

Move a WordPress Site to WebGee With No Downtime: A Complete Guide

Copy your WordPress site to WebGee, test it on a private preview address, and only then switch DNS, so visitors never see a broken site.

Add WebGee as a preferred source on Google

Moving a WordPress site between hosts goes wrong for one reason more than any other: DNS is changed first and the site is fixed afterwards, while visitors watch. The safe order is the reverse. You copy the site to WebGee, test it there while the old host keeps serving visitors, and only then point the domain at your new hosting.

This guide walks through that order from start to finish, using the tools already in your cPanel account.

Key takeaways

  1. Copy and test the site on WebGee before you change DNS, so the old host keeps serving visitors throughout.
  2. Softaculous remote import and Installatron both pull a WordPress site from another host over FTP, and Installatron also handles Multisite networks.
  3. Website Preview in cPanel lets you test the migrated site with working rewrites and SSL before the domain points at WebGee.
  4. Use the nameservers in your welcome email, or an A record if you manage DNS at Cloudflare or another external provider.
  5. New domains are excluded from AutoSSL by default, so include them in SSL/TLS Status before running AutoSSL.

Before you start

  • Your WebGee welcome email, which lists the nameservers for your server
  • Working FTP (or, better, SFTP or FTPS) credentials for the old host, tested in an FTP client
  • The path from your FTP login directory to the WordPress folder, usually public_html
  • Your WordPress admin username and password
  • Access to wherever your domain is registered, or to your external DNS provider such as Cloudflare

Why the order matters

Your domain can only point at one server at a time. If you switch it before the new copy works, every visitor lands on a half-finished site until you sort it out.

Build the site on WebGee while DNS still points at the old host. The old site keeps running throughout, so there is nothing for visitors to notice. When the new copy is confirmed working, you change DNS, and visitors move across as it propagates.

Choose an import method

You have three routes, depending on where the site is now:

  • Softaculous remote import pulls a site from another host over FTP. Use it for most single-site migrations.
  • Installatron does the same job with a slightly different form. Use it if you prefer it, or if the site is a Multisite network, which Softaculous remote import does not support.
  • A manual move of files and database. Use it for a site you built on your own machine.

Import with Softaculous

  1. Log in to cPanel and open Softaculous.
  2. Open the WordPress page, select the Import tab, then From Remote Server.
  3. Under the source details, enter the domain without http:// or https://, choose the protocol, and enter the old host's FTP username, password and FTP Path.
  4. Under the destination, choose the domain that will serve the site and the database to import into.
  5. Select Import.

Two fields cause most of the confusion. Server Host only matters if the domain no longer resolves to the old server, for example because you have already changed DNS. In that case, put the old server's hostname or IP address here, otherwise the import connects to the wrong place. Leave it blank if DNS still points at the old host.

The two directory fields describe different ends of the move. Installation Directory is where the site sits at the source, and In Directory is where it should sit on WebGee. Both are usually blank.

The import runs in the background, so you can close the page. You receive email as it starts, and you can follow progress under the Task List tab. The full field-by-field reference is in Migrate WordPress with Softaculous remote import.

Protect your FTP password Plain FTP sends your password unencrypted. Choose SFTP or FTPS if the old host supports it, and change the FTP password at the old host once the migration is finished either way.

Or import with Installatron

Open Installatron Applications Installer from cPanel's Software section, search for WordPress, open the three-line menu and choose Import existing install.

On the source side, enter the site's URL, the remote server's hostname or IP, and the FTP username, password and path. If you are migrating before changing DNS and the domain already resolves somewhere unexpected, set URL IP Address to the old server's IP so Installatron reaches the source.

On the destination side, leave Directory blank to serve from the domain root, and let Installatron create the database. Reusing an existing database risks overwriting another site's tables. Once imported, the site appears in My Applications. See Migrate WordPress with Installatron for the full form.

Moving a site you built locally

A local site moves by hand. Four things have to come across: the files, the database, the database credentials in wp-config.php, and the site URL stored inside the database.

  1. Add the domain in cPanel under Domains and note its document root.
  2. Create a database and user in MySQL Databases, and grant the user All Privileges.
  3. Upload the contents of your WordPress folder into the document root. A zip extracted in File Manager is far faster than thousands of files over FTP.
  4. Import your .sql export through phpMyAdmin.
  5. Set the new database name, user and password in wp-config.php. DB_HOST stays localhost.
  6. Replace the local URL in the database.

The last step is the one people miss. In phpMyAdmin's SQL tab, run the following, changing wp_ if your table prefix is different:

UPDATE wp_options SET option_value = 'https://example.com'
  WHERE option_name IN ('siteurl', 'home');

Local URLs are also embedded in post content, widgets and theme settings. Use the Better Search Replace plugin for those, as it handles serialised data that a plain SQL find-and-replace corrupts. Every step is covered in Move a local WordPress site to your hosting.

Test the new copy before you touch DNS

Open Website Preview in cPanel, select your domain, and open the preview address it gives you. It serves your site on a subdomain of the server hostname, exactly as it will be served once DNS points at WebGee. Rewrite rules work, SSL works, and WordPress behaves normally.

Avoid cPanel's older http://server-ip/~username preview. It breaks .htaccess rewrites, needs WordPress's Site URL changed to display at all, cannot do SSL, and exposes the server's IP address.

On the preview, check that:

  • The site does not redirect to the old domain.
  • Images load. Broken images mean URLs in the database still point at the old host.
  • You can log in to wp-admin with your original credentials.

See Preview your site before pointing DNS for more detail.

Testing by other means If you preview the site some other way, WordPress will try to redirect you to the live domain. You can override this temporarily by defining WP_HOME and WP_SITEURL in wp-config.php with the preview address. Remove both lines before going live, or the site keeps pointing at the preview.

Point the domain at WebGee

Use the nameservers in your welcome email. They are specific to the server your account is on and take precedence over any general list. The common pair is ns1.webgee.com and ns2.webgee.com, though some accounts are issued ns1.primens.one and ns2.primens.one. You can confirm the correct pair in the client area, under your service's details.

Where you change them depends on where the domain is registered:

  • Registered with WebGee: in the client area under Domains → My Domains → Nameservers.
  • Registered elsewhere: at that registrar.

If you use Cloudflare or another external DNS provider, do not change nameservers. Point an A record at your server's IP address instead, which is shown in your welcome email and in the client area. Check the change from a terminal:

dig +short NS example.com

Propagation typically takes a few hours and can take up to 48. Because both copies of the site work, visitors reach one or the other during that window rather than an error. See Which nameservers to use.

Secure the site with a free SSL certificate

WebGee issues free certificates through AutoSSL for the lifetime of the account. AutoSSL validates the domain by fetching a file from it over HTTP, so run it once DNS resolves to WebGee.

  1. In cPanel, open SSL/TLS Status in the Security section.
  2. Tick the checkbox in the table header to select every domain.
  3. Select Include Domains during AutoSSL. New domains are excluded by default, and running AutoSSL without this step does nothing.
  4. Select Run AutoSSL, wait for it to finish, and reload the page.

Each domain should show a green padlock and AutoSSL Domain Validated. Certificates are valid for 90 days and renew automatically. Then turn on Force HTTPS Redirect for the domain under cPanel's Domains page. See Install a free SSL certificate and Force HTTPS on your site.

Finish up

Leave the old site in place until the new one is confirmed working and DNS has fully propagated. Once the move is complete, change the FTP password at the old host if you have not already.

Prefer us to move it for you?WebGee migrates sites at no charge when the source is a cPanel server with backups enabled, you have first tried the Migration Center, and all accounts move in a single run.
Request a free migration

Frequently asked questions

Can I migrate my WordPress site before changing DNS?

Yes, and you should. In Softaculous, put the old server's hostname or IP in Server Host if the domain no longer resolves there; in Installatron, use URL IP Address. Then test on Website Preview before switching DNS.

Why are images broken after the import?

Broken images mean URLs in the database still point at the old host or local site. Use the Better Search Replace plugin to update them, as it handles serialised data safely.

How long does DNS take to switch to WebGee?

Propagation typically takes a few hours and can take up to 48. Check progress with dig +short NS example.com.

Why does my site still have no SSL certificate after migrating?

New domains are excluded from AutoSSL by default, so include them in SSL/TLS Status before running AutoSSL. AutoSSL also fails if the domain does not yet resolve to your WebGee account.

  • WordPress
  • Migration
  • DNS
  • Softaculous
  • SSL
About the authorSr. Support Engineer at WebGee
Move a WordPress Site to WebGee With No Downtime: A Complete Guide | WebGee