Something I do almost daily in my day job as a web developer but something that everyone that owns a WordPress site should know how to do. This key skill is useful not only for when you are moving hosting providers but also for when you are wanting to make risky changes on your site.
The way I prefer to move websites these days is with a plugin called Duplicator. I use the premium version as it allows for moving even the largest of sites with ease but the free version will be good enough for most people.
Step 1: Install the plugin
Head over to Plugins > Add New and search for "duplicator". The free version is available in the WordPress.org plugin directory and will show up in the search results. Once you have found it click install then wait a few seconds and click activate.
Step 2: Build a package
Once installed a new item will show near the bottom of the WordPress admin menu called Duplicator. Click this and you will be presented with a screen showing you have not yet built any packages. Click "Create New" on the upper right-hand corner followed by the "Next" button and wait for the scanning to finish.
We leave all the settings as the defaults on this page as we are just wanting a straight copy of the site with no changes made during the copying process.
After the scanning is complete click "Build" and wait again for your files to be prepared and made available for download. Once they are ready download both the installer.php and the site archive.
These two files at this point make a great backup of your site and if that is all you want you can save them in a safe place and stop here.
Step 3: Installing a site
When you are ready to install a copy of your site you simply need to upload a copy of the installer.php file and website archive file you downloaded before to the location you want to install your new site in. Then visit the location in your browser for example
mynewwebsite.com/installer.php and follow the steps in the wizard.
Once extraction is complete you will be asked to provide login details for your new database which your hosting provider will be able to provide you with and once these are complete your website will now be online and ready in its new home.
Your login details will have remained the same as they were before you moved the site and once you have logged in for the first time Duplicator will do a little cleanup work to make sure your site is ready for use.