Jump to:

How to migrate an existing website to Siteground?

Let me talk about the conclusion first:

This article will use SG Migrator, an artifact of website relocation. Even if you are a novice, don’t be afraid, because it is written for you. The operation of the entire article will not take more than 10 minutes.


A question that has been asked frequently recently.

“Yan sir, I made the website before I took the Inquiry class, and I was planted on Siteground after taking your class. Is there any way to move the website to SG? I am a technical novice/novice, thank you.”

Before moving the website, it was a technical job, because the content of the website and the database had to be packaged so as to be safe, so I usually replied and asked to contact customer service directly.

But after much deliberation, customer service is not a perfect solution, because:

  • The efficiency of finding customer service to move is too low, and it takes several days before and after;
  • There is only one chance for SG to migrate for free, and I always feel that it will be useful in the future and cannot be wasted now;
  • The official move is not perfect, and small details will be ignored;

It just so happened that my personal blog had some problems recently, so I took the opportunity to practice and see if I can find a migration method suitable for people who don’t understand technology at all.

The result was really found by me. After a lot of practice (migrating 4 sites before and after), I found that a built-in tool of Siteground – SG Migrator is so cool to use, and the most important point, it is completely independent from the original space constraints.

Whether you are using Bluehost, Hostgator, or various VPS, or an unknown space provided by a website building company, you can follow this article to move your website to SG.

Because it is another practical article, I recommend you to read the post on the computer and operate while watching.

Of course, if you want to migrate your website, you must first have a SG space. It is recommended to buy the following version. The space of this version has slightly optimized the WordPress website:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::0

In order to prevent the wrong purchase, you can click this linkpast.

Why is there this tutorial

My personal blog has been placed on the VPS of Alibaba Cloud before. For the ultimate speed, I also replaced Nginx with openLiteSpeed. There is no limit to tossing.

Until one day, because of frequent contact with Indian engineers, my server password was leaked… Temporary account, and the account password must be changed every three to five times)

I didn’t care about the server down at first, so I asked the coder in India to check it for me, and found that a file was missing. After he helped me fill it up, the website returned to normal.

In fact, he had already warned me at that time, but I thought it was the file loss caused by the update, so I didn’t care:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::1

And then, Alibaba Cloud started text messages to remind me that my traffic was being consumed at a rate of 200G a day:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::2

I thought it was the traffic consumption caused by Cloudfront uploading files for the first time, but I still didn’t care.

It wasn’t until Alibaba Cloud told me that the server’s 1 terabyte of traffic was exhausted, which caused my server to be shut down forcibly and my account was in arrears, that I realized that the website had encountered a traffic attack.

I have a lot of things to do recently, and I don’t like trouble very much, so I thought about migrating the website to SG first, so that the server affairs can stop first, so I came up with this article.

tools and ideas

I have to say that SG has really worked hard on small details. In order to facilitate customers to migrate from other servers to their own servers, they also specially developed a quick migration tool.

After repeated attempts (plus this time, I used SG tools to migrate 4 sites), I found that the built-in migrator of SG is very easy to use. It only takes 10 minutes to migrate a website of about 500M, plus some waiting Time will do.

When using All in one migrationor WP migratorbefore, there will always be big and small problems, but the migration tool of SG is very stable, and the websites migrated in my hands so far are all in perfect state.

It is very simple to migrate a website using SG’s built-in tools. The idea is:

  1. Use SG as a temporary station
  2. Set the temporary station as “shipping address”
  3. “shipped” from the original site
  4. After confirming “receipt”, switch the temporary domain name of SG to the original domain name

Next is the detailed steps.

Note that the following steps seem complicated, but in fact I added many steps for the sake of insurance. For many people, it will have no effect if they don’t do it.

However, in order to cover 100% of the situation, I will enumerate all the possibilities and make the most comprehensive plan.

Apply for a temporary domain name

Log in to the SG background to create a new WP website:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::3

Select a temporary domain name, as shown in the figure, the temporary domain name assigned to me by the system is judyw3.sg-host.com:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::4

Do the following configuration:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::5

Just click “Finish”:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::6

Wait for the temporary site to generate:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::7

You may be stuck at this step and keep going. If there is no response after more than 10 minutes, it is very likely that SG has already prepared the site, but the animation is stuck and the page does not jump.

When this happens, refresh the page forcibly, and then click website. At this time, you will find that the website is ready. Click the button in the picture below to enter the website management page:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::8

create token

