Move WordPress Blog from AWS Instance to GoDaddy Managed WordPress Hosting

Here are the steps to move your WordPress blog website setup off from Amazon Web Services (AWS) Windows Server 2012 instance to GoDaddy Managed WordPress hosting.

 

Amazon Web Services (AWS) Windows Server 2012 instance:

  1. Backup your WordPress IIS Web Folder
  2. Backup your WordPress MySQL DB using
  1. Export to Dump Project Folder (recommended if you have large size tables in your DB, generates .SQL file for each table, using this .SQL file you can recreate the same table on other DBs)
  2. Export to Self-Contained File (recommended for small size tables usually for small websites, so that all tables data will be combined into a single .SQL file)

 

Update .SQL files exported from AWS with the new GoDaddy’s MySQL DataBase and table names

  1. Update your exported .SQL files to reflect the new DataBase and table names
  1. By default when you export your WordPress MySQL tables into .SQL file it will contain your DB and table names.
  2. This results in error if you try to import these files into different MySQL or GoDaddy server
  3. You need to update the exported .SQL files with the new GoDaddy’s MySQL database and table names
  4. Find the SQL Database name and WordPress table prefix from GoDaddy’s setup
  1. Make a note of your phpMyAdmin Url and login Details from GoDaddy WordPress hosting setting page
  2. Login to phpMyAdmin URl with the credentials
  3. You’ll find the database name in the left pane of phpMyAdmin
  4. First you need to find the new Database prefix used on your GoDaddy WordPress installation which you can find in wp-config.php file on GoDaddy SFTP folder.
  5. In wp-config.php file, you can find the prefix mentioned in “$table_prefix”  variable
  • Update exported .SQL files
    1. You can apply the change either to just Self-Contained File or each .SQL file of exported Dump Project Folder
    2. Given that you’ll have the DB already created, you can DELETE the first line of exported .SQL files which reads DB creation command like below
    1. CREATE DATABASE  IF NOT EXISTS `wordpress0073` /*!40100 DEFAULT CHARACTER SET utf8 */;
  • Search and REPLACE the WordPress database name to be used in each .SQL file
    1. It’s usually be the second line in your exported .SQL file
    2. it looks as: USE `wordpress0073`;
    3. Replace the DB name with your WordPress MySQL DB name
    4. Replace it across all the .SQL files
  • Replace the table names since the GoDaddy WordPress uses a different prefix
    1. in each of the .SQL file, search and replace the OLD wp_prefix_<tablename> with NEW wp_prefix_<tablename> globally.

     

    GoDaddy Managed WordPress hosting:

    1. Start your new managed WordPress site on a temporary domain/website
    1. Choose “Use the temporary domain <tempodomainname>.myftpupload.com”
    2. Set your temporary site WordPress Adin login details
    1. New WordPress username
    2. Email address
    3. New WordPress password
  • Use your WordPress admin login to get into the dashboard view of your WordPress site.
  • Upload your WordPress web site content files
    1. Make a note of your SSH and SFTP hostname and login Details
    2. Using WinSCP, SFTP to the GoDaddy’s SFTP host
    3. Copy your WordPress Folder\wp-content folder to your /home/<your-godaddy-username>/html/wp-content folder
    1. to ensure successful copy, verify the files and folder size and count once copy is complete
    2. do not delete/remove /wp-content/mu-plugins folder
  • Upload your MySQl DataBase files
    1. Make a note of your phpMyAdmin Url and login Details
    2. Take a backup of the default MySQl tables, just in case if you need to restore any thing back.
    3. Delete all the existing tables from your MySQL instance database
    4. Use “Import” option to load all your WordPress MySQL tables
    1. Click on Choose File and select
    1. modified “Self-Contained File” Or
    2. each of the modified SQL files of “Export to Dump Project Folder”
  • Upon successful import of all .SQL files, verify the overall Rows in each table and table sizes
  • Update the wp_prefix_usermeta and wp_prefix_options tables with new “wp_prefix_” for below keys:
    1. To find the key with old wp_prefix use below queries
    1. <wp_*>_capabilities:  Select * from wp_prefix_usermeta WHERE meta_key LIKE ‘wp_%’
    2. <wp_*>_user_roles:  Select * from wp_prefix_options WHERE option_name LIKE ‘wp_%’
  • You’ll primarily need to update below two key names, I recommend manual update to avoid any unexpected updates using SQL queries.
    1. In wp_prefix_usermeta table, rename
    1. <wp_*>_capabilities to <wp_newprefix>_capabilities
  • In wp_prefix_options table, rename
    1. <wp_*>_user_roles to <wp_newprefix>_user_roles
  • Update your GoDaddy Managed WordPress domain to use your actual website domain name
    1. Logon to GoDaddy’s WordPress Hosting GateWay to see your managed wordpress site
    2. Click on Settings > Add Domain > provide your domain name, if your domain is also from GoDaddy you’ll see it automatically populated for you. 
  • Ensure your website Domain name is pointing to the correct name server and the DNS zone has entry of your new GoDaddy hosting DNS server IP-address
    1. In case your domain name as well is hosted on GoDaddy, you just need to set your domain name server settings to use Standard option for setup type.
    2. Standard option for GoDaddy’s name servers, automatically connects your domain to GoDaddy’s DNS ZONE FILE.  
    3. You’ll notice a preconfigured “A (Host)” record existing and pointing to your WordPress DNS IP-Address.
    4. if you have updated the DNS for your website, you’ll need to wait for couple of hours or days for your domain IP address changes to propagate across the geographical locations.
  • Now logon to your WordPress website admin dashboard using: www.<Your Domain Name>/wp-admin
  • Note, since we restored the wp_prefix_users.SQL file from previous AWS installation, the username and password as well will be restored to the WordPress admin setup previously.
  • Leave a Reply

    Your email address will not be published. Required fields are marked *