{"id":2107,"date":"2020-08-03T08:00:49","date_gmt":"2020-08-03T14:00:49","guid":{"rendered":"https:\/\/www.scalahosting.com\/blog\/?p=2107"},"modified":"2026-01-22T13:26:48","modified_gmt":"2026-01-22T19:26:48","slug":"how-to-migrate-a-wordpress-website","status":"publish","type":"post","link":"https:\/\/www.scalahosting.com\/blog\/how-to-migrate-a-wordpress-website\/","title":{"rendered":"Migrate a WordPress Website: Step by Step Guide"},"content":{"rendered":"\n<p>Thinking of moving your WordPress website to a new <a href=\"https:\/\/www.scalahosting.com\">hosting provider<\/a>?<\/p>\n\n\n\n<p>The fact that you&#8217;ve landed on this page suggests that you are. More specifically, you&#8217;re looking for a guide to help you complete the transfer with as little hassle as possible.<\/p>\n\n\n\n<p>The thing is, if you decide to move your site to <strong>ScalaHosting<\/strong>, you won&#8217;t need it at all.<\/p>\n\n\n\n<p>Instead of migrating files, dumping databases, and editing core configuration files, you can let our technical experts do it for you. All they need is a support ticket containing the login details for your old hosting account.<\/p>\n\n\n\n<p>Decades of experience and thousands of successful WP migrations mean you can expect a<strong> completely seamless transition with zero downtime<\/strong>. Our technicians will transfer the WordPress core and all your site data, and after ensuring everything works fine, they&#8217;ll notify you to change your domain DNS settings. The entire process requires <strong>minimum effort<\/strong> from your side and will <strong>cost you nothing<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Of course, if you want to do it yourself, we have the steps for you below.&nbsp;<\/p>\n\n\n\n<p>Oh, and just before we get to them, we should point out that the migration is nowhere near as complicated as it may appear at first.<\/p>\n\n\n\n<p>With the right approach, even a complete novice can tackle the task, and the experience can actually be quite educational, as it gives you an insight into how your WordPress website works.<\/p>\n\n\n\n<p>Let&#8217;s get to it then.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Do You Need to Migrate a WordPress Website?<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time<\/strong> &#8211; Your website size and complexity affect the time you&#8217;ll need to transfer it, and if you haven&#8217;t done it before, the process will likely be a bit slower than usual. Nevertheless, the migration of a standard WordPress site should take <strong>no more than an hour<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tools <\/strong>&#8211; Both your old and new accounts are most likely equipped with a control panel that has a <strong>File Manager<\/strong> and database management tools, helping you with the most critical phases of the migration. You can speed up some of the steps using an<strong> FTP client<\/strong>, and those with some command-line experience may decide to use <strong>SSH<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Technical skills<\/strong> &#8211; The entire migration can be completed through a point-and-click interface. You don&#8217;t need experience or any specialized technical knowledge. However, you do need to plan carefully and consider all potential pitfalls, so let&#8217;s start from the very beginning.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Compatibility Checks<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"513\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Check-compatibility-1140x513-1.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Compatibility Checks\" class=\"wp-image-71859\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Check-compatibility-1140x513-1.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Check-compatibility-1140x513-1-300x135.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Check-compatibility-1140x513-1-768x346.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>It may sound like a no-brainer, but you must first ensure your chosen environment is well-suited for a WordPress site migration. The silliest thing you can do is to opt in for a new hosting provider only to find out they don&#8217;t support your CMS. For example, if you mistakenly choose a Windows server, deploying your WordPress website on it would be quite challenging.<\/p>\n\n\n\n<p>So, what do you need to keep in mind?&nbsp;<\/p>\n\n\n\n<p>Two things should be of prime consideration &#8211; your application core and your WordPress plugins.&nbsp;<\/p>\n\n\n\n<p>The CMS itself is fairly reasonable when it comes to system requirements &#8211; it needs <strong>PHP and MySQL <\/strong>to function correctly, so pretty much any Linux server configuration can do the job. Naturally, you have to ensure the new account&#8217;s programming and database management solutions are compatible with your particular WordPress version.&nbsp;<\/p>\n\n\n\n<p>WP themes and plugins should not be underestimated, either. Each add-on has specific requirements, so you must check if yours would work well on the new hosting server. Keep a close eye on your plugins&#8217; supported PHP versions and ask your host if they have the ones you need.&nbsp;<\/p>\n\n\n\n<p class=\"alert-blue\"><strong>IMPORTANT:<\/strong> The ScalaHosting support team will gladly review your entire site and check the version requirements for your core application and add-ons. We support all PHP versions from 7.4 onwards, and Scala clients can even switch between them easily from their control panel with us.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Backup Your WordPress Site<\/strong><\/h2>\n\n\n\n<p>Automated daily backups should be included in your hosting service, and they are essential for keeping your website safe, regardless of whether you&#8217;re making any changes to it. However, when undertaking something as serious as a WordPress migration to a new host, an <a href=\"https:\/\/www.scalahosting.com\/blog\/backups-and-disaster-recovery-strategies-in-managed-vps-hosting\/\">additional manual backup<\/a> will ensure you can restore your pages back to normal if things don&#8217;t go according to plan.&nbsp;<\/p>\n\n\n\n<p>There are several ways you can go about creating a secure copy of your site. You can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ask your hosting provider to perform a data backup and give you the archive file location<\/li>\n\n\n\n<li>Utilize a WordPress plugin to create a backup file<\/li>\n\n\n\n<li>Create a full account backup through your control panel<\/li>\n<\/ul>\n\n\n\n<p>The third option is by far the easiest. For example, if your server is equipped with <strong>SPanel<\/strong>, you can have a full account backup with a few simple clicks.<\/p>\n\n\n\n<p>First, log in to <strong>SPanel&#8217;s User Interface<\/strong> and select the <strong>Backup<\/strong> utility from the <strong>Files <\/strong>section on the homepage.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"889\" height=\"288\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/spanel-backup.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Backup Your WordPress Site\" class=\"wp-image-73125\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/spanel-backup.webp 889w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/spanel-backup-300x97.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/spanel-backup-768x249.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>The <strong>New Manual Backup <\/strong>button is at the top of the page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"442\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/new-backup-1140x442.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Backup Your WordPress Site 2\" class=\"wp-image-73126\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/new-backup-1140x442.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/new-backup-300x116.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/new-backup-768x298.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/new-backup.webp 1335w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>The interface lets you choose various settings for your new backup. The one we need today is the <strong>Full account backup <\/strong>toggle switch. Once you select it, you can pick the archive&#8217;s format and decide whether to include your emails.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"369\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/generate-new-backup-1140x369.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Backup Your WordPress Site 3\" class=\"wp-image-73094\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/generate-new-backup-1140x369.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/generate-new-backup-300x97.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/generate-new-backup-768x249.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/generate-new-backup.webp 1328w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>After you click <strong>Submit<\/strong>, SPanel will start generating your backup, allowing you to continue working on other things. When ready, your backup file will be saved in your account&#8217;s home folder. You can also download it from the <strong>Backup <\/strong>utility in SPanel&#8217;s User Interface.<\/p>\n\n\n\n<p>Thanks to your backup, you don&#8217;t need to worry about losing data if something goes wrong during the site migration.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u0415xport Your WordPress Database<\/strong><\/h2>\n\n\n\n<p>To move your website to a new location, you first need to export the data from its old database location. Traditionally, this is done with the help of <strong>phpMyAdmin<\/strong>, an open-source database administration utility that is integrated into most modern web hosting control panels.<\/p>\n\n\n\n<p>The steps are relatively straightforward:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to your <strong>control panel<\/strong>.<\/li>\n\n\n\n<li>Go to<strong> PhpMyAdmin<\/strong> under the <strong>Databases <\/strong>tab.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"871\" height=\"270\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/phpmyadmin.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database\" class=\"wp-image-73127\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/phpmyadmin.webp 871w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/phpmyadmin-300x93.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/phpmyadmin-768x238.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Once inside, find your database on the left and choose the <strong>Export <\/strong>tab from the top menu.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"270\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-database-phpmyadmin-1140x270.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 2\" class=\"wp-image-73128\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-database-phpmyadmin-1140x270.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-database-phpmyadmin-300x71.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-database-phpmyadmin-768x182.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-database-phpmyadmin.webp 1219w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"165\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-tab-1140x165.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 3\" class=\"wp-image-73129\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-tab-1140x165.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-tab-300x43.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-tab-768x111.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-tab.webp 1325w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>You will see options for <strong>Quick<\/strong> and <strong>Custom<\/strong> export. Make sure to keep the <strong>Format <\/strong>drop-down as <strong>SQL<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"207\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin-1140x207.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 4\" class=\"wp-image-73130\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin-1140x207.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin-300x54.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin-768x139.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin-1536x279.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-database-phpmyadmin.webp 1663w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Click the <strong>Go <\/strong>button. You will be prompted to choose a destination on your computer to download the database file archive.<\/li>\n<\/ol>\n\n\n\n<p>The process is fairly simple, but the interface is quite old-fashioned, and users may find it somewhat unintuitive. That&#8217;s why, if you use SPanel, you have an even more straightforward method for exporting information from a database.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to SPanel&#8217;s User Interface and open the <strong>MySQL Databases<\/strong> utility.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"875\" height=\"272\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 5\" class=\"wp-image-73095\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases.webp 875w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-300x93.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-768x239.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Find the database you need to export and open the <strong>Actions <\/strong>drop-down next to it.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"644\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/actions-databases-1-1140x644.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 6\" class=\"wp-image-73098\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/actions-databases-1-1140x644.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/actions-databases-1-300x169.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/actions-databases-1-768x434.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/actions-databases-1.webp 1326w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Click <strong>Export &amp; Download Database<\/strong> and save the SQL file to your computer.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"709\" height=\"244\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/exported-database-spanel.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, \u0415xport Your WordPress Database 7\" class=\"wp-image-73097\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/exported-database-spanel.webp 709w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/exported-database-spanel-300x103.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>You now have a copy of your WordPress database saved on a local machine. We will need that later, but now we must focus on the site files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Transferring Your WordPress Files<\/strong><\/h2>\n\n\n\n<p>It&#8217;s time to download our website files. We can use the <strong>File Manager<\/strong> in our control panel or transfer them via an <strong>FTP client<\/strong> like FileZilla. Here&#8217;s a breakdown of the steps:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Transferring files using a File Manager<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Open the File Manager<\/strong><\/li>\n<\/ol>\n\n\n\n<p>The File Manager is usually accessible from the homepage of your control panel. In SPanel, it&#8217;s located in the <strong>Files<\/strong> section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"870\" height=\"270\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-manager.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager\" class=\"wp-image-73099\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-manager.webp 870w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-manager-300x93.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-manager-768x238.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Navigate to your site&#8217;s document root folder.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>The document root directory contains your WordPress site files. In most cases, it&#8217;s called <strong><em>public_html<\/em><\/strong> and is visible as soon as you open the File Manager.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"456\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html-1140x456.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager 2\" class=\"wp-image-73131\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html-1140x456.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html-300x120.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html-768x308.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html-1536x615.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/public-html.webp 1908w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>&nbsp;If you see directories named <strong><em>wp-admin<\/em><\/strong>, <strong><em>wp-content<\/em><\/strong>, and <strong><em>wp-includes<\/em><\/strong>, you&#8217;re in the right place.<\/p>\n\n\n\n<p>Archive your files and download them.<\/p>\n\n\n\n<p>You need to select all the WordPress files and folders in your document root. Most File Managers have a <strong>Select All <\/strong>button to make your life easier. If there isn&#8217;t one, you can click on the first item you see on the list, scroll down while holding the <strong>Shift<\/strong> key on your keyboard, and click on the last one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"567\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all-1140x567.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager 3\" class=\"wp-image-73132\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all-1140x567.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all-300x149.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all-768x382.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all-1536x764.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/select-all.webp 1908w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Finally, right-click and select <strong>Archive<\/strong>. Your control panel asks for the format and name of the archive before it compresses the data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"710\" height=\"490\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-archive.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager 4\" class=\"wp-image-73102\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-archive.webp 710w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-archive-300x207.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>You&#8217;ll see the archive file in your document root directory. You can now use the File Manager&#8217;s interface to download it to your computer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"422\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive-1140x422.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager 5\" class=\"wp-image-73103\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive-1140x422.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive-300x111.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive-768x284.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive-1536x569.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-archive.webp 1909w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Upload the archive to your new server and extract the data.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>It&#8217;s time to log in to the control panel on your new hosting account, open the file manager, and go to the <strong><em>public_html<\/em><\/strong> folder. You need to upload the archive with your site&#8217;s files. Usually, there&#8217;s an <strong>Upload<\/strong> button, though you can often drag and drop the file from your local directory. Once it&#8217;s on the server, all you need to do is right-click on it and select <strong>Extract<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"306\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive-1140x306.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using a File Manager 6\" class=\"wp-image-73104\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive-1140x306.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive-300x80.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive-768x206.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive-1536x412.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/extract-archive.webp 1891w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>With that, your site&#8217;s files have been successfully transferred to the new server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Transferring files using an FTP client.<\/h3>\n\n\n\n<p>The steps involved in migrating your site&#8217;s files with an FTP client are different, but the principle is essentially the same &#8211; you first download them from your old account to your local computer and then upload them to the new server.&nbsp;<\/p>\n\n\n\n<p>Here&#8217;s a step-by-step guide:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Log in to your old hosting account.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>The interface differs from FTP client to FTP client, but in all cases, you need your old account&#8217;s <strong>hostname, username, password, <\/strong>and <strong>port number<\/strong> (if you leave it blank, the client application uses the default FTP port &#8211; port 21). Here&#8217;s what you see if you use <strong>FileZilla <\/strong>&#8211; the world&#8217;s most popular FTP client.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"623\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/filezilla-1140x623.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using an FTP client.\" class=\"wp-image-73105\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/filezilla-1140x623.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/filezilla-300x164.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/filezilla-768x420.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/filezilla.webp 1200w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Download your files to your computer.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>The right section shows the contents of your hosting account, and the left displays the files and folders on your local machine.<\/p>\n\n\n\n<p>On the right, navigate to the <strong>public_html<\/strong> folder. On the left, pick a location on your hard drive where you&#8217;ll store your files for the migration. Select all the files and folders on the right-hand side (you can click on one item and then press <strong>ctrl+a<\/strong>) and drag and drop them to the left-hand one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"623\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla-1140x623.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using an FTP client. 2\" class=\"wp-image-73106\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla-1140x623.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla-300x164.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla-768x420.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla-1536x840.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/download-files-filezilla.webp 1920w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Connect to your new server and upload your files.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Next, we need to upload the data to the new server. Disconnect from the old account and use the hostname and login details you got when you signed up with the new hosting provider.<\/p>\n\n\n\n<p>The left section should display the site&#8217;s files stored on your local machine. In the right-hand one, you need to navigate to the <strong>public_html<\/strong> folder on your new account. Select all files and folders on the left and drag them to the right.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"623\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla-1140x623.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Transferring files using an FTP client. 3\" class=\"wp-image-73133\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla-1140x623.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla-300x164.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla-768x420.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla-1536x840.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/upload-files-filezilla.webp 1920w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>The size of your website and the speed of your internet connection are among the main factors that will decide how long you&#8217;ll need to wait for the files to be transferred between your old server, your computer, and your new account. For a clean website with only its default add-ons, the entire process takes<strong> less than 10 minutes<\/strong>.&nbsp;<\/p>\n\n\n\n<p>With the files taken care of, it&#8217;s time to return to the database and recreate it at your new web host.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Create a New WordPress Database<\/strong><\/h2>\n\n\n\n<p>We have already saved an SQL file from our existing website on our computer, but we cannot just upload it to the new server. We have to recreate the database and import the information into it.<\/p>\n\n\n\n<p>The first job is to set up a new empty database. Modern server management solutions like SPanel have user-friendly utilities for managing MySQL databases. Usually, they&#8217;re accessible from the <strong>Databases <\/strong>section on the control panel&#8217;s homepage.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"875\" height=\"272\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-1.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Create a New WordPress Database\" class=\"wp-image-73108\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-1.webp 875w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-1-300x93.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/mysql-databases-1-768x239.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Inside, you&#8217;ll see a list of all existing databases. Because this is a new account, it&#8217;s likely empty. Above it, you should be able to see a button to create a new database.<\/p>\n\n\n\n<p>Make sure you select the <strong>Create a user<\/strong> checkbox as well. WordPress needs the MySQL user account to access and store information in the new database. From then on, it&#8217;s a matter of filling the empty fields. You need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name for the new database<\/li>\n\n\n\n<li>Username for the user<\/li>\n\n\n\n<li>Password<\/li>\n<\/ul>\n\n\n\n<p>Make sure you memorize the login credentials for the new MySQL account, as you&#8217;ll need them in a minute. Also, don&#8217;t forget to select the <strong>Grant access to database <\/strong>checkbox.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"751\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-database-1140x751.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Create a New WordPress Database 2\" class=\"wp-image-73109\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-database-1140x751.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-database-300x198.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-database-768x506.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/create-database.webp 1316w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Import Your WordPress Database<\/strong><\/h2>\n\n\n\n<p>With most control panels, you&#8217;d now need to go to <strong>phpMyAdmin<\/strong>, click on the new database from the menu on the left, and go to the <strong>Import <\/strong>tab, where you can select the SQL file you downloaded from your old account.<\/p>\n\n\n\n<p>If you use SPanel, the process is significantly more straightforward. Back in the <strong>MySQL Databases<\/strong> utility, you have an <strong>Actions<\/strong> menu next to each database.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"573\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-1140x573.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Import Your WordPress Database\" class=\"wp-image-73110\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-1140x573.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-300x151.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-768x386.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel.webp 1481w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>One of the options is <strong>Import Data<\/strong>, and the interface you see after clicking on it is pretty self-explanatory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"706\" height=\"376\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-2.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Import Your WordPress Database 2\" class=\"wp-image-73111\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-2.webp 706w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-data-spanel-2-300x160.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>After you select the SQL file from your computer, SPanel will upload it to the server, and when you click <strong>Submit<\/strong>, it will start importing the data into the new database. When it&#8217;s ready, you&#8217;ll see a message at the top of the screen.<\/p>\n\n\n\n<p>The entire import should take no more than a minute or two. After it is done, you can proceed to the next step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuring Your wp-config.php File<\/strong><\/h2>\n\n\n\n<p>Your WordPress files have been successfully migrated to your new server, and a new database with your site information has been created. What you need to do now is configure the WP installation to work with the database.<\/p>\n\n\n\n<p>To do it, you need to edit <strong><em>wp-config.php<\/em><\/strong>, WordPress&#8217;s main configuration file. It&#8217;s located in your site document root folder and contains information about your website&#8217;s core settings and instructions on how WP can connect to your new database. Our job is to ensure those instructions are correct for the database we created and imported during the previous step.<\/p>\n\n\n\n<p>There are several ways to edit <strong><em>wp-config.php<\/em><\/strong>. More technically savvy users may prefer to use the command line, for example. You could also download the file using FTP, modify it on your computer, and then re-upload it. However, the most convenient option is to edit it straight from your control panel&#8217;s file manager.<\/p>\n\n\n\n<p>With most File Managers, if you double-click on the <strong><em>wp-config.php<\/em><\/strong> file, you will automatically open the built-in text editor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"570\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-1140x570.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Configuring Your wp-config.php File\" class=\"wp-image-73134\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-1140x570.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-300x150.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-768x384.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-1536x768.webp 1536w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config.webp 1918w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Scroll down to the section that says &#8220;<strong><em>\/\/ ** Database settings &#8211; You can get this info from your web host ** \/\/<\/em><\/strong>&#8220;. The lines you need to edit look like this:<\/p>\n\n\n\n<div class=\"wp-block-group alert-orange\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>define( &#8216;DB_NAME&#8217;, &#8216;[the name of the database on your old server]&#8217; );<\/p>\n\n\n\n<p>define( &#8216;DB_USER&#8217;, &#8216;[the username of the MySQL user account from your old server]);<\/p>\n\n\n\n<p>define( &#8216;DB_PASSWORD&#8217;, &#8216;[the password of the old MySQL user account]&#8217; );<\/p>\n<\/div><\/div>\n\n\n\n<p>You need to replace the old information with the new database name and login credentials.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"727\" height=\"308\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-edit.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Configuring Your wp-config.php File 2\" class=\"wp-image-73135\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-edit.webp 727w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-edit-300x127.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Save the changes when you&#8217;re done.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Testing Your Website<\/strong><\/h2>\n\n\n\n<p>It&#8217;s time to verify that your website is loading fast on the new server. At this point, your domain should still be pointing to your old hosting account, but you can use<strong> your computer&#8217;s hosts file<\/strong> to ensure the migration is successful. This way, your WordPress site will remain operational while you iron out any potential issues.<\/p>\n\n\n\n<p>Sounds too complicated?<\/p>\n\n\n\n<p>Here is an excellent guide to help you <a href=\"https:\/\/www.scalahosting.com\/blog\/how-to-edit-your-hosts-file-windows-linux-and-macos-guide\/\">edit the hosts file<\/a>.<\/p>\n\n\n\n<p>After you&#8217;re done, open your website and be sure to <strong>click every button and test every functionality<\/strong>.<\/p>\n\n\n\n<p>If you&#8217;ve followed the steps outlined above, you should have no issues. Still, a WordPress website is a complex structure with many components that must be in the right place. If there is a problem with any of them, it&#8217;s best to identify the culprit now rather than later when the domain is pointed to the new server.<\/p>\n\n\n\n<p>Once you&#8217;re done testing, don&#8217;t forget to return your hosts file to its previous state.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Updating DNS Settings<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"513\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Updating-DNS-settings-1140x513-1.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Updating DNS Settings\" class=\"wp-image-71867\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Updating-DNS-settings-1140x513-1.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Updating-DNS-settings-1140x513-1-300x135.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/How-to-Migrate-a-WordPress-Website-Step-by-Step-Guide-Updating-DNS-settings-1140x513-1-768x346.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>You have already moved your files and database, but the domain still resolves to the old server IP address. To point it to your new hosting service, you likely need to<strong> change the nameservers<\/strong>. The correct ones are included in the welcome email you&#8217;ve received from your host, and your domain registrar should help you with the procedure.<\/p>\n\n\n\n<p>On rare occasions, you may need to change the domain&#8217;s <strong>A records<\/strong> instead of the nameservers. Yet again, your host and domain registrar will give you more information on how to proceed.<\/p>\n\n\n\n<p class=\"alert-blue\"><strong>IMPORTANT:<\/strong> Don&#8217;t forget that DNS changes require some time to propagate globally. Usually, that happens within a few hours, but it can sometimes take up to a day. If you want to avoid downtime, keep your old hosting account active after changing your domain&#8217;s DNS settings.<\/p>\n\n\n\n<p>While there is no definitive way to ensure the propagation period is over, a few online DNS propagation checkers can give you an idea of when it&#8217;s safe to disable the old service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Updating Permalinks (If You Use a New Domain)<\/strong><\/h2>\n\n\n\n<p>This step is necessary <strong>only if you plan to use a new domain with the migrated website<\/strong>. WordPress is a domain-centric application. URLs and file paths are hardcoded into the database, so entries must be updated when switching to a different domain. Otherwise, you&#8217;ll end up with broken images and URL paths.<\/p>\n\n\n\n<p>WordPress users can benefit from an ever-growing ecosystem of plugins that allow them to change all kinds of functionalities and add a limitless variety of features to their websites. Updating permalinks is no different, and the WP community offers numerous tools for that purpose.<\/p>\n\n\n\n<p>The more popular choices include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Search &amp; Replace Everything by WPCode<\/li>\n\n\n\n<li>Update URLs by KaizenCoders<\/li>\n\n\n\n<li>Better Search Replace<\/li>\n\n\n\n<li>Search &amp; Replace by WP Media<\/li>\n<\/ul>\n\n\n\n<p>Any of these WordPress add-ons will help you replace your old URLs with new ones. Here, for example, is how you do it with the <strong>Search &amp; Replace Everything<\/strong> add-on.<\/p>\n\n\n\n<p>The first step is to install the plugin. Log in to your WP Dashboard, go to <strong>Plugins<\/strong> &gt; <strong>Add Plugin<\/strong>, and type <strong>Search &amp; Replace Everything <\/strong>in the search box in the top-right corner. The add-on you&#8217;re looking for looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"559\" height=\"346\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace-plugin.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Updating Permalinks (If You Use a New Domain)\" class=\"wp-image-73136\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace-plugin.webp 559w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace-plugin-300x186.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Click the <strong>Install Now <\/strong>button and give WordPress a few seconds to download and set up the plugin. When it&#8217;s done, click <strong>Activate<\/strong>.<\/p>\n\n\n\n<p>A new sub-menu called <strong>WP Search &amp; Replace <\/strong>has now appeared under the <strong>Tools<\/strong> section in your WordPress dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"337\" height=\"307\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-search-replace.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Updating Permalinks (If You Use a New Domain) 2\" class=\"wp-image-73137\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-search-replace.webp 337w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-search-replace-300x273.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>The interface is pretty intuitive. The <strong>Search for<\/strong> field is for the old domain, and <strong>Replace with <\/strong>is for the new one.<\/p>\n\n\n\n<p>Click <strong>Select All<\/strong> under the <strong>Available Tables <\/strong>list and hit <strong>Preview Search &amp; Replace<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"935\" height=\"716\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Updating Permalinks (If You Use a New Domain) 3\" class=\"wp-image-73138\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace.webp 935w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace-300x230.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/search-and-replace-768x588.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>The plugin will scan your database for matches and show you all the changes it will make if you decide to proceed. Go through them, and if you&#8217;re happy with the changes, click <strong>Replace All<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Using a Migration Plugin to Move to a New WordPress Host<\/strong><\/h2>\n\n\n\n<p>While we&#8217;re on the subject of plugins, we should also mention that WordPress add-ons can help you move your entire website. The steps above should show you that manually moving a WordPress website from one provider to another isn&#8217;t as much of a hassle as you may have thought.<\/p>\n\n\n\n<p>However, <strong>a migration plugin<\/strong> can automate much of the process and save you even more time. Here are one or two potential caveats, but before we get to them, let&#8217;s see how it works.<\/p>\n\n\n\n<p>Quite a few WordPress plugins have been developed specifically to help you move your site from one provider to another. Here are some examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All-in-One WP Migration<\/li>\n\n\n\n<li>Duplicator<\/li>\n\n\n\n<li>UpdraftPlus<\/li>\n<\/ul>\n\n\n\n<p>For our guide, we will review the steps to migrate a WordPress project with All-in-One WP Migration.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Install WordPress on your new server.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Your first job is to ensure WordPress is set up and ready to go on your new server. Without an active installation, you can&#8217;t use a plugin to migrate your site.<\/p>\n\n\n\n<p>Most control panels are equipped with auto-installers like <strong>Softaculous<\/strong>. If you use SPanel, however, you have a dedicated <strong>WordPress Manager<\/strong> that makes the installation even easier.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1140\" height=\"1070\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/install-wordpress-spanel-1140x1070.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Using a Migration Plugin to Move to a New WordPress Host\" class=\"wp-image-73117\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/install-wordpress-spanel-1140x1070.webp 1140w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/install-wordpress-spanel-300x282.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/install-wordpress-spanel-768x721.webp 768w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/install-wordpress-spanel.webp 1323w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Set up the All-In-One WP Migration plugin on your old and new WordPress installations.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>The plugin must be present on both the source and destination websites. The installation procedure is standard: use the search box in the <strong>Plugins<\/strong> &gt; <strong>Add Plugin<\/strong> to find the All-In-One WP Migration add-on, install it, and click <strong>Activate<\/strong> to ensure it&#8217;s enabled. Repeat the steps on both WordPress installations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"570\" height=\"323\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/all-in-one-migration-plugin.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Using a Migration Plugin to Move to a New WordPress Host 2\" class=\"wp-image-73118\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/all-in-one-migration-plugin.webp 570w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/all-in-one-migration-plugin-300x170.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Export your site from your old hosting provider.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Log in to the WordPress dashboard at your old hosting provider. Click <strong>All-in-One WP Migration<\/strong> &gt; <strong>Export<\/strong>. The plugin gives you several options for exporting and storing your site data. Click the first one &#8211; <strong>File<\/strong>. The All-in-One WP Migration plugin will automatically export the information into a <strong>.wpress file<\/strong>. When it&#8217;s ready, you&#8217;ll see a download button. Save the file on your computer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"503\" height=\"194\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-website.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Using a Migration Plugin to Move to a New WordPress Host 3\" class=\"wp-image-73119\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-website.webp 503w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/export-website-300x116.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Import the file into the new WordPress installation.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>It&#8217;s now time to transfer the data to the new hosting provider. Log in to the WordPress dashboard at the new server. Go to <strong>All-in-One WP Migration<\/strong> &gt; <strong>Import<\/strong> and choose <strong>File<\/strong> from the <strong>Import From<\/strong> drop-down. Select the .wpress file from your computer. The plugin will warn you that the current settings and data are about to be overwritten. After you click <strong>Proceed<\/strong>, you&#8217;ll need to wait for the import to complete.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"866\" height=\"719\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-site.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Using a Migration Plugin to Move to a New WordPress Host 4\" class=\"wp-image-73120\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-site.webp 866w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-site-300x249.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/import-site-768x638.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Make sure your website works as expected.<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Because you made changes to the database, the All-in-One WP Migration plugin will log you out of the WordPress dashboard. You can log back in using the credentials for your old website and start checking whether everything is in place. Don&#8217;t forget to test all pages and click all buttons.<\/p>\n\n\n\n<p>Overall, migrating a WordPress site with a plugin sounds like a no-brainer. You don&#8217;t need to worry about moving files, exporting and importing databases, or using tools you may not be familiar with. However, sometimes, things don&#8217;t go according to plan. Here are a few scenarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Incorrect migration of data and settings<\/strong><strong><br><\/strong>Plugin developers work hard to improve their products&#8217; reliability, but despite this, add-ons occasionally fail to successfully replicate the entire WP configuration from the old host to the new one.<strong><br><\/strong>The reasons for this could be varied and complicated, but the upshot is always the same &#8211; you have to review and re-check the settings of your core, themes, and plugins to ensure everything works.<\/li>\n\n\n\n<li><strong>Exceeded file upload limits<\/strong><\/li>\n<\/ul>\n\n\n\n<p>There are differences in how various migration plugins work, but in almost all cases, you have to export a file from your old server and upload it to the new one. The more data you have on your site, the bigger the file, which could cause problems. The <strong>maximum PHP upload limit <\/strong>applies because you&#8217;re uploading the data through the WordPress dashboard. If you exceed it, the import will be unsuccessful.<\/p>\n\n\n\n<p>There are some workarounds, like transferring it via FTP, but they always involve more work and hassle.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Excessive load, time-outs, and memory exhaustion<\/strong><strong><br><\/strong>Importing and exporting data increases server load. The bigger your website, the more strain it puts on the hardware, and you could compromise the entire server&#8217;s performance. To combat this, hosts often put <strong>memory and execution time limits<\/strong>, especially on shared accounts. If you hit them, the entire process comes to a halt.<\/li>\n<\/ul>\n\n\n\n<p>Some hosting setups give you access to tools that help you lift these limits and complete the migration. However, they&#8217;re not necessarily the easiest utilities to work with.&nbsp;<\/p>\n\n\n\n<p>All in all, transferring a WordPress website from one host to another using a plugin sounds great, but a few potential challenges could hamper your progress. Ultimately, the time you saved over a manual migration could be spent trying to overcome the various hurdles. Be sure to bear this in mind when planning your transfer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Troubleshooting Common Migration Issues<\/strong><\/h2>\n\n\n\n<p>You don&#8217;t need much experience or advanced technical skills to move your WordPress website from one hosting provider to another. The architecture of the world&#8217;s most popular content management system is simple enough to allow even complete novices to do it, and you usually have plenty of tools that help speed up the process.<\/p>\n\n\n\n<p>However, post-migration issues do pop up occasionally. Fortunately, the most common problems are relatively easy to fix. Here are some of them:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Broken links<\/strong><\/h3>\n\n\n\n<p>One of your first jobs after completing the migration is to check if all links on your site are fully functional. This is integral for ensuring the migration has been successful and is also important because broken links can affect your WordPress SEO performance.&nbsp;<\/p>\n\n\n\n<p>But how do you test all your links?<\/p>\n\n\n\n<p>Some SEO plugins can identify and help you fix broken links, though the functionality is often only included in the premium versions. Dedicated browser extensions can also highlight links that don&#8217;t work.<\/p>\n\n\n\n<p>However, your best option is to embed the functionality straight into WordPress. If you go to <strong>Plugins<\/strong> &gt; <strong>Add Plugin<\/strong> in your WP dashboard and search for <strong>Broken Link Checker<\/strong>, you&#8217;ll see quite a few plugins that can actively scan your website, identify links that don&#8217;t work, produce detailed reports, and even provide quick fixes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>File permission issues<\/strong><\/h3>\n\n\n\n<p>A malfunctioning website post-migration could often be attributed to <strong>incorrect file and folder permissions<\/strong>, especially if you see symptoms like the <em>White Screen of Death<\/em>, <em>403 forbidden errors<\/em>, <em>failed theme and plugin installations<\/em>, etc.<\/p>\n\n\n\n<p>Luckily, changing file and folder permissions is fairly straightforward. Crucially, though, you must know the correct ones.<\/p>\n\n\n\n<p>Unless you have applied some custom rules on your WordPress projects, the values you&#8217;re looking for should be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>755 for folders<\/strong> &#8211; the owner can read, write, and execute them.<\/li>\n\n\n\n<li><strong>644 for files <\/strong>&#8211; the owner can read and write them, while other users can only read them.<\/li>\n\n\n\n<li><strong>400 or 440 for the wp-config.php file <\/strong>&#8211; WP&#8217;s main configuration file is critical for the operation of your website, which is why experts advise keeping it in a <strong>read-only state<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>This being WordPress, there are file management plugins that allow you to change file and folder permissions. The thing is, these add-ons don&#8217;t work in all hosting environments, and if you&#8217;re not careful with them, you could break the functionality of other themes and plugins or even the entire website. Furthermore, failing to uninstall the extension after you&#8217;re done is a security risk. All in all, you&#8217;re better off doing it via an FTP client.<\/p>\n\n\n\n<p>The steps are pretty simple, especially if you use <strong>FileZilla<\/strong>.<\/p>\n\n\n\n<p>Connect to your hosting account and navigate to the <strong>public_html<\/strong> folder. Press <strong>ctrl+a <\/strong>to select all the files and folders in your document root and click <strong>File Permissions<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"789\" height=\"414\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permissions.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, File permission issues\" class=\"wp-image-73121\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permissions.webp 789w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permissions-300x157.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permissions-768x403.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>In the <strong>Numeric value<\/strong> field, enter <strong>755<\/strong>. Click the <strong>Recurse into subdirectories <\/strong>checkbox and then click <strong>Apply to directories only<\/strong>.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"316\" height=\"419\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/folder-permissions.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, File permission issues 2\" class=\"wp-image-73122\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/folder-permissions.webp 316w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/folder-permissions-226x300.webp 226w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Click <strong>OK<\/strong> and wait for FileZilla to make all the changes.<\/p>\n\n\n\n<p>When done, press <strong>ctrl+a<\/strong> again to select all the items in your document root. Then, while holding the <strong>ctrl<\/strong> key, click on <strong>wp-config.php<\/strong>. We&#8217;re de-selecting it because we have separate permissions settings for it, which we&#8217;ll apply in a minute.<\/p>\n\n\n\n<p>Right-click on one of the other items and click <strong>File Permissions<\/strong>. This time, the numeric value is <strong>644<\/strong>, and the options you need to select are <strong>Recurse into subdirectories<\/strong> and <strong>Apply to files only<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"322\" height=\"419\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permission.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, File permission issues 3\" class=\"wp-image-73123\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permission.webp 322w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/file-permission-231x300.webp 231w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<p>Finally, select the <strong>wp-config.php <\/strong>file only, right-click on it, and hit <strong>File Permissions<\/strong>. Enter the 400 or 440 numeric value and press <strong>OK<\/strong>.<\/p>\n\n\n\n<p>Note that in some cases, the FTP account you&#8217;re using may not have the privileges to change the permissions to 400 or 440. If it doesn&#8217;t work via your FTP client, you can use your control panel&#8217;s File Manager. Yet again, the <strong>Permissions<\/strong> option is available in the context menu that appears after you right-click on the file. The interface is about as intuitive as it gets.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"707\" height=\"345\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-permission.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, File permission issues 4\" class=\"wp-image-73139\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-permission.webp 707w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/wp-config-permission-300x146.webp 300w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Error establishing a database connection<\/strong><\/h3>\n\n\n\n<p>It&#8217;s one of the most common error messages users encounter when moving WordPress from one server to another. It can appear for several reasons, but luckily, troubleshooting the problem is reasonably straightforward.&nbsp;<\/p>\n\n\n\n<p>Here&#8217;s how to proceed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Check whether the MySQL server is up and running.<\/strong><strong><br><\/strong>WordPress can&#8217;t communicate with the database if the MySQL service on your hosting server is offline. If you use SPanel, you have an indicator telling you which services are operational in the Admin Interface. If the MySQL server is down, try to restart it, and if that doesn&#8217;t work, get in touch with your host&#8217;s support specialists, who will investigate further.<br><\/li>\n\n\n\n<li><strong>See whether the database and MySQL user are successfully created.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Open the <strong>MySQL Databases<\/strong> utility in your control panel and check whether the database and user you created are there. If they are, you can try to re-import the data from your old account again.<br><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Double-check the credentials in the wp-config file.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Often, it&#8217;s all down to a simple typo. Open the wp-config.php file with your File Manager&#8217;s text editor and double-check whether the database name and user credentials are correct. In our case, the database is hosted on the same server as the website, so <em>DB_HOST<\/em> should be defined as &#8220;<em>localhost.<\/em>&#8220;<br><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Repair the database.<\/strong><strong><br><\/strong>If nothing prevents WordPress from communicating with the database, most likely, the database itself is corrupted. Fortunately, WP has a built-in mechanism that can repair it. To enable it, open the wp-config.php file and add the following line:<\/li>\n<\/ul>\n\n\n\n<p><strong><em>define(&#8216;WP_ALLOW_REPAIR&#8217;, true);<\/em><\/strong><\/p>\n\n\n\n<p>Next, go to <em>https:\/\/yourdomain.com\/wp-admin\/maint\/repair.php<\/em>. There are two buttons on the page. The first one simply repairs the database, which should be enough to resolve your issue. With the second one, WordPress also attempts to optimize it and extract a bit more speed from it. The optimization process for smaller databases should last no more than a few seconds. Bigger ones will require more patience.<\/p>\n\n\n\n<p>WordPress will inform you when it&#8217;s done and remind you to<strong> remove the WP_ALLOW_REPAIR line<\/strong> from the wp-config file.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full mpg-gallery\"><img decoding=\"async\" width=\"770\" height=\"398\" src=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/image3.webp\" alt=\"Migrate a WordPress Website: Step by Step Guide, Error establishing a database connection\" class=\"wp-image-73140\" srcset=\"https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/image3.webp 770w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/image3-300x155.webp 300w, https:\/\/www.scalahosting.com\/blog\/wp-content\/uploads\/2020\/08\/image3-768x397.webp 768w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Final Takes<\/strong><\/h2>\n\n\n\n<p>The complexity of the WordPress website migration process depends on many factors, including the size of your project, the data volume, the number of plugins and themes, etc. However, the principles are always the same and shouldn&#8217;t be too difficult to understand.&nbsp;<\/p>\n\n\n\n<p>Furthermore, hosting providers and control panel developers have built numerous tools that make your life much easier. Of course, it&#8217;s still a serious task, with several things that could go wrong. Fixing them won&#8217;t be too much of an issue, even for an inexperienced website owner, but if you want to save yourself the trouble, you can always move to ScalaHosting and leave all the work to our experts.<\/p>\n\n\n\n<p>Feel free to contact our sales team if you need more information.<\/p>\n\n\n<div class=\"shortcode-cta-new-wrap row cloudvps\">\r\n    <img decoding=\"async\" class=\"shortcode-logo\" src=\"\/blog\/images\/shortcode-bg-new-logo-cloudvps.svg\" alt=\"shortcode-logo\" title=\"shortcode-logo\"\/>\r\n    <div class=\"shortcode-cta-img col-10 col-sm-7 col-md-5\">\r\n        <img decoding=\"async\" class=\"shortcode-bg\" src=\"\/blog\/images\/shortcode-bg-new-cloudvps.webp\" alt=\"shortcode-bg\" title=\"shortcode-bg\"\/>\r\n    <\/div>\r\n    <div class=\"shortcode-cta-content col-12 col-md-7\">\r\n        <div class=\"content\">\r\n            <div class=\"heading\">Supercharge Your Business with an All-inclusive Fully Managed Cloud<\/div>\r\n            <div class=\"list-wrap\">\r\n                <div class=\"list\">\r\n                    <div><b>Free, Effortless & No-Downtime Migration<\/b><\/div>\r\n                    <div><b>Anytime Unconditional Money-back Guarantee<\/b><\/div>\r\n                    <div><b>Full Scalability & 24\/7 Expert Cloud Support<\/b><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"btn-wrap row\">\r\n                <div class=\"col-auto\">\r\n                    <a class=\"button green\" href=\"https:\/\/www.scalahosting.com\/managed-cloud-hosting.html\">Start Now<\/a>\r\n                <\/div>\r\n                <div class=\"col-auto\">\r\n                    <button class=\"button brown_outer\" title=\"Contact Sales\" onclick=\"chatChangeVisibility(this, 'maximize', {}, 5);\">Chat with our Experts<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n\n<p><strong>Q:<\/strong> <strong><strong>What are the steps to manually migrate a WordPress site?<\/strong><\/strong><\/p>\n\n\n\n<p><strong>A:<\/strong> A manual WordPress migration typically goes through several key steps:<br>1. Copying files from the old server to the new one<br>2. Exporting data from the old database<br>3. Creating a new database and importing the site data<br>4. Configuring WordPress to work with the new database<br>5. Testing<br>6. Updating the domain&#8217;s DNS settings<\/p>\n\n\n\n<p><strong>Q:<\/strong> <strong><strong>Will my website suffer from downtimes during a migration?<\/strong><\/strong><\/p>\n\n\n\n<p><strong>A:<\/strong> If done right, a WordPress website migration <strong>should involve no downtime<\/strong>. Keep your old hosting account active and your domain name pointed to it. Perform the site transfer and ensure everything works as expected in the new environment. You can then point your domain to the new server, and only then should you cancel your old hosting account if needed.\u00a0<\/p>\n\n\n\n<p><strong>Q:<\/strong> <strong><strong>How long does a WordPress site migration usually take?<\/strong><\/strong><\/p>\n\n\n\n<p><strong>A:<\/strong> The duration of the site migration strongly depends on the<strong> size and complexity of the WordPress website<\/strong>. A fairly small and simple project can take less than an hour. The bigger it gets, the more time you should expect it to take. Large enterprise sites with many custom settings can take a good portion of the day.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thinking of moving your WordPress website to a new hosting provider? The fact that you&#8217;ve landed on this page suggests &#8230;<\/p>\n","protected":false},"author":106,"featured_media":73090,"comment_status":"open","ping_status":"closed","sticky":false,"template":"single-cluster-vps.php","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"none","_seopress_titles_title":"Migrate a WordPress Website Step by Step Guide | ScalaHosting Blog","_seopress_titles_desc":"Want to change your hosting provider but have trouble moving your site? We will teach you how to migrate your WordPress website with minimum effort involved.","_seopress_robots_index":"","footnotes":""},"categories":[39],"tags":[],"class_list":["post-2107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-hosting"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/2107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/users\/106"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/comments?post=2107"}],"version-history":[{"count":21,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/2107\/revisions"}],"predecessor-version":[{"id":73269,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/2107\/revisions\/73269"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/media\/73090"}],"wp:attachment":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/media?parent=2107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/categories?post=2107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/tags?post=2107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}