I had to move a site to another hosting. The site was complex and included also woocommerce shop. Duplicator plugin did all this job for me in minutes.
Install the plugin, go to its settings and create a package for duplication. It will include all of your files and database backup + installation php page.
You don’t need to install wordpress again on your new host. Just upload this 2 files you had created to the new destination. Try to create the same file structure as it was before to avoid any problems. Go to installer page on your new host and follow the wizard. User guide provides all help needed. Check that database can be connected successfully before you proceed.
For me it cloned woocommerce site to the new destination. I’ve put my site on another hosting with the same domain, using the host file. When I checked the site, some ecommerce features in checkout were not working well, probably because of paypal security policies, but after I changed DNS to the new host everything became operational again.
If duplication completed successfully, check everything, regenerate permalinks etc. If your wordpress like mine was not in server’s root, like I describe here, you’ll have to make it go to the root again. Just a great plugin!