In his presentation at WordCamp Austin 2013, presenter Chris Weigman, Senior Developer at Springbox, talked about the steps required in moving domains and changing web hosts.
Why Move a Domain Name?
- You’ve outgrown your shared or other host
- You want a new host
- You want a development site
- You’re rebranding your site
- You picked the “wrong” domain name
What are Domain Names?
- Associating number, called an IP address, with short handle
- A numerical name assigned to every device on the internet
- Maps a human readable name to an IP address
- Example: Facebook.com is the same as
- 0:0:0:0:0:ffff:adfc:6e1b (IPv6 Expanded)
- 10101101.11111100.01101110.00011011 (binary octets)
- 2919001627 (decimal)
- 173.252.110.27 (IP address)
Doman Names and WordPress
- Your server your host on has an IP address
- IP addresses are set in DNS
- Many shared hosts have many sites on a server
- This is why you can’t often to your site by just entering the IP address
- You’re have to pay for a unique IP address to access it directly
- DNS entries are cached–often for days
- Tip: Don’t register your domain name with your web host If you get locked out of the web host, you will also get locked out of your domain name.
Changing Hosts
- Services that provide easy migration:
- What you will need for manual migration:
- A good backup
- Access to DNS
- Direct access to database on both hosts
- Access to wp-config.php and .htaccess files
- New username and password
- What you will want:
Preparing for the Web Host Move
- It’s easier to deactive on old host and reactivate on new host
- One week out from the move:
- Lower the TTL (Time To Live) setting on your domain to 1 minute
- One day out from the move:
- Make sure you have access to files and databases on both hosts, passwords, addresses, etc.
The Web Host Move
- Create a fresh backup
- Create a database on the new host
- Write down database name, username, password
- Use navigate to copy the old database to the new host
- Use forklift or ftp app to cover over all the files
- Edit wp-config.php
- Update database name, db username, password
- Update path info if preset (you’ll have to get this from your host)
- Update .htaccess, if necessary
- It’s easier to deactivate and then reactivate plugins
- Change the DNS address (and it will take time to propagate through the Internet)
- Test the site to see if it’s changed.
- If something goes wrong, simply change back DNS and start over
After the Web Host Move
- Increase TTL on your DNS to one day or more
- Close old hosting account
Moving Web Hosts Tips
- If you’ve outgrown your shared host don’t get another shared host
- Warn your users that a move is happening
- Test your backup
- See if your host can migrate it for you. Most web hosts offer services to make this move for you.
- Use a migration service (such as VaultPress Premium)
What to Watch Out When Moving Web Hosts
- Domain/host are on the same account
- Plugin settings — some plugins will need their settings resaved
Changing Domain Names
- A domain name is nothing but an alias to the IP address of your site
- What you will need:
- IP address of your host
- Access to your site via FTP/SFTP
- Note: cPanel or other host access will work as well
- The username/password of your database
- In WordPress, found in the wp-config.php file
- Search and Replace DB
- This small PHP script replaces every instance of old domain name to your new database with your new domain name.
Moving Domain Names
- Step 1: Backup your database
- Step 2: Point your new domain to your server
- Make sure you update every record that you need to change
- Step 3: Setup your domain with your host
- How it’s done varies from host to host
- Leave your old domain in place (for now)
- Step 4: Verify your new domain has taken to your site.
- It’s okay if the site itself is broken when you get there or redirects to the old domain)
- Step 5: Update the database
- Upload Search and Replace DB
- Enter database details
- Search for: [old domain]
- Replace with: [new domain]
- Delete Search and Replace DB so no one else can use it.
- Step 6:
- Update the .htaccess and wp-config.php
- Replace any instances of the old domain name
- Update the .htaccess and wp-config.php
- Step 7: Clear cache on any caching plugins
- Step 8: Test the site
- Step 9: Update ogle Webmaster Tools, Google Anaytics, or any other services
- Step 10: Wait a week to verify everything is working
- Step 11: Deelte or redirect the old domain to the domain name with mod_rewrite in the .htaccess files:
RewriteCond %{HTTP_HOST} ^old.domain.com [OR] RewriteCond %{HTTP_HOST} ^other-old.domain.com [NC] RewriteRule ^(.*)$ http://brand.new-domain.com/$1 [r=301,L]
Tips for Moving Domains
- Keep domain name separate from you web host
- Watch Google very closely
- Don’t turn off the old domain, just redirect it.
What to Watch Out When Moving Domains
- Make sure the domain works before you switch the database
- Use a maintenance plugin
Create Dev Environment
- Create a domain name for your computer or local IP
- http://www.whatismyip.com/
- XAMPP, MAMP — doesn’t need to be a real domain name
- Copy Files and database to local computer
- Changing domain name and host
- Use GitHub/DeployHQ
- Separate branch for production/dev/merge and deploy
- Use host staging area (WPEngine and others) if not a developer
Putting It Together
- Changing domain names really just require changing the database and .htaccess/wp-config.php to replace the old with the new.
- Changing hosts requires only the changing of the server address and updating the wp-config.php on your host once database and files are directly copied over
- A dev environment is just copying host and a new domain to your local machine.
- The 2 biggest point of failure
- Not making sure the new works before turning off the old.
- System failure without a backup.