Migrate a WordPress Site without plugin: Step-by-Step Guide

It’s time, your WordPress site gets a new domain or has to move to another server. I’ll explain how you can do it without any plugin and how the manual migration can be done without any problems.

When moving a WordPress website to a new host or to a new domain, there are some important points that should be considered so that everything works properly later. But don’t worry: I’ll show you in this post step by step how to move WordPress manually to another server or domain.

In this tutorial you will learn how to do a complete WordPress server move or a WordPress domain move. You can also follow these steps if you want to make a copy of your WordPress website. Some steps can be skipped for some cases, I have described that in the first sentence of each chapter.

WordPress Migration: Why not use a plugin?

There are some WordPress plugins that are supposed to help you migrate your WordPress installation. But some are paid or do not work properly. Therefore I find the manual migration of WordPress all the more interesting. Without a plugin, the move of your WordPress website is also quite easy to implement and you always have full control over the entire process.

Step 1: Move files to new web space

First we need to move all files to the new webspace of the new server. If you only want to change the domain of your WordPress site, you can skip this step.

Connect to your old web space with an FTP client (e.g. WinSCP or FileZilla) and download all files locally to your computer, preferably to a new folder. This may take a few minutes depending on the size of the site and the number of images. You can recognize the WordPress directory by the fact that it contains files similar to the following screenshot.

Root directory of a WordPress installation
Root directory of a WordPress installation

For advanced users: If you have SSH access to your webspace, you can create a tgz archive there and download it. You can find the appropriate Linux commands here.

When everything is downloaded, you can connect to the new server’s webspace again via FTP and upload everything to the root directory there.

In the wp-config.php you have to adjust the access data to the database of the new host.

Step 2: Move WordPress database

2.1 Export database

All data about pages, posts, etc. are stored in the database. This data must of course be moved. This step is not really necessary if you only want to change the WordPress domain, but I would still strongly recommend it to you, because this export also serves as a backup of your site.

For this we use the tool phpmyadmin, which you can download here. We simply put the unzipped folder into the main directory of the old site and can then access it via https://www.example.com/phpmyadmin and log in with the user data from the wp-config.php file.

In the next step we need to export the database. To do this, select your WordPress database and switch to the “Export” tab.

phpmyadmin - Export database
phpmyadmin – Export database

Type of export can remain on “Quick – show only necessary options” and format we also leave on “SQL”. With a click on “OK” we get a SQL file, which we download and upload in the new web space.

2.2 Import database

Now, who would have thought it, we need to re-import the file on the target server. For this we also put a phpmyadmin installation in the root directory of the new webspace. There we go to the “Import” tab and select our exported SQL file at “Select file”. We leave the rest of the settings as they are and click on “OK”.

phpmyadmin - Import database
phpmyadmin – Import database

And already we have the database and all WordPress files on the new server.

Schritt 4: WordPress domain rewrite in the database

This step is only necessary if your domain has changed. If your site has only moved to a new server, this step is not necessary.

To adjust the data in the database, we use the tool “Search-Replace-DB”, which you can download on GitHub.

Download Search-Replace-DB (GitHub)

To download click on “Code” and then on “Download ZIP”.

Download Search-Replace DB from GitHub
Download Search-Replace DB from GitHub

We upload the unzipped zip archive to the web space of the new server and call the URL in the browser.

The view will look something like this and will already automatically read the database credentials. If this is not the case, you can enter them manually and click on “update details”.

Search Replace DB Browser View
Search Replace DB Browser View

Now we enter the old and the new domain in the top line according to this scheme (old = example.com, new = test.com):

Domain replacement scheme
Domain replacement scheme

With a click on “dry run” we can display the changes. In this step no data will be changed yet! With a click on “view changes” we can view the changes and check if the domain is rewritten correctly.

Ergebnis nach Ausführung von Search-Replace-DB
Result after execution of Search-Replace-DB

If the domains have been converted correctly, we can click “live run”.

Attention: This will change data in the database. This action cannot be undone!

However, if something goes wrong, it is not a problem, because we can simply import the previous database export again.

Schritt 5: Adjust DNS settings and test page

If you have moved to another server, the IP of your webspace will have changed as well. Therefore you have to change the A-record of your domain. Your hoster will be happy to provide you with the relevant information. To understand what is behind this, I can highly recommend my article on the basics of DNS.

Finally, you can check if you can reach your site again and the WordPress move was successful.

Important: The two folders phpmyadmin and Search-Replace-DB in the root directory of your installation should now be deleted completely, so that no one can tamper with your database!

Conclusion

That’s it! 🙂 Moving a WordPress without plugin works very straight-forward and is also done quite quickly. If you had any problems, feel free to post a comment.

If you want to tweak your freshly moved site a bit, you can check out these useful WordPress code snippets!

Related Posts
Join the Conversation

8 Comments

  1. Marnik says:

    Thanks for this.What I would also mention is that you should not install WordPress on the webspace of the new hosting.This could lead to a lot of errors if the WordPress version of the old webspace (which you ftp transfer) site is different that the version on the new webspace.

  2. My all pages are ranked at 1st page and I want to move it but I am afraid of losing all SEO effort, can you guide me how to move without effecting it?

    1. Lorenz says:

      It’s important that you redirect every page with an 301 Redirect to the new page. So every ranked page must redirect to the same site on your new domain. It should be no URL with a 404 response.

      As far as I know this is fine for Google. I have done this with several pages and never had any problems.

  3. Andy Globe says:

    Thanks for this. What is the difference for migrating to new host (and domain)? Is there any difference in steps and instructions?

    1. Lorenz says:

      When you switch to a new hoster, you don’t necessarily change your domain. In this case, only DNS changes would have to be made and the WordPress installation could be transferred 1:1. Without the adjustments shown here. Does that answer your question? 🙂

  4. Devid T says:

    I am searching on google how to migrate WordPress site to new domain and I find your post. Hopefully, now we can migrate website easily. Thank you!

    1. Lorenz says:

      Hope this post helps! If you have any questions feel free to contact me.

Your email address will not be published. Required fields are marked *

bold italic underline strikeThrough
insertOrderedList insertUnorderedList outdent indent
removeFormat
createLink unlink
code

This can also interest you