Your support helps keep this blog running! Secure payments via Paypal and Stripe.
Your website has been running great on your current host. However, it may be time to switch hosts for various reasons. In my case, I changed hosts for better performance and to improve my SEO ranking. Check out the two hosts below. You might want to host your own website or your client’s site with them.
3 Budget-Friendly WordPress Hosting Providers
SiteGround

One option is SiteGround, a powerful WordPress host recommended by the WooCommerce plugin, WordPress.org, and the Yoast SEO plugin. SiteGround provides the best hosting support, which is available 24/7 and has an extremely fast response time.
InterServer

Another option is InterServer, which is a budget web host, but its performance is no joke. InterServer offers built-in server security and fast 24/7 support.
Kinsta

I personally use many web hosts because I need to find the right one for my clients and my own websites. Apart from SiteGround and InterServer, Kinsta is a ‘level-up’ web host offering high performance and highly secured servers. I choose Kinsta for my serious clients, such as the big hospitals. Check all three hosts and see which one fits your needs best.
Key Takeaways
- Always back up before migrating.
- Replace URLs carefully to avoid broken links.
- Check
.htaccessandwp-config.phpconsistency with your new environment.
WordPress Migration
There are two main ways to move a WordPress website to a new host:
- Using plugins.
- Using phpMyAdmin or other MySQL interface applications (like SQLyog).
This post will focus on moving the site without plugins.
Assumptions for this guide:
- You already have the new domain name or plan to use your current one.
- You have the login details for your new host (e.g., cPanel).
Moving a WordPress Site Without a Plugin
Single-site and Multisite
In order to move the WordPress site smoothly, follow the steps below.
- Export the database (.sql) from the phpMyAdmin at the current host
- Create a new database at the new host
- Import the imported database (.sql) into the new host
- Now changing the domain name in the new database via phpMyAdmin
- For a Single site
- wp_options table, find the option_name fields below:
- siteurl => https://domain-name.com
- home => https://domain-name.com
- wp_options table, find the option_name fields below:
- For Multi-sites
- wp_options table, find the option_name fields below:
- siteurl => https://domain-name.com
- home => https://domain-name.com
- wp_n_options table, find the option_name fields below (n is the number of mini-sites):
- siteurl => https://domain-name.com
- home => https://domain-name.com
- Note that the option_value value will look like “https://old-domain-name.com/minisite1/”.
- wp_blogs table, find the domain field and change it to your domain name without http:// or https://
- wp_site table, find the domain field and change it to your domain name without http:// or https://. For example, changing to domain-name.com
- wp_sitemeta, find the meta_key field, look for the siteurl value, and change it to your domain name with http:// or https://. For example, changing to domain-name.com
- wp_options table, find the option_name fields below:
- For a Single site
- Transfer all WordPress files (wp-admin, wp-content, wp-includes, all files from the root) from the current host to the new host.
- The important files are wp-config.php, .htaccess, and the wp-content folder.
- At the new host, visit the WP login at https://domain-name.com/wp-login.php. If the default login URL is overridden by custom code or a plugin, you may disable them so you can log in.
- Log in and go to the Settings, then go to the Permalinks, and just save it twice without any changes in order to flush the URLs for the site on the new host.
- Note that the asset URLs still refer to the old domain name. You can use the plugin to search and replace them.
- Now your site should work on the new host
Migrate Multisite to Localhost for Developing Purposes
If you migrate the WordPress Multisite from the live site to your localhost, you must create a virtual host such as myweb.local. Additionally, in your wp-config.php, you must change the “DOMAIN_CURRENT_SITE” value to your virtual host as well. See the example code to set up the Multisite in wp-config.php
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // or true, depending on your setup
define( 'DOMAIN_CURRENT_SITE', 'example.local' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );Search and Replace the Old Domain with the New Domain
For the steps above, the asset URLs (image or links) are still using the old domain name. Please back up your database before replacing the old domain name.
You can simply replace the old domain with the new domain by using the Elementor plugin (Free version) if your site uses the Elementor plugin for building the template or layout. Simply go to “Elementor>Tools>Replace URL”.
To update the old domain URLs saved in the database, use a search and replace tool like WP Migrate Lite. For WP Multisite, install and activate the plugin in the Network Admin dashboard. Access the Find & Replace tool via Settings > WP Migrate > Migrate, then replace the old domain URL with the new one. Since WP Multisite uses one database, WP Migrate Lite only shows in the Network Admin.
How about GUID? – Database Migration Option
In the wp_posts table, you will see the “guid” column. The GUID stands for “Globally Unique Identifier”. It is a field that is intended to hold an identifier for the post, which is unique. Ideally, you should not change this GUID. The GUID field is primarily used to create WordPress feeds. However, if you never use the WordPress feeds, you may ignore the GUID migration.
Regarding the method above, the GUID won’t change to a new domain name if the domain name is different from the old site. For example, you are moving the site from www.example.com to www.example.net. When you are moving the site using the method above, the GUID won’t change to www.example.net.
To fix it, you should migrate the database using the WP Migrate Lite plugin instead of exporting and importing the database directly via phpMyAdmin. I often use the WP Migrate Lite plugin for migrating the site, including the GUID. It is working well all the time.
Log In and Verify
Visit your new domain name site and log in with your admin credentials.
Check that:
- Single site: The site loads correctly.
- Multisite: Each subsite loads correctly.
- Media files display properly.
- Permalinks work (you may need to re-save them).
Common Issues
- Broken links or missing images: Fix it by running a database search-replace for the old domain.
- Login redirect loops:
- Single site: Clear cookies, disable the redirect or security plugins, or recheck
.htaccess - Multisite: Clear cookies, disable the redirect or security plugins, or recheck your
DOMAIN_CURRENT_SITEand.htaccess
- Single site: Clear cookies, disable the redirect or security plugins, or recheck
- Multisite: subsites not accessible
- Confirm if your setup uses subdirectories or subdomains, and match the configuration in
wp-config.phpand.htaccess
- Confirm if your setup uses subdirectories or subdomains, and match the configuration in
Moving a WordPress Site with a Plugin
If you don’t want to wait time and don’t feel comfortable with manually moving the site, you can follow How to move your WordPress site with zero downtime article I wrote.
Conclusion
Moving a WordPress site to a new host isn’t too complicated. The main thing you need to focus on is the URL. If you’re moving your WordPress site from an old domain name to a new one, you must make sure to replace all URLs with the new domain name so that no links refer back to the old one. I see some sites having this issue after migration.
Moving a WordPress Multisite can be tricky, but if you understand the multisite structure, it won’t be difficult for you. If my post is helpful and saves you time, please consider buying me a coffee!
Lastly, choosing the right web host is also important. I recommend all three hosts above because I have been using them for many years, and they’ve never let me down. These hosts also offer free migration service with WordPress experts.
Your support helps keep this blog running! Secure payments via Paypal and Stripe.

