Situation: My hosting plan (subscribed initially for 3 years at 4.95 USD per month) for a WP CMS on GoDaddy was about to expire and the renewal would cost me roughly 250 USD. I do not want to pay that much.
Action: So the first act was to Google for cheaper hosting plans. Found this service called Hostinger for 0.91 USD per month (used Honey coupons) for 4 years, and 2.5 USD per month from then on. Storage is the same as before, 100GB and can add only one website. My case is a simple blog/portfolio website with minimal load and therefore this plan would work perfectly for me.
TLDR: Basically, make a copy (archive) of the version hosted at GoDaddy and upload it to the new host. Change the DNS of the website (initially bought from GoDaddy) to the name server suggested by the new host as well.
Details: Make a complete backup of the site using the “All-in-One WP Migration” plugin for WordPress. Download this file to your computer – the file has a .wpress extension. It is better to use an older version of this plugin since the newer version might get stuck during the restoration step due to timeout or by overloading the new (cheap) host. Then install WordPress CMS in the new hosting service. Now install the “All-in-One WP Migration” plugin for the new WordPress site. Then import the old backed-up version from the AIOWPM plugin, now available in the WP Dashboard. Follow the steps shown after the restoration process completes. After importing, change the DNS settings to point your new hosting server. In my case, I went to my GoDaddy products page and clicked on Manage DNS to edit the default DNS name servers. That’s it.
If all of this is completely new or was done long time back, a nice summary of how hosting and DNS name servers work can be found here.
For the reuploading step, the new site might not initially let you upload backup files larger than 64MB (default). This can, of course, be modified by adding some PHP magic to the .htaccess file. In my case, the file was around 350MB, so I modified the .htaccess file (using the Hostinger File Manager/Editor) to add/modify the following lines (post_max_size):
php_value upload_max_filesize 128M
php_value post_max_size 512M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
After: Visually nothing has changed. I was also able to restore my posts, files, media, comments, pages, users, themes and plugins from the old website. This is my first post from the Hostinger WP CMS.