Migrations and Transfers Questions
Migration support articles: while most website migration to 20i hosting is simple and automatic, these articles can help if you have any issues.
How do I transfer a domain or website to another 20i customer?
As a 20i reseller, you can transfer hosting packages and domain names to different 20i customers through our My20i control panel.
To process a transfer, you need to know the email address of the 20i account you wish to transfer the package to. The receiving account will be sent an email notifying them of an incoming transfer, and will need to accept the transfer by logging into My20i. You will be notified via email when the new account accepts the transfer.
Transfer a Hosting Package
- Log in to my.20i.com
- Visit Manage Hosting
- Find the Options menu next to the package you wish to transfer, and click Transfer
- Enter the email address of the 20i customer you wish to transfer to
Transfer a Domain Name
- Log in to my.20i.com
- Visit Manage Domains
- Manage the domain name you wish to transfer
- Click Transfer Away
- Enter the email address of the 20i customer you wish to transfer to
Note: The option to transfer domain names individually is only available if the domain name is not attached to a package.
Please note that while domain names can be transferred between any 20i customer, hosting packages can only be transferred between two 20i resellers or from a reseller to a standalone hosting package direct with 20i.
Can I import contacts to webmail?
Yes, you can import a contact list from a previous mail client into 20i webmail. To do so:
- Log in to Webmail for the mailbox.
- Head to the Address Book.
- Select the Import icon from the top-left.
You can then select either a .CSV file or a vCard file.
Here's a video guide:
Which platform will my website be migrated to?
All 20i customers on our WordPress, Web, Reseller or Managed Hosting have access to our Migration Centre.
It intelligently detects whether your website uses Linux or Windows, and automatically migrates it to the correct platform.
For our Reseller Hosting customers, we have 3 platforms: Linux, WordPress Optimised and Windows.
You can move between all of them using the 'Platform Transfer' tool in My20i.
Migrating to the WordPress optmised hosting platform:
Before performing a migration to the WordPress platform, please note the following conditions:
- WordPress must be installed in the website root - inside the "public_html" folder
- The WordPress install (including all plugins and themes) must be PHP 7 compatible
- The webspace must not contain any software or code that does not belong to WordPress
- Any subdomains or additional domains must be pointing to the same WordPress install - configured as a WordPress Network (Multisite).
A Platform Transfer will also cause the DNS records on our nameservers to be reset to ensure the package points towards 20i services. You'll need to reconfigure any external DNS records after the Platform Transfer completes.
How do I migrate from cPanel and WHM?
Migrating from a cPanel / WHM host to 20i's scalable platform is quick and easy using our Migration Centre.
Note: The Migration Centre will copy mailbox passwords automatically from WHM.
To Get Started:
- Log in to My20i
- Click on Migrations in the left navigation panel
- Click Start Migration
4. Choose WHM/cPanel from the list and click Next.
5. Enter the required credentials: hostname, username and the password for cPanel/WHM, and click Next.
6. Go to Migrations Overview in My20i at any time to see the status of your migration. You’ll be notified when it’s successfully completed.
7. Once the migration status has been updated to 'Complete' you can head to Manage Hosting to view the website and emails.
DNS Records
Note: The Migration Centre does not transfer DNS records.
By default, DNS records will be configured so that they point all services to 20i's services, such as mail and FTP. For example, if you are using Office365 or Gmail you'll want to remove our standard MX records and ensure the Office365/Gmail DNS records have been added before you continue, to avoid any interruption to your mail service.
After migrating your websites, databases, and email, the final step is to update your domain names. You can either transfer your domain name to 20i or leave it with its current registrar and simply point the name servers to your 20i hosting.
If you’re intending to use our free SSL certificates, the domain name(s) will need to be transferred to 20i as a security measure required by the certificate-issuing authority.
Transferring Domain Names
To transfer your own or your customers’ domain names to 20i, head to Transfer a Domain from the Migration Centre section of your 20i control panel. Enter the domain name(s) you want to transfer, confirm them, and then check out.
You can see the progress of your domain transfers from Migration Centre > Pending Domain Transfers. Please note that DNS propagation typically takes an hour but can take anywhere up to 24 hours as a global update is rolled out, so it may be a while before your domain resolves after the nameservers have been updated.
Updating Nameservers
If you’d prefer to update your nameservers with your current domain registrar (meaning you have your non-20i domain pointing to your 20i hosting) instead of transferring your domain to 20i, you will need to log in to your domain registrar’s control panel and update the nameservers to the following:
• ns1.stackdns.com • ns2.stackdns.com • ns3.stackdns.com • ns4.stackdns.com
If your registrar doesn’t support 4 nameservers, simply add as many as it will support. It can take up to 48 hours for nameserver changes to propagate across the web, but in the vast majority of cases, it will be completed much faster.
Congratulations, you’ve successfully migrated to 20i!
Important: You can never have too many backups! Before you delete any data with your old hosting company, please back it up on a separate physical device and/or have a copy in cloud storage. You can also download your data at any time via My20i, or purchase our Timeline Backups service for automatic daily backups.
Can 20i Support migrate my emails if I use WordPress FTP migration?
To migrate your emails and mailboxes to 20i email hosting, you can use our in-house Email Migrations tool. This will let you migrate your IMAP mailboxes, your Gmail mailboxes and your Outlook mailboxes into 20i.
To do this:
- Log in to My20i.
- Select which package you want to migrate emails into via Manage Hosting.
- Select the Email Migrations tool that is within the emails section.
- You can now simply enter the relevant credentials and select then select Sync.
If you the sync fails to start, this is likely due to the credentials not being correct. You should confirm that the password you have used is correct and that the hostname is also correct.
All 20i WordPress Hosting includes an unlimited number of 10 GB email mailboxes.
How do I migrate from an Unmanaged VPS to Managed Hosting on a VPS?
With any Managed Hosting package you'll get full access to the Migration Centre. It gives you a few easy migration options.
Unmanaged VPS with cPanel ➡ Managed Hosting on a VPS
- Log in to My20i
- Select Start a Migration.
- Choose WHM/cPanel from the list and click Next.
- Enter the required credentials: hostname, username and the password for cPanel/WHM, and click Next.
- You can then choose your Managed VPS from the Service Target dropdown menu and Package Bundle Type.
- Go to Migrations Overview in My20i at any time to see the status of your migration. You’ll be notified when it’s successfully completed.
Unmanaged VPS with WordPress➡ Managed Hosting on a VPS
The best way to migrate a WordPress site from unmanged VPS is by using a WordPress migration plugin. We'd recommend using All-in-One WP Migration
https://en-gb.wordpress.org/plugins/all-in-one-wp-migration/
Unmanaged VPS with a Custom Site ➡ Managed Hosting on a VPS
To migrate a custom site when you don't have a control panel or isn't WordPress would be a manual migration.
How do I migrate a website manually?
20i provide an automatic 'one click' Migration Centre that supports migrations from the largest hosts and most popular control panels. This is available to all customers for no extra charge.
However, it's not always possible to migrate a website automatically. For these cases the process of a site migration has 3 key stages:
- downloading the data from the old provider
- importing the data into 20i
- updating the website configuration file
We've laid out the steps usually required for a manual site migration below.
1. Create the hosting package at 20i. This provisions the website to our platform, lets you access the site over the temporary URL, and ensures that you have FTP access.
2. Start downloading your website files from the old provider: make an FTP connection using your previous FTP account details, and download all files from the web space to your local computer.
3. Download your database. You'll need a backup of all databases the website is using. All major hosts will be running the phpMyAdmin management software that lets you import and export your databases via a website. The steps are:
- First, access phpMyAdmin (My20i > Manage Hosting > [select package] > phpMyAdmin)
- Click the database you wish to backup down the left-hand side
- Click the 'Export' tab at the top of your page
- Leave 'Quick' selected under Export Method
- Select your desired format: we recommend SQL for most cases
- Click 'Go'
4. Upload the files to 20i. To access 20i FTP before you change the nameservers or update DNS for your domain, you'll need the FTP hostname displayed in the 'Nameserver Check' section. This automatically appears for any domains not using our nameservers as the last section down the right-hand side when you're managing your hosting packages.
5. Create a database at 20i. You can do that via My20i > Manage Hosting > [select package] > MySQL Databases. Note down the hostname, database name/username and password for your new database as you'll need these details later.
6. Import your database backup to the newly-created database. Once again we recommend using phpMyAdmin for this purpose:
- My20i > Manage Hosting > [select package] > phpMyAdmin
- Automatically login to phpMyAdmin for each of your databases. Click the 'Import' tab at the top of your page.
- Browse your computer for the database export you have taken previously
- Select the format that matches the export: this will be SQL for most cases
- Click 'Go'
If the import fails, you may wish to try again with 'Enable foreign key checks' unchecked.
7. Update the credentials in the website configuration file. The exact file you need to update depends on the software the website is running, but we've listed the most common configuration files below:
- WordPress: wp-config.php
- Joomla: configuration.php
- Drupal: sites/default/settings.php
- Magento: app/etc/local.xml
8. The website will now be fully functional on our platform. To test the website, we provide a Temporary URL that will be visible down the right-hand side of the control panel. For a more complete test, you can modify your hosts file, which allows you to override the domain name at your PC, so you can visit your domain at 20i while the rest of the internet still reaches the current website.
9. Time to go live! Once tested, you can change the nameservers of the domain and (optionally) transfer the domain in.
What can the Migration Centre move?
As a 20i Reseller our Migration Centre gives you free and unlimited website migrations. The Migration Centre helps ease migrations from other providers. Currently, we support 6 types of migration sources:
- Migrate from cPanel
- Migrate from Plesk
- Migrate from DirectAdmin
- Migrate from Fasthosts
- Migrate from Heart Internet
- Migrate a WordPress site using FTP. This can migrate any WordPress site you have FTP details for.
The Migration Centre will copy all your website files, databases and mailboxes* over to the 20i platform. Once the website migrations are complete, we will automatically update the DNS records on our nameservers to point the website and mail records to the new hosting package.
Then you need to test the newly migrated package and update the nameservers on the domain name to point to our platform, like you'd do with any manual website transfer.
Please note the Migration Centre does not migrate domain names. These can be done quickly using our control panel before or after the website migration.
To access the Migration Centre, follow the Start a Migration icon from the homepage of My20i.
Note: *Migrating a WordPress site using FTP details will not migrate any mailboxes associated with the package.
How do I migrate from Heart Internet?
Migrating from Heart Internet to 20i's scalable platform is quick and easy using our Migration Centre.
- Log in to My20i
- Select Start a Migration.
- Choose Heart Internet from the list and click Next.
- Enter the required credentials: API Username and Password.
- Select Next Step.
- You'll be shown a list of all your hosting packages within Heart Internet. Select those which you want to bring across and select Migrate.
- Go to Migrations Overview in My20i at any time to see the status of your migration. You’ll be notified when it’s successfully completed.
- Once the migration status has been updated to 'Complete' you can head to Manage Hosting to view the website and emails.
Mailboxes
Heart Internet has prevented their Resellers from changing passwords to all mailboxes through the Reseller Control Centre. This means that the Migration Centre is now unable to fetch mailboxes and their respective passwords. We've updated the Email Migration tool to make the migration as easy as possible. To enter the mailbox passwords to migrate the mailbox data across head to:
Manage Hosting -> Manage -> Email Migration
The mailboxes will be queued, and just require the password to start the migration.
DNS Record
By default, DNS records will be configured so that they point all services to 20i's services, such as mail and FTP. For example, if you are using Office365 or Gmail you'll want to remove our standard MX records and ensure the Office365/Gmail DNS records have been added before you continue, to avoid any interruption to your mail service.
After migrating your websites, databases, and email, the final step is to update your domain names. You can either transfer your domain name to 20i or leave it with its current registrar and simply point the name servers to your 20i hosting.
If you’re intending to use our free SSL certificates, the domain name(s) will need to be transferred to 20i as a security measure required by the certificate-issuing authority.
To transfer your own or your customers’ domain names to 20i, head to Transfer a Domain from the Migration Centre section of your 20i control panel. Enter the domain name(s) you want to transfer, confirm them, and then check out.
You can see the progress of your domain transfers from Migration Centre > Pending Domain Transfers. Please note that DNS propagation typically takes an hour but can take anywhere up to 24 hours as a global update is rolled out, so it may be a while before your domain resolves after the nameservers have been updated.
Updating Nameservers
If you’d prefer to update your nameservers with your current domain registrar (meaning you have your non-20i domain pointing to your 20i hosting) instead of transferring your domain to 20i, you will need to log in to your domain registrar’s control panel and update the nameservers to the following:
• ns1.stackdns.com • ns2.stackdns.com • ns3.stackdns.com • ns4.stackdns.com
If your registrar doesn’t support 4 nameservers, simply add as many as it will support. It can take up to 48 hours for nameserver changes to propagate across the web, but in the vast majority of cases, it will be completed much faster.
Congratulations, you’ve successfully migrated to 20i!
Important: You can never have too many backups! Before you delete any data with your old hosting company, please back it up on a separate physical device and/or have a copy in cloud storage. You can also download your data at any time via My20i, or purchase our Timeline Backups service for automatic daily backups.
How to use the email migration tool
To migrate your emails and mailboxes to 20i, you can use our in-house Email Migrations tool. This will let you migrate your IMAP mailboxes, your Gmail mailboxes and your Outlook mailboxes in to 20i.
Note: You'll need to have set up the mailboxes within 20i first using the same password as currently used by the mailbox. Here's how to set up a mailbox.
- Head to My20i > Manage Hosting > Options / Manage > Email Migration
- Enter the relevant credentials and then select Sync.
- Hostname - This will be the hostname of the mailserver that you are syncing your emails from. If you're not sure what this is then it may be worth asking your previous hosting provider what this is.
- Username - This will be the mailbox that you are syncing.
- Password - This will be the password of the mailbox at your previous host and of the newly created mailbox at 20i. Please note: you'll need to have set up the mailboxes within 20i first using the same password as currently used by the mailbox.
Once the sync has completed, your emails will have migrated over to 20i's email hosting.
My email migration has failed, what should I do?
If the sync fails to start, this is likely due to the credentials not being correct. You should confirm that the password you have used is correct and that the hostname is also correct - try logging into the previous hosts webmail to confirm the details are correct.
Can I use the email migration tool more than once for the same mailbox?
Yes, you can use it as many times as you want. You may want to do this if you've recently switched MX records so mail now routes to 20i, to get the latest copy of the mail from the preivous mail server you can simply redo a mailbox migration. This will then only migrate emails that are new, so you won't have any duplicate emails.
Does the email migration tool move or copy emails across?
The email migration tool copies the emails and folders across to 20i, so no emails are "removed" from your old mailserver/mailboxes.
Can I only perform one mailbox migration at a time?
Yes, you can only perform one mailbox migration at a time per package.
Where can I find my hostname?
Your previous host will be able to tell you your hostname. It is worth trying mail.yourDomain.com as that is a common hostname that is used.
Should I keep or change the DNS prior to an email migration?
It is strongly recommended that you change the DNS to 20i after the email migration has completed. This is to prevent any emails to get lost during the migration process.
How to migrate Gmail accounts to 20i
Our in-house email migration tool can be used to automatically migrate mailbox data from Gmail email accounts across to Stackmail quickly and easily.
- Go to your Google Account.
- Select Security and ensure that 2FA is enabled
- Under Signing in to Google, select App Passwords.
- Under the Select App option, choose Mail.
- Under the Select Device option, choose Other and name the device with any unique identifier – for example, '20i Migration'.
- Click Generate and take note of the password.
- On the hosting package, go to the Email Migrations page
- Select Gmail as the mailbox type and enter your Gmail username/email address followed by the App Password that you created in the previous steps.
- Choose your destination mailbox and select Sync to start the migration.
How do I move my site to the WordPress platform?
You can move between all our Linux, WordPress and Windows Platforms using the Platform Transfer icon inside My20i.
To do a platform transfer:
- Login to My20i.
- Select the Platform Transfer icon from the homepage.
- Select the package you would like to transfer and then select the WordPress platform icon.
- Confirm the Hosting Package Type you want the package transferred to.
- Select Begin Transfer.
Note: Before performing a migration to the WordPress platform, please note the following requirements:
- WordPress must be installed in the website root. That is, the WordPress install sits inside the public_html folder.
- The WordPress install (including all plugins and themes) must be compatible with at least PHP 7.0, we currently support the latest version of PHP 8.1 across the platform
- The webspace must not contain any software or code that does not belong to WordPress
- Any subdomains or additional domains must be pointing to the same WordPress install and hence configured as a WordPress Network (Multisite)
A platform transfer will also cause the DNS records on our nameservers to be reset, to ensure the package points towards 20i services. You will need to reconfigure any external DNS records after the platform transfer completes.
What is the 20i Migration Centre? An overview.
The 20i Migration Centre automates migrations from most hosts, allowing you to move your websites and email in just a couple of clicks. It’s completely free to use, there’s no website or email downtime, and no risk of data loss.
Using the Migration Centre, you can:
- Automatically move your websites, MySQL databases, and email to 20i
- Preserve all folders, files, scripts, emails, and other data exactly as-is
- Choose which packages to move and when, giving you fine control over what you migrate and allowing you to move websites in batches
- Transfer any WordPress websites by supplying FTP details
- Avoid any risk of data loss and downtime
- Free up your time: your migrations complete automatically in the background, and you'll get an email when they're done
To ensure you have full control over your websites and settings at all times, the Migration Centre does not move domain names. You can transfer in domains following your migration or update your DNS accordingly, both of which are covered in our Migration Guide.
There are no limits on how many times you can use the Migration Centre and no limits on how many websites, databases, or mailboxes you can move across. Please ensure you leave a good amount of time to migrate data if your current hosting package with another provider is due to expire or renew soon.
The Migration Centre is designed to be as easy to use as possible, but you can also download our Migration Guide or read this support article: How do I migrate websites, MySQL databases, and standard mailboxes to 20i using the Migration Centre?
Here's a quick demo:
How do I add custom DNS before I use 20i's nameservers?
As standard, any new package that is created or migrated into 20i gets given our default DNS. This will ensure the site and all its services such as email will function at 20i.
If you want migrate a package into 20i that has custom DNS then you’ll need to add these records before pointing the nameservers to 20i. This will ensure a seamless transition from your previous host.
MX records are the most common custom DNS that may want to be kept following a migration, so you'll want to add these to 20i before switching the nameservers.
To add custom DNS you'll need to:
- Login to My20i.
- Locate the package that you have migrated in.
- Select Manage DNS
- Add any custom DNS that you want. It is best to refer back to your DNS on your previous host so you can add the correct records.
Why does my migration fail?
Our Migration Centre is designed to make migrations as simple as possible, automating the process so that you can bring your sites to us efficiently and quickly.
However, sometimes these migrations can run into problems that result in errors which disrupt and prevent sites being brought across. Below are a few examples of common errors encountered during migrations, and how to go about fixing them to minimise disruption to your move.
cPanel migrations
Our cPanel migration tool uses the default backup facility available within cPanel to generate and move across a full account backup and convert it to a package on our side.
A common error seen is a migration idling at the stage ‘Waiting for cPanel Backup’. During this part of the migration, we've sent a request to the cPanel server to generate a backup file that we can use for the migration and upload it to 20i. Our system is waiting for confirmation of that upload so it can then proceed.
Depending on the size of the website(s) being moved, the backup can take some time to complete. However, it’s not expected that this should take a long period of time, especially if the site or sites being moved are small. In some cases, the cPanel backup process may be stalled on the server you’re migrating from, and it would be best to check the cPanel server and see why the backup has not been received by us.
The most common reasons this can occur are:
- The account was over quota or suspended and the backup process was aborted
- The firewall on the server blocks outbound connections and the FTP upload to 45.8.227.0/24 is blocked
- The cPanel server has a high load average and so cPanel is automatically throttling the backup, but it's still ongoing
- It's just a very large site and the backup process is still in progress. We'll start the import as soon as its received.
Plesk migrations
Our Plesk Migration tool connects via Plesk API to request a backup. This backup is then moved over via FTP, extracted and imported to bring the site across. So Plesk API access needs to be enabled on the Plesk setup you’re migrating from to allow the tool to work correctly. If you’re having difficulty migrating your site due to the migration failing right away, this is the likely cause. Check with your current host to confirm that Plesk API access is available for your account.
Alongside this, much as with cPanel backups, when we request the backup to be generated our system idles until confirmation the backup is ready. As such, if something on the system prevents the backup completing it can stall at this phase. Make sure your account has enough space for a backup, and that our IPs - 45.8.227.0/24 - are whitelisted so that this can complete.
WordPress FTP Migrations
The following conditions should be met for the WordPress FTP migration tool to migrate a site. These conditions are usually met by default, unless you've made changes to your WordPress installation.
If your migration fails, adjustments may need to be made to allow the migration tool to work correctly:
- The migration tool looks for the directory with the wp-config.php configuration file. If you’ve manually moved the wp-config.php file to another directory (sometimes done for security) then you’d need to move it to be with the rest of the core WordPress files.
- File and directory permissions should be consistent with WordPress best practice: i.e. directories set to 755 and files set to 644
- Our IPs used for the FTP migration tool should not be blocked. Please whitelist IP range 45.8.227.0/24 to avoid this.
- Ensure the website's domain name points to the correct web host. If the nameservers for the domain name don’t point to the right host then the migration will fail.
If you’re having trouble diagnosing what’s wrong, please feel free to contact us.
Heart Migrations
Migration from Heart need Heart Internet Reseller API access. We use the API to communicate with Heart’s side and generate the necessary backups to bring your site across.
For full details on how to access this, see our guide on migrating from Heart.
If these details aren't available to you, or your migration fails immediately after entering the details, it’s likely the case that your account doesn’t have sufficient API access and you’ll need to contact Heart support to confirm this.
How do I use the 20i Migration Centre?
Migrating to 20i is easy! The Migration Centre moves your site's files, database and emails to 20i automatically. To get started:
- Log in to My20i.
- Head to Migrations > Start a Migration.
- Select Start Migration.
- Choose the type of migration your need.
- Enter the required credentials.
- Select the sites you want to migrate from the list and select Next.
Head to Migrations Overview in My20i at any time to see the status of your migration. You’ll be notified when it’s successfully completed.
Automatically Migrate from cPanel to 20i
Automatically Migrate a WordPress Website to 20i
Note: The Migration Centre does not transfer DNS records.
By default, DNS records will be configured so that they point all services to 20i's services, such as mail and FTP. For example, if you are using Office365 or Gmail you'll want to remove our standard MX records and ensure the Office365/Gmail DNS records have been added before you continue, to avoid any interruption to your mail service.
After migrating your websites, databases, and email, the final step is to update your domain names. You can either transfer your domain name to 20i or leave it with its current registrar and simply point the name servers to your 20i hosting.
To transfer your own or your customers’ domain names to 20i, head to Transfer a Domain from the Migration Centre section of your 20i control panel. Enter the domain name(s) you want to transfer, confirm them, and then check out.
You can see the progress of your domain transfers from Migration Centre > Pending Domain Transfers. Please note that DNS propagation typically takes an hour but can take anywhere up to 24 hours as a global update is rolled out, so it may be a while before your domain resolves after the nameservers have been updated.
Updating Nameservers
If you’d prefer to update your nameservers with your current domain registrar (meaning you have your non-20i domain pointing to your 20i hosting) instead of transferring your domain to 20i, you will need to log in to your domain registrar’s control panel and update the nameservers to the following:
• ns1.stackdns.com • ns2.stackdns.com • ns3.stackdns.com • ns4.stackdns.com
If your registrar doesn’t support 4 nameservers, simply add as many as it will support. It can take up to 48 hours for nameserver changes to propagate across the web, but in the vast majority of cases, it will be completed much faster.
Congratulations, you’ve successfully migrated to 20i!
Important: You can never have too many backups! Before you delete any data with your old hosting company, please back it up on a separate physical device and/or have a copy in cloud storage. You can also download your data at any time via My20i, or purchase our Timeline Backups service for automatic daily backups.
Will the email migration tool cause downtime to emails?
No, the email migration won't cause any downtime to emails.
It doesn't affect DNS or the ability to send or receive emails: it simply performs an IMAP sync to move emails from one server to another. There will be no downtime caused by the use of the email migration tool. Learn more about the 20i email hosting.
How do I migrate a WordPress site automatically?
Migrating a Wordpress website to 20i's scalable platform is quick and easy using our Migration Centre.
To Get Started:
- Log in to My20i
- Click on Migrations in the left navigation panel
- Click Start Migration
4. Choose WordPress from the list and click Next.
5. Enter the required credentials: hostname, domain, username and password for FTP, and click Next.
6. Go to Migrations Overview in My20i at any time to see the status of your migration. You’ll be notified when it’s successfully completed.
7. Once the migration status has been updated to 'Complete' you can head to Manage Hosting to view the website.
Note: This will only migrate the website to 20i. If you have emails to move as well, you can use our Email Migration tool once the migration has completed.
DNS Records
Note: The Migration Centre does not transfer DNS records.
By default, DNS records will be configured so that they point all services to 20i's services, such as mail and FTP. For example, if you are using Office365 or Gmail you'll want to remove our standard MX records and ensure the Office365/Gmail DNS records have been added before you continue, to avoid any interruption to your mail service.
After migrating your websites, databases, and email, the final step is to update your domain names. You can either transfer your domain name to 20i or leave it with its current registrar and simply point the name servers to your 20i hosting.
If you’re intending to use our free SSL certificates, the domain name(s) will need to be transferred to 20i as a security measure required by the certificate-issuing authority.
Transferring Domain Names
To transfer your own or your customers’ domain names to 20i, head to Transfer a Domain from the Migration Centre section of your 20i control panel. Enter the domain name(s) you want to transfer, confirm them, and then check out.
You can see the progress of your domain transfers from Migration Centre > Pending Domain Transfers. Please note that DNS propagation typically takes an hour but can take anywhere up to 24 hours as a global update is rolled out, so it may be a while before your domain resolves after the nameservers have been updated.
Updating Nameservers
If you’d prefer to update your nameservers with your current domain registrar (meaning you have your non-20i domain pointing to your 20i hosting) instead of transferring your domain to 20i, you will need to log in to your domain registrar’s control panel and update the nameservers to the following:
• ns1.stackdns.com • ns2.stackdns.com • ns3.stackdns.com • ns4.stackdns.com
If your registrar doesn’t support 4 nameservers, simply add as many as it will support. It can take up to 48 hours for nameserver changes to propagate across the web, but in the vast majority of cases, it will be completed much faster.
Congratulations, you’ve successfully migrated to 20i!
Important: You can never have too many backups! Before you delete any data with your old hosting company, please back it up on a separate physical device and/or have a copy in cloud storage. You can also download your data at any time via My20i, or purchase our Timeline Backups service for automatic daily backups.
What does each Migration Status mean?
When you first start a website migration to 20i, you'll see it enters the system with a default status of 'queued'. We've laid out the 3 key states of a migration to 20i below:
Migration Queued
Your site migration is now in a queue to be picked up by our automated system. To help stay within any rate limits and avoid high load averages on the servers we are migrating from, we only carry out a limited number of website migrations from any single host at once. The average queue time is as little as 5 minutes but during busy periods, migrations can experience extended queue times. There's nothing further you need to do at this stage, and the interface will update as soon as the migration begins.
Migration In Progress
Your migration is now in progress. We start by collecting a backup of your website from the previous host. Once that's done, we extract and import the backup into the 20i platform. The time taken at this stage can vary hugely based on the amount of data there is to transfer. It's dependent on factors such as the size of your website, the number of files, the number of email accounts and the size of the mailboxes. The average website takes around 1 hour to import. During this time, a more detailed status of the migration will be displayed in the interface.
You’ll receive an email informing you when the migration is complete by default; this can be deactivated in the Migrations Overview.
Migration Completed
At this point, the system has successfully imported your website's data to 20i and you can manage the package via "Manage Hosting". To test the site, we provide a temporary URL that will be visible down the right hand side of the control panel, or for a more complete test you can Modify your hosts file. This allows you to override the domain name at your PC, so you can visit your domain at 20i while the rest of the internet still reaches the current website.
Once tested, you can change the nameservers of the domain and (optionally) Transfer the Domain in.
How long does it take to migrate a website using the 20i Migration Centre?
Time of a website migration:
The length of time it takes to move a website and its associated mailboxes depends on the amount of data being transferred and the complexity of the website. Some migrations can take up to three hours, although the average time to migrate is 30 minutes.
While a migration is in progress, you’re free to close the tab and carry on with whatever you need to do; the migration will complete independently.
There is no diffrence in time whether you are on a reseller hosting plan, managed hosting in the 20i Cloud, with AWS or GCP or on any other hosting plan we offer.
Get notified when your website migration is complete
You’ll receive an email informing you when the migration is complete - but you can disable this if you like in Migrations Overview. You can check the migration status at any point by going to ‘Migrations Overview’ in My20i and viewing the ‘Current Migrations’ and ‘Completed Migrations’ panes.
The Migration Centre uses an intelligent queuing system to move data to our platforms, so in particularly busy periods there may be a small wait before your migration is initiated. This is aimed at optimising server performance.
Does the email migration delete any emails?
No, the migration won't remove any emails from the mail server where emails are being migrated from, or any emails on the 20i email server.
It's a 'non-destructive' form of migration, so emails won't be duplicated or deleted. Changes will simply be added into the emails already at 20i.
Why could my WordPress migration fail?
The following conditions should be met for the WordPress FTP migration tool to migrate a site. These conditions are usually met by default, unless you've made changes to your WordPress installation.
What to do if a WordPress migration has failed
If your migration fails, adjustments may need to be made to allow the migration tool to work correctly:
- The migration tool looks for the directory with the wp-config.php configuration file. If you’ve manually moved the wp-config.php file to another directory (sometimes done for security) then you’d need to move it to be with the rest of the core WordPress files.
- File and directory permissions should be consistent with WordPress best practice, i.e. directories set to 755 and files set to 644.
- Our IPs used for the FTP migration tool should not be blocked: 185.146.165.4 & 45.8.227.14. If you use a web application firewall (WAF) ensure these IPs are whitelisted.
- Ensure the website's domain name points to the correct web host. If the nameservers for the domain name don’t point to the right host then the migration will fail.
If you’re having trouble diagnosing what’s wrong, please feel free to contact support within your account from the support area.
How to manually migrate from Heart Internet
In February 2023, Heart Internet discontinued support for its API and as our automated Heart Internet migration tool worked using their API this can no longer be used unless you already have an existing Heart API connection/key.
In this guide we will go through how to manually backup files and databases within Heart Internet and restore them within 20i Hosting.
If you have any WordPress website hosted with Heart Internet, you can still use our WordPress migration tool to migrate the website over. If you have any websites that aren't compatible with any of our other automated migration tools then the website will likely need to be moved manually.
All the methods that are mentioned in this guide are accessible from the eXtend Control panel for the hosting within Heart Internet. To access the eXtend Control panel as a reseller you will need to log into your Heart Internet account, Click on Reseller Control Centre, Click the Manage Hosting Accounts icon and then click the Superuser link next to the hosting package that you would like to Migrate.
Using the Backup/Restore tool
Heart Internet have a tool that will allow you to backup files from the hosting package into a zip file. This tool is called Backup/Restore and can be found under the files section within the eXtend control panel:
When you click the Backup/Restore icon this will take you to a new page and the section where you can take a backup of the files is called Full Backup and will show like this:
This provides two options to backup the website files. The Create Full Backup button will backup all files within the hosting. You can also select a specific directory in the dropdown under Partial Backup and then click the Create Partial Backup button which will only zip up the directory selected. You could use this option if you just wanted to backup just the public_html, for example, otherwise the Create Full Backup option will work fine.
If your website is quite large, we would recommend using the FTP method below as the above backup tool will likely take some time to backup a larger number of files.
Using FTP
You can also use FTP to grab a copy of the files. Heart Internet works in the same way as 20i with how FTP works as you will also need to unlock FTP before connecting. While on the eXtend control panel the FTP lock and information will show on the right hand side of the page. The FTP lock will show like this:
You can opt to unlock FTP by a certain amount of time or by an IP address. Once you click one of the unlock buttons the status should change to show that FTP is unlocked like this:
Once unlocked you should be able to use the FTP login information to connect to FTP using any FTP client. You can find the FTP details further down the right hand side of the eXtend control panel which will show something like this:
We suggest using the FTP server IP as the hostname along with the username and password which should allow you to connect to FTP in your chosen FTP client. Once connected you can copy the files from the hosting onto your own PC so that you can then upload the files onto the 20i hosting using one of the following steps.
Once you have backed up the files you can upload these to hosting at 20i. You will need to have hosting on our end first by going to the My20i control panel, going to the Manage Hosting page and then clicking the Add Hosting button. Once the hosting has been created you can manage the hosting from the Manage Hosting page by clicking the Options link then Manage option next to the hosting you are trying to migrate.
When managing the hosting with 20I you can use the File Manager to upload any files, more information about using the 20i file manager can be found here.
You can also use FTP as well and you can find more information on how to connect to FTP here.
The next steps will be to backup any databases you might have on the Heart Internet hosting. There are again a couple methods you can use to do this and both again can be done from within the eXtend control panel.
Using the Database Backup tool
Any databases that you have set up on hosting with Heart Internet will show on the MariaDB Databases page which you can find under the Web Tools section within the eXtend control panel:
Clicking the Backup button under the Utilities column should start to download a SQL file within your browser which you can then use on our side to restore the database.
Using phpMyAdmin to create a database backup
The other option is logging into phpMyAdmin and directly taking a backup of the database. If you click the Manage option next to the database this should take you to the phpMyAdmin login page:
Here you will need to enter the username and password for the database that shows on the MariaDB Databases page in the last section. Once logged in, you will need to click on the database name on the left hand side and then click the Export tab at the top of the page:
All you need to do on this page is click Export which should begin to download a copy of your database within your browser.
Once you have the backup you will need to create a new database within the 20i hosting which you can do by following these steps:
1. Log in to My20i and select Manage Hosting.
2. Choose Manage next to the hosting package you wish to create a MySQL database for.
3. Under Web Tools, select MySQL Databases.
4. Under Add a new MySQL Database, choose a name for your database. Database names must be between 6 and 20 characters long, and we automatically add a suffix to avoid name collisions with other users.
5. Once you have chosen a name, click Create Database. Your new MySQL database will automatically appear in the Manage MySQL Databases section underneath.
Once the database has been created you can click on Options and then Sign In to manage the database within phpMyAdmin. Once signed in you can do the same as when you took a backup but instead click Import at the top of the phpMyAdmin page, click Choose File, select the file on your PC and then click Go. This will likely take a little time to import but once complete.
Once this is completed, you will likely need to update the database credentials within the website configuration file which depends on the software the website uses and some of the common ones are:
WordPress: wp-config.php
Joomla: configuration.php
Drupal: sites/default/settings.php
Magento: app/etc/local.xml
All the information you need to update the database configuration can be found on the MySQL databases page where you created the database within 20i and you can update the files within our File Manager.
Email Migration
If you have mailboxes that you also need to move away from Heart Internet, you can move these using our Email Migration tool. More information about this tool can be found here.
If your domain is still pointing fully towards Heart Internet then you should be able to use mail.yourdomain.com, where yourdomain.com is the domain that you are migrating, and the username and password will be the email address and password for the mailbox with Heart Internet. If all that matches, our tool should be able to connect to the mailbox with Heart and then sync emails over to the mailbox you created with ourselves.
If you have changed the DNS for your domain, the mail.yourdomain.com subdomain might not work for you. Heart Internet set this subdomain to point to their mail servers which allow you to connect to the mailbox. If you have changed the nameservers on the domain then you should still be able to complete a mail migration however you will need to find the IP address that this subdomain pointed to.
If you log into the Heart Internet Reseller Control Centre and go back to the Manage Hosting Accounts page, you can click the Domain CP link to manage the domain. This should show a DNS Management icon which you can click to find the DNS settings with Heart. Under the A/AAAA/CNAME Records section you want to look for the mail record like below:
In this example, you can see that the mail A record shows as being 79.170.40.141 so that IP address could be used as the Host on the Mail Migration page to migrate mail from Heart to 20i.
How to migrate your website from Siteground to 20i
The following is a step-by-step guide to get you started in moving your sites over from Siteground to 20i – depending on your site setup, you may be able to do this automatically using our Migration Centre, or if not then it can be done manually.
With our Migration Centre
If your site is built in WordPress and you have access to FTP with your Siteground account, you can make use of the WordPress Migration Tool available within our Migration Centre. First, you’ll want to get the necessary details from your Siteground account:
- From your Siteground dashboard, navigate down to My websites and services, and under Websites you should see a button for Manage. Select this to take you to your website details.
- Select Site Tools on your Website Details page.
- On the left side of the screen, select Site, then FTP Accounts to show your current FTP accounts.
- If you don’t already have one created, create a new FTP account by defining an account name and password, then hit Create.
You should now have access to FTP with Siteground – your hostname will be ftp.yourdomain.com, replacing yourdomain.com with your current domain.
Now, within My20i, navigate to the Migration Centre and select Start New Migration and Migrate a WordPress site using FTP/SFTP from the screens that follow. You’ll be requested for FTP details – fill out the details you created within Siteground’s control panel and your domain, and you should be able to initiate the migration. Our system will then pull the site across automatically.
Migrating your site manually
If the above isn’t an option to you, you may need to migrate your site manually to us – you can do so using a full backup from Siteground’s available tools.
We first will need to get a backup of our site files. To do this:
- From your Siteground dashboard, navigate down to My websites and services, and under Websites you should see a button for Manage. Select this to take you to your website details.
- Select Site Tools on your Website Details page.
- Select File Manager to open up Siteground’s built-in file manager. From here, you can select the folder your site is in, and then right-click and select Archive.
- You will be prompted to name your archive, and given a summary of the folders and files it contains. Name your archive something memorable, such as ‘mysitebackup’, then select Confirm.
- A .zip file of your site will be generated within the file manager – you can then use FTP or the file manager to download this to your device.
Next, we need a backup of any databases your site is using.
Note: If you do not use any databases for your site, you can move onto the next step.
- Select Site Tools on your Website Details page.
- On the left side of the screen, select Site, then MySQL to open your MySQL Manager.
- At the top of this page, select PHPMyAdmin, then Access PHPMyAdmin to access your databases.
- You’ll be presented with a new control panel – select your Database name from the left side of the screen, and then select Export at the top of the page. This will bring you to an area where you can save an export of your database and download it as an SQL file. You will need to do this for each of your databases.
Now that you have a full backup of your site, you can create a package within My20i and import these files. For your site files, these can be uploaded via FTP or using our File Manager.
You will then want to create databases for each of the databases you exported - You can do that via My20i > Manage Hosting > [select package] > MySQL Databases. Note down the hostname, database name/username and password for your new database as you'll need these details later.
In order to import your databases with the SQL files you downloaded, once again we recommend using phpMyAdmin for this purpose:
- My20i > Manage Hosting > [select package] > phpMyAdmin
- Automatically login to phpMyAdmin for each of your databases. Click the 'Import' tab at the top of your page.
- Browse your computer for the database export you have taken previously
- Select the format that matches the export: this will be .SQL for most cases
- Click 'Go'
If the import fails, you may wish to try again with 'Enable foreign key checks' unchecked.
Once these have been uploaded, you’ll need to update the credentials of your site in the website configuration files. The exact file you need to update depends on the software the website is running, but we've listed the most common configuration files below:
- WordPress: wp-config.php
- Joomla: configuration.php
- Drupal: sites/default/settings.php
- Magento: app/etc/local.xml
How do I transfer large files using rsync?
FTP uploads on our system have a maximum size of 5GB. If you need to upload files larger than this, you'd need to upload these via SSH.
If you are using Windows, we would recommend uploading these using WinSCP.
If you are using a Mac OS, Linux or another Unix-based system you will be able to make use of rsync to move these files over. Firstly you will need to make sure rsync is installed and is ready to be used, rsync is pre-installed on the Mac OS X system and is pre-installed on most Linux Distributions, however, you can verify this yourself by running:
$ rsync --version #
If this command fails to run, then it likely is not installed, and you can install it by running a command such as (depending on your system):
$ sudo apt-get install rsync (For Debian and Ubuntu)
Or
$ sudo yum install rsync (For CentOS, Fedora, Rocky and AlmaLinux)
How to use rsync to upload files to a web hosting package
Generating an SSH Key Pair to use
Firstly, you will want to generate some SSH keys to be able to access your web hosting package. You can do this by running:
$ ssh-keygen
After this command is run, you should see something similar to:
Generating public/private rsa key pair.
Enter file in which to save the key (/yourHomePath/.ssh/id_rsa):
We recommend you just press Enter here and it will write your SSH key pair into the /.ssh/ folder in your home directory. Alternatively, you can provide it with a custom directory and key name that it will use to create your key pair.
It then may ask you to overwrite the previous keys there. If you choose to do so your previous keys will be lost.
The last step before your key is generated is to set a passphrase for the private key, however, this is optional.
Enter passphrase (empty for no passphrase):
Your keys should now be generated, the public key will need to be uploaded into the SSH Access section of the package you are looking to move your files into.
You can verify that this is set up correctly by running the following which should connect you to your package via SSH:
$ ssh -i /path/to/privatekey domain.com@ssh.gb.stackcp.com
...
-bash-4.2$
You can find a comprehensive guide to accessing your package using SSH here.
Using rsync to move files from your local machine to a package on 20i
Once you have SSH Access set, you can then look to begin moving your large backup files using rsync. This will be a case of simply running the rsync command and giving it a file to move and a directory to move it into.
rsync [options] [file to move] domain.com@ssh.gb.stackcp.com:[directory of package to move to]
More specifically, to move your file to your hosting package at 20i, the rsync command will look something like this:
$ rsync -v path/to/backup.zip domain.com@ssh.gb.stackcp.com:/path/to/you/packages/home/directory/[optional path in the package]
To find your package's /path/to/you/packages/home/directory/ it will be a case of going to the Manage Hosting page, finding the package you are looking to rsync to and going to Options > Manage and then looking for the Account Information section. Under this section you should see information such as the domain, package type and data centre location, however, we are specifically looking for the Home Path.
In the rsync command, you can set a further optional path to somewhere in your package. For example, this could be something such as /path/to/you/packages/home/directory/public_html/new-site/, however, if you do not provide this the file you are moving will be written into your package's root directory.
The -v option sets the output to verbose, which will tell you which file is being moved, and will provide confirmation once it has been successfully moved.
Please do note, that if you are moving files to a package on our US data centre you will need to use ssh.us.stackcp.com instead of ssh.gb.stackcp.com.
When creating your SSH keys, if you set a custom directory or name for your key pair, then it may be the case you need to specify which private key to use in your rsync command. To do so we will need to make use of the -e option which allows you to specify the remove shell to be used whilst you are moving your files. This will look something like:
$ rsync -ve "ssh -i /path/to/key" path/to/backup.zip domain.com@ssh.gb.stackcp.com:/home/sites/path/to/package/[optional file path]
When you run either of the above commands it will connect to your package via SSH and synchronise the file from your local machine to your package at 20i. If you are using the -v option, you will know once the file has been successfully moved as the following will be outputted:
Backup.zip
sent 467,930,820 bytes received 35 bytes 25,293,559.73 bytes/sec
total size is 467,816,526 speedup is 1.00
Once the rsync has finished running, you can verify the file has been uploaded successfully by going to the File Manager of your package where you should be able to locate the file you transferred using rsync.