After entering, you can see the page shown in the figure below. SG has automatically generated a token for us, copy the token code and save it to the notebook.

What are tokens? You can understand it as a “receiving address”. With the receiving address, the original website that sent the document can “deliver”.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::9

If there is no token code here, it means that SG has not been able to automatically generate it for you, it does not matter, just click “Generate” to generate one.

Now that we have a “ship to” address for the temporary website, it’s time to “ship” from the original website.

Pass the website to the token

Open the website to be migrated (take xunpanziyou.com as an example), log in to the background, and search for the SG dedicated plug-in in the plugin—— SG Migrator.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::10

In the background of the website, copy the token code into it, and the transmission can start.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::11

After that, a warning will pop up, which means that all the files in the temporary website of “receipt” will be overwritten (as it should be), just confirm it directly.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::12

Wait 10-30 minutes.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::13

Then the following prompt will appear:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::14

Copy the information of the Name Sever on the right into Notepad, and then start the confirmation work below.

Confirm Site Migration was Successful

Log in to the website background of the temporary URL. For example, I log in here: judyw3.sg-host.com/wp-admin, because the temporary domain name does not have an SSL certificate installed, so the browser may pop up a risk warning.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::15

Because the migration has been successful, all the content has gone to the temporary website, including the login information of the background, so fill in the account password of the original website here:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::16

As long as you can log in normally, there is no problem. After logging in, temporarily close all cache plug-ins, for example:

  • SG Optimizer
  • W3 Total Cache
  • WP Rocket
  • Lite Speed
  • Fastest Cache

At this time, log in to the front desk of the website again, and you will usually find that the style of the website is also complete:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::17

After confirming that there are no major problems, start to deal with the problems left by the original space.

Disable the collection of old addresses

After the website is migrated, the old space will not be bound to any domain name. If you want to access the content of the old space, you must use the IP address.

It stands to reason that if there is no domain name space, the content in it is unlikely to be included by Google, but to be on the safe side, we’d better ban the content of the old space from the SEO level.

The following is the practice of “running dog cooking”:

From the original site , install and activate “Advanced File Manager”:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::18

Note: It is operated in the original website, not in the temporary website! This is very important!

Under the website root directory (usually the public_html folder), create a new txt file:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::19

Right-click the newly created robot.txt, and then click Editor:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::20

Copy the following code in, save and exit:

User-agent: *
Disallow: /

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::21

To confirm, we try to access this file with the domain name +/robots.txt. For example, when I visit https://www.xunpanziyou.com/robots.txt, you can see that the browser displays the following:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::22

Anyway, the domain name will be migrated to a new place and point to the new space in a while, and the new space will not have such a robots file.

When the domain name transfer is successful, the link of robots.txt here will also become similar 123.123.123.123/robots.txt. Any spider that crawls the website will detour when it sees this robots.txt.

switch domain name

The next step is to transfer the domain name and corporate mailbox, because it takes a little time to transfer the domain name, so our idea is to ensure that the domain name transfer is successful.

Wait until the domain name is transferred, and then migrate the corporate mailbox, so as to ensure that the corporate mailbox is always available.

First log in to the domain name management place. For example, if I bought my domain name on NameSilo, I will log in to the background of NameSilo and enter the DNS management center:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::23

You will see records with MX and TXT:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::24

Find all MX and TXT records, and record their types and values. A few corporate mailboxes also have CNAME records starting with mail, and record them.

Each record contains:

  • type
  • Host name (Hostname, optional)
  • Point to value (Value)
  • Priority (Prio)
  • Time to live (TTL, in seconds in NameSilo)

In the end, we should get a table similar to the following. It is best to take a screenshot of the DNS page for later use:

Type | Hostname | Value | Priority | Age
mx | none | qiye163mx01.xxx | 5 | 2h
mx | none | qiye163mx02.xxx | 10 | 2h
txt | none | v=spf1... | none | 2h
txt | _dmarc | v=spf1... | none | 2h
cname | mail | qiye.163.com | none | 2h

After the record is completed, don’t worry about it for the time being, and wait until the domain name is migrated before moving the mailbox, so that the corporate mailbox will always be available.

Then go back to the domain name management center and enter the management interface of NS:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::25

Change the value of NS to two values in Notepad, and after confirming that it is correct, click submit:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::26

Enter the website page of the SG background, click the “manage” option of the temporary domain name:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::27

Click the three dots next to the temporary domain name and select “change primary domain” inside:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::28

