Table of contents
Updated - February 28, 2025
Moving a website, what does that mean, why - and how does it work? This article addresses these questions in detail. That's why it's a little longer than usual on my blog.
Moving a website can have different meanings:
Hosting move
- The website is transferred from one hosting provider to another.
- Databases, files and e-mails often have to be taken along.
- DNS settings must be adjusted.
- For example, for performance, safety or price reasons.
Domain transfer
- The website changes from an old domain (e.g. old-domain.com) to a new (new-domain.com).
- Redirects (301 redirects) are important to get visitors and SEO rankings.
Server change
- The website remains on the same domain, but moves to a new server (e.g. from shared hosting to its own server).
- May be required for performance and safety reasons, among others.
Why?
A website that started out as a small blog is growing and therefore requires more memory, larger databases and goes beyond the scope of the contract concluded with the web host. However, an upgrade would again exceed the budget, which is why you look for other hosting providers.
At the beginning, you don't think about databases and other resources. You compare different offers and usually opt for the one that offers the "highest" figures at the lowest price. Due to a lack of background knowledge, you don't think about the meaningfulness and necessity of these "numbers". And if you don't really know which figures will ultimately be important, you don't know which questions to ask or which data to pay particular attention to.
Since contracts must be adhered to, the hosting provider will hardly turn a blind eye if the set limits are exceeded, but will first politely point out the fact that the contract has been breached and, if this is not remedied, simply block the website.
All right, so when choosing a provider, you also have to take the maximum permissible database size into account. This is easier said than done, as hardly any providers list this as a criterion in their figures when choosing a tariff. All the more reason to ask about it explicitly, by email or chat!
And this is also advisable with well-known providers, whose tariffs can easily amount to several hundred euros a year.
In the example case, it was precisely this, the exceeding of the 1,024 MB database size granted, that prompted the change of hosting provider.
Choice of hosting provider
If you search for comparisons of hosting providers, you will find the list predominantly in ascending order of price.
In addition to pure "technical data", accessibility, response time and efficiency of support are also of greater importance. Opinions may be divided when it comes to AI, but providers are increasingly using AI to cover first-level support, i.e. general questions from customers. This is perfectly understandable and is completely sufficient for this purpose. It is amusing when AI wishes you a "good night" and "sleep tight!".
However, a human being at the other end should be available for specific problems and should be available all day, 24/7. How far the included support service goes and when it becomes chargeable is also something that needs to be clarified before the contract is concluded.
Contracts that are concluded years into the future are usually more interesting in terms of price, especially as this makes the cost side more calculable in the long term. A provider that discontinues its service before the end of the contract term, or survives this period, would of course be the best choice. However, no one will be able to guarantee this.
The - usually higher - costs after the initial term expires should also be taken into account when making a decision, especially as the increase is often very significant. Of course, you can simply let the contract expire and move the website - once again - but experience shows that this is not done, especially for reasons of convenience.
Once you have found your new provider, you can start moving your website.
Relocation of the website
Nine steps are required:
- Update all plug-ins, themes and the WordPress installation to the latest version
- Reorganization of the databases
- Download and install the plug-in for data backup (e.g. UpdraftPlus)
- Data backup of all content (database, plugins, themes, uploads, other)
- Transferring the domain to the new provider
- Installation of WordPress on the servers of the new provider
- Installation of the plug-in for data backup (here UpdraftPlus)
- Restoring the data to the new WordPress installation
- Check DNS entries with the new provider
Updates
WordPress in particular should be on the latest version, as the new WordPress installation will be the latest. As a rule, versions are downward compatible, but this measure avoids any incompatibilities that may exist.
Plug-ins are less critical and can still be updated after the migration.
The data backup plug-in UpdraftPlusIf it was already active on the old installation, it should definitely be updated before the data backup, as it will also be loaded and installed in the current version after the WordPress installation on the new server has been completed. Again, this is to prevent any version incompatibility.
Database reorganization
Databases are like bookshelves: one book in, three books out, five books in ... - they live and change all the time. Sometimes a large book that does not fit into a gap is broken down into suitable individual parts and stored in different places. The database therefore has fragmented content. References to these fragments take up just as much storage space as the content itself. Logs are also saved, cache data is written, etc.
A database reorganization reads all data, reassembles fragmented data, deletes temporary data that is no longer required and in this way optimizes both the access speed and size of the database. This also reduces the time required to back up and restore the database.
As the database is the central nerve of a website, it is strongly recommended that you create a copy of the database BEFORE reorganizing it and back it up on local storage. If something goes wrong, you can restore it.
Data backup plug-in
There are a number of plug-ins that are dedicated to backing up and migrating a website. Most of them do the backup without any problems, but ask you to pay for the migration. So if you don't plan to migrate your website every now and then, you're unlikely to be interested in an annual subscription. The plug-in linked above UpdraftPlus is a notable exception here, as it is modest and allows a restore without any ifs or buts.
UpdraftPlus guides you intuitively through the backup process and can download the individual files to your own computer once the installation has been successfully completed.
Domain transfer
What is a domain?
A domain is e.g. www.google.de - www is optional and represents the so-called subdomain. Consequently, entering "google.de" to the same result as "www.google.de". In both cases, the website is called up by Google.
"google" is the individual name, while ".de" is the top-level domain (TLD).
EEP
The Extensible Provisioning Protocol (EPP) is used for the administration of domain names at registrars and registries and enables standardized and secure communication between domain registrars such as Namecheap, GoDaddy and the central registries such as DENIC (German Network Information Center) for the TLD ".en"
and Verisign for .com
).
A domain transfer requires an application from the domain holder, i.e. the website operator. The website operator applies to their previous hosting provider for the so-called EPP-Auth-Code. The code received is entered on the domain transfer application page of the new provider, who then arranges for the domain to be transferred from the old provider to the new provider.
As soon as the domain transfer has taken place, the previous "address", which previously led to the old provider, its server and your own website, points to nowhere. Here come the Domain Name Server (DNS) comes into play.
DNS
A Domain Name Server converts the entered address "www.google.de" into the IP address suitable for servers, here "8.8.8.8".
DNS available worldwide interact: If the first server queried (DNS resolver) does not know the IP address, it passes the query on to the next one. This recursive search continues until the name entry is found and the IP address searched for is sent back to the requesting location and the desired website can be loaded.
A DNS also stores additional entries, such as
- A-Record - Links a domain with an IPv4 address.
- AAAA record - Links a domain with an IPv6 address.
- CNAME record - Redirects one domain to another (e.g.
www.example.com
→example.com
). - MX-Record - Defines mail server for e-mails.
- TXT record - Contains additional information, e.g. for security mechanisms.
DNS Propagation
Each hosting provider has its own name server. The old provider e.g. ns1.alterProvider.comthe new one, for example ns1.newprovider.com.
In the event of a move, the old address stored with the registrar refers to ns1.alterProvider.com Consequently, you must first go to the website of the old provider.
As soon as the registrar receives the new provider address ns1.newprovider.com a request is sent to the new provider, but the website has not yet been transferred to their server. The request therefore remains unsuccessful. The page only appears again as usual after all content has been restored.
Whether the old or the new name server is still stored for the moved domain can be checked via WhoIs check. To do this, enter the domain to be checked in the search field at the top right and click on the WHOIS button to the right.
In addition, the new address entry still has to be transferred to all DSNs worldwide, which can take up to around 48 hours. It is therefore possible that someone in Nairobi will be able to access the website, while someone from Moscow will still end up in the void or receive an error message.
Check DNS NameServer
You can find out which DNS the new address has already been registered to via the website DNS checker by selecting NS for NameServer in the selection field to the right of the domain to be registered (e.g. csiag.de). The result is displayed at the bottom of the country list for each country on the right. The new NameServer should appear there instead of the old one.
WordPress installation
Once the new address can be reached via the DNS at the new provider, you can log in there using the data previously entered and start the WordPress installation. The providers generally design the user interfaces of their portals so intuitively that you can usually find the relevant menus and functions straight away.
Once the WordPress installation has been successfully completed, the data backup plug-in is installed.
Data backup plug-in
In the sidebar of the WordPress installation you will find the menu item Plugins.
At the top left, click on the button Add new plugin to the overview page of available plug-ins.
On the right in the search field Search plugins enter UpdraftPlus and the plug-in you are looking for will immediately appear, which you can install by clicking on the Install now is started. After successful installation, the plug-in is started by clicking on the Activate capable of acting.
Restoring the data
Also in the left-hand WordPress menu column is now UpdraftPlus listed. Clicking on this item opens the function selection for Save or Restore.
The functions Migrate / Clone seem to be reserved for the purchase version, which is why the pure functionality Secure now or, further down, Restore is used.
There is no existing backup on the new server, which is why the files from the backup with the old provider must first be restored by clicking on Upload backup files must be transferred to the new provider's server.
Once the transfer has been completed, five buttons are now available after the backup date/time in the table below. There is a box right at the beginning of the line. Click on this and click on the right on the button Restore Start the restore.
If the restore aborts, a corresponding error message is displayed, as well as a button to correct the error. In most cases, the restore process cannot overwrite the empty database tables created by the previous WordPress installation, which is why they must be explicitly deleted manually with a click and then the process restarted.
As soon as the restore has been successfully completed, the website can be accessed as usual, provided that the DNS propagation has been completed.
Pitfall hosts file
The hosts file is a local configuration file of an operating system that is used to assign IP addresses to host names. It makes it possible to direct certain domains to a specific IP address without performing a DNS query.
Example:
##
# Host Database
# localhoist is used to configure the loopback interface
# when the system is booting. do not change this entry.
##
139.162.163.62 csiag.de
139.162.163.62 www.csiag.de
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
The entries 139.162.163.62 led to the old hosting provider, which is why, despite a restore to the new provider, access always landed on the old provider - without a DNS query - and changes to the website with the new provider were not displayed on externally accessing devices.
Therefore, these entries had to be commented out with a # so that a DNS query can be performed again and routed to the new provider:
# 139.162.163.62 csiag.de
# 139.162.163.62 www.csiag.de
Edit hosts file
Under Mac OSX (Sonoma), open the Terminal in the Finder under Utilities and enter
sudo nano /etc/hosts
enter. A password prompt follows. The file then opens for editing.
Use the down arrow key to position yourself in front of the first entry, e.g. 139...., type #, followed by a space. Now use the left and down arrow keys to position the cursor in front of the next line, here again 139..., type # again, followed by a space, as shown above.
Save hosts file
With the key combination Ctrl+X , followed by Y and ENTER the file is saved.
Delete OSX DNS cache
To delete the operating system's own DNS cache, enter
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
in. The website should then be addressed and displayed using the new IP address obtained via the DNS request forced in this way.