Save Your Site’s Files, Transfer Databases, and Setup Applications.
If your hosting provider doesn’t offer free migration, you can accomplish the migration yourself without much difficulty.
To move your WordPress-powered website you will need to do the following:
Transfer the WordPress engine files. This is optional if your host has a WordPress installer
Transfer site files (i.e. uploads, themes, and plugins)
Migrate the database containing your blog posts, pages, comments, and WordPress settings
Update the WordPress configuration
The easiest way to accomplish the migration, short of having your hosting provider do it for you, is to use a plugin like All-in-One WP Migration. You install it on your existing site. It then exports all your files and even your database to a portable package.
Install a clean, new version of WordPress on your new server and add the All-in-One WP Migration plugin to that installation. Then, within the plugin’s configuration page, choose the Import Site. You then drag the site package you previously exported right into the plugin, whereupon it will restore your old site right over the new installation.
If you’re the DIY-type, you can do everything by hand.