Fill in the domain name to be transferred and confirm it again:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::29

After a minute or so, the following prompt will appear:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::30

Then there is waiting. The NS transmission time can be long or short. If it is fast, it will take tens of minutes, and if it is slow, it will take 48 hours.

I really can’t wait to be in NS LOOKUPThe website queries the address of NS:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::31

It can also be refreshed in the background of SG from time to time.

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::32

Note: In a few cases, the domain name transfer is successful, but the SG backend cannot respond, and there are still warning prompts. We only need to try to access the DNS ZONE as shown in the figure below to see if there is any content.
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::33
If there is content, it is clear that the migration has been successful, then ignore the warning prompt of SG, and take the next step with confidence.

Migrate mailbox

After the URL migration is successful, you can configure the corporate mailbox in the background of SG, enter the DNS management center of Siteground, and you can add DNS records arbitrarily:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::34

For example, if I have a total of 5 records, then I need to add 5 times here:

Type | Hostname | Value | Priority | Age
mx | none | qiye163mx01.xxx | 5 | 2h
mx | none| qiye163mx02.xxx | 10 | 2h
txt | none | v=spf1... | none | 2h
txt | _dmarc | v=spf1... | none | 2h
cname | mail | qiye.163.com | none | 2h

Taking the first mx record as an example, I do the following operations at 1, 2, 3, 4, and 5 in the figure below, and click “CREATE” in the lower left corner after filling it out:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::35

  • Type choose MX
  • hostname blank
  • TTL select “2 hours”
  • Fill in priority 5
  • Fill in the value qiye163mx01.mxmail.netease.com

All DNS records are filled in the same way, as long as you compare our form and fill in in order, there will be no mistakes.

Pay close attention to the sending and receiving of the mailbox on the first day after filling it out. As long as the corporate mailbox can be sent and received normally, it means that the migration is successful.

Or you can also call the seller of the business mailbox and ask them to help with the verification to see if everything is normal.

Apply for SSL for domain name

For the sake of website security and customer trust, we might as well configure a security certificate for the domain name. It is super simple. You can apply for SSL with one click in the background of SG. Click in the following order:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::36

After that, SG will assign us an SSL certificate, and we can force all the links on the website to be converted into secure links, just turn on the HTTP Enforce at the location shown in the figure below:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::37

finishing work

For many migration plugins, after the website migration is successful, there will be a situation of “only the home page can be accessed, and other pages cannot be accessed”. This is because the .htaccesslink cannot be rewritten due to the lack of files in WordPress.

In order to prevent this accident, first save directly in Permalink:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::38

Then, rewrite all the temporary website links in the website into the current links. The idea is this:

  • Change judyw3the link at the beginning towww.xunpanziyou.com
  • Change https://the link at the beginning https://to the beginning
  • Change the website link without www to one with www

In order to achieve the above points, first download the plugin:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::39

Change all the temporary domain names in the website to the current domain names, and do the following configuration:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::40

Tips for success:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::41

Change all links without https on the website:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::42

Tips for success:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::43

Then change all the links without www on the website:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::44

Tips for success:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::45

If Elementor is installed on the website, you also need to use the link replacement function in Elementor, and do the following settings:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::46

In the fourth step, you need to fill in:

  1. The temporary domain name is transferred to the correct link: https://judyw3.sg-host.com →  https://www.xunpanziyou.com
  2. The temporary https domain name is transferred to the correct link: https://judyw3.sg-host.com →  https://www.xunpanziyou.com
  3. Insecure and non-www domain names are redirected to the correct link: https://www.xunpanziyou.com  →  https://www.xunpanziyou.com
  4. The domain name without www is transferred to the correct link: https://www.xunpanziyou.com  →  https://www.xunpanziyou.com
  5. Unsafe domain name to the correct link: https://www.xunpanziyou.com  →  https://www.xunpanziyou.com

Note, because I want the website to bring www, so all the links above are transferred to www in the end. If you don’t want www, then the target website should not have www. Don’t copy it

The success prompt is as follows. After most commands are executed, you should see “0 row affected.”:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::47

Then, regenerate the Elementor style sheet in “general”, and after saving, clear the cache of the website:

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::48

Note> Only for high-level players: If the website has a css editor installed, for example, I installed microtheme, after the website is migrated, the external css and js files generated by the css editor may be lost. The recovery method is very simple, enter the editor, Do nothing, save and exit.

After all the above steps are done, you’re done.