Objective
In order to migrate a wordpress website from a shared hosting to a VPS one need to know the gerenal thing you need to do could be more than a simple migrate from a shared hosting to another. So This post will shared with you the 5 things to note when you migrate your wordpress site from a shared hosting to a VPS
VPS vs Shared hosting : 5 Things to note
Shared hosting do provide quite a few important services that the VPS do not have:
1, Shared hosting provides FREE email domain accounts via webmail yet you could make them work with mail apps in mobiles well. VPS do not provide domain email nor SMTP sent mail services, you need to use a third party email service to do it.
2,Shared hosting has a panel to help you manage your account, its not user friendly but you get most work done nevertheless. VPS do not have panels and panels such as Cpanel are resource hungry and costly too. Even Free panels such as cyberpanels etc are resource hungry too.
3,Shared hosting are very limiting in their resource, even a simple backup could create a sharp rise in resource usage. And you will receive a urgent email from the hosting to “discuss” upgrading your account. Their resource tracking may not be accurate too. VPS offers something better as you can upgrade your resource at a cheaper price compared to shared hosting. eg Im on a shared hosting plan at renewal price of $4 per month and the company immediately wants me to upgrade to their PRO plans at S14 (350%) per month. And the upgrade provides a lot of thing my simple website do not need and the service personal said its for me! To upgrade a digitalocean plan, its $5(100%) more to double your cpu, storage space and bandwidth. You will be have a slowed down website when your site hit the cpu limit of the VPS.
*unlimited or unmetered bandwidth is a marketing term, when you hit the limit you will be warned and a service personal will try to email you to upgrade or suspend your account.
4, Shared hosting is quite slow as you are sharing resources with hundreds of users. VPS are shared too but you have one vCPU and other resources for yourself only. but you are to be solely responsible for your server.
5, For any WordPress site, you need backups yet backup processes are resource hungry. In Shared hosting you will try to limit backup to once a month. But in VPS you create a snapshot and its quick and easy. regular snapshot are not charged as of jun 2021 which makes thm FREE!
10 Steps to migrate your WordPress site fully from shared hosting to a digitalocean VPS
Step 1 Backup your old site and save a copy in your PC
First you need to look for a plugin called “All-in-One WP Migration” from Servmask. login to your wordpress site admin panel. Click plugins and click “Add New”. from the search box enter “all in one” and the first choice is the All-in-One WP Migration. Click install and click activate.
Then you need to go to the left menu and look for “All-in-One WP Migration“, click on it and you will come to a export site form.
Click “export to” and choose file from the dropdown list. And then the export process will start and you have to wait a while for it to complete.
Once completed you will see a “download” button and click on it. you can download the file to a download folder in your PC. Congratulations t you as now you have a copy of your whole site.
The file name is yourdomain + date.wpress.
Step 2: setup your digitalocean account and create a droplet
First, you need to setup a Digitalocean account. When you click on the link below you will get $100 in credit for 60 days FREE:
Secondly, Click “+ New project”, and then Name your project properly. Add a description and a tag if you desired to and click create a project.
**for easy management of droplets, its best practice to organise your droplets in projects where one project houses the resources for that project only.
Click to your new project name, then click the Create button and choose Droplets to create a VPS or droplet.
Now most people have the their wordpress in ubuntu, apache, php and mysql, so in “choose a image” click marketplace and choose “WordPress by DigitalOcean”
At choose a plan, choose the Basic and click “Regular Intel with SSD” option. (this is about USB$5/month.)
At Choose your data center region, choose the one close to your customer region.
At select additional options, please click monitoring. So you can check on your usage.
at Authentication choose password and the next line create a root password, key in your root password. take note of the below requirements: the password …
- Must be at least 8 characters long
- Must contain 1 uppercase letter (cannot be first or last character)
- Must contain 1 number
- Cannot end in a number or special character
*Do take a paper to put down the password.
Now you can click on create droplet.
The process will take a few minutes and after it was completed, you can click on your project and you will see a droplets column.
below it is your droplet information
green dot = droplet is live
name of droplet
ip address for your droplet **you need to write down this too
The rest is not important
Step 3 Login to your droplet to start the WordPress installation
Now from the project screen, click on the blue droplet name once.
And you will come to a graph page. on the top row, you will see a console on the right hand side. Click on Console and you will be directed to a black login screen like DOS.
when it say …….login, key in root
then at password, key in your password your wrote.
and then the automated WordPress install script will run all the necessary commands to install your WordPress site.
now you can press control and C to exit the script when it asked you whether you want to setup SSL..
and type in exit to exit the screen. **you need to click on the windows X button to close the window.
Step 3 Setup New wordpress site and install the needed plugins
In order to goto your wordpress new site setup scrren you need to open your browser and at te address bar key in to ip address you copied on your paper and press enter.
you will see the not safe to view screen, just click advanced and view the site.
Setup the wordpress site following the installation script
1. Choose your language, continue
2. Write your Site Title
3. Your username (Where you can manage your website in the backend)
4. Set a strong password
remember to write the WordPress username and password down as you need it to log into the wordpress admin panel.
5. Put your email address
6. Hit, install WordPress
Now login to the admin panel for WordPress site at ip/wp-admin. And you will see a new wordpress site.
Goto Plugins and add new, search all in one and choose All-in-One WP Migration, install it and then activate it.
Now new versions of All in One WP migrate has restricted upload file size to 40 mb which is not enough for most small and medium sites. So you need to download a plugin in zip file here by clicking the button below:
After downloading the plugin, goto wordpress admin panel and choose plugins, add new and choose upload plugin. At the form Choose choose file and upload the above zip file. Install and activate it.
Now at the All in one WP migrate screen you click import and the file size is upped to 512 Mb.
If you need more you can pay $69 one time to have unlimited upload file size by ckicking the button below:
After the import of the old site file, the site will restart and you have to login the ip/wp-admin with the old site user name and password.
Congratulations to you, you have migrated your site. Now to see the site, enter your ip in the address bar of the browser.
Step 4 Domain and SSL
Now you need to associate your ip to your domain. and the first step is to login into your domain registrar’s account. here are the common ways to do it.
take a look at the site below to learn how to point your domain nameserver to digitalocean droplet
https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
Next you need to add domain to your digitalocean project using the following way:
https://docs.digitalocean.com/products/networking/dns/how-to/add-domains/
Now you will need to wait 25 minutes to 6 hours for the dns to work.
Now to setup SSL you need to go to console again, login and it will start a SSL setup script.
It will run the script, ask for your domain, ask if you want ssl, click yes. enter nothing so both www and domain got SSL. after that it would ask for a WordPress user id, passwords and blog title etc, just fill in something as it would not break your old site on the droplet anyway. The server will reload after this and you need to login your WordPress again.
Now you will at your domain, your wordpress site loads with ip address of the droplet. That is not graceful so you need to go to Settings and General. And look at the WordPress Address (URL), change to https://yourdomain.com and the Site Address (URL) also do the same thing. Click Save changes.
then go to check Permalink, make sure its common settings is at Post name. Click Save changes.
now reload your page and you will see the URL is yourdomain.com with a black lock in a locked position.
Step 5 : domain email service and SMTP sent email service in your site
I choose Google workplace starter to provide me with Domain emails like yourdomain@youdomain.com, or support@yourdomain.com so your customers can identify your email straight away and your email sent will not be sent to the junk mail quickly.
It comes with the following services at USD 6 per user per month
- Custom and secure business email
- 100 participant video meetings
- 30 GB cloud storage per user
- Security and management controls
- Standard support
So our costs a month is only usd 11 a month, which is so much cheaper than the renewal prices for any shared hosting plans except for those long term plans that offered 3-5 years for 8.99 per month yet you need to remember you will be paying for 3 to 5 years which could be a huge sum of money. For VPS and google workplace domain email, you pay for what you use monthly.
(Beware, unlimited bandwidth, unmetered bandwidth, unlimited webspaces, they are LIMITED, you will be warned by email when you reached their limits, which is very real. I backed up my site and the plugin used too much resources that it created a spark and the service personal wants my to upgrade to the best plan “according to my needs.”
You can setup Google workplace in the following 4 steps:
quick overview of the steps that you’ll need to take to set up Google Workspace (G Suite) with your website and professional email address:
- Register an account and go through the Google Workspace (G Suite) setup wizard via https://workspace.google.com/pricing.html
- Add other users to your account (optional, skip if you the only user)
- Verify domain ownership with Google by adding a TXT record to your DNS records
- in google workplace wizard, copy the required text and goto your digitalocean screen, click manage, then open your networking menu, click domains, click the blue domain that you want to use your google workplace email, click the “txt” tag and click the “paste your text here” and paste the text into this box. At Hostname, enter @ and click create record.
- It will take 25 minutes to 6 hours to verify domain. But when your google workplace wizard screen shows verified then its done
- Set up email by adding MX records.
- In digitalocean screen, click manage, then networking, then domains, and click the yourdomain blue words. click on the mx tag. and click Add gmail MX record and its done.
- you need 25minutes to 6 hours to complete the process.
Next you need to setup SMTP in your wordpress site if you use transactional emails to your customers for common things such as receipts or invoices etc. In default, VPS do not have SMTP (email sending capability at all). And I have a FREE solution for this, its Sendinblue, The limit is that you cannot sent more than 300 emails a day. and that is quite a good deal. When you click the below link, Click Sign up at the FREE column. You will have free 300 email outgoing everyday.
Next you need to setup your WordPress site to use SMTP.
Step 1, After you setup your sendinblue account, Click the big + sign at the top middle of the screen. In Apps, make sure Transactional Emails is ON.
Step 2 find you API v3 Key by clicking your Account name at the top right hand corner of the screen -> SMTP&API -> API v3 key
you will see a Your API Keys and copy the string of characters in the box “API KEYS’.
Installing the plugin
- Login to WordPress as administrator
- Go to Plugins > Add New, find the Sendinblue plugin and Install it
- Activate the Sendinblue plugin and go to the plugin
Connect to Sendinblue
Now that the plugin is installed, it’s time to connect WordPress and Sendinblue:
- Go to your store Admin panel in WordPress
- Click Sendinblue Logo on the bottom of the LEFT side menu list
- Enter API v3 key from your Sendinblue account (Account -> SMTP&API -> API v3 key)
- Click Login
- make sure you click the button black under “Transactional emails” , “Activate email through Sendinblue”
- at the third line, you can check by entering your email and sent a test email to your email.
Step 6 : misc. updating of WordPress data especially those with ecommerce links.
This is a new site with the old look, you need to check 3 things to make sure every details are up to date.
1, All your product pages have updated their download links properly. You do not need to reupload, just point those ip links to the correct domain name links.
2, make sure the pictures of the products and samples are intact.
3, buy with the store with a test account to check if all the processes are running smoothly.
Conclusion
Now that you have been through the whole migration of a WordPress Site from Shared Hosting to VPS in digitalocean. How do you feel. As long as you follow the steps one step at a time, you will migrate your sites too.
FAQ
1, What if I cannot create a droplet as I have reached my droplet limit?
Please go to your digitalocean account, click settings, and find personal account. Under the tag you will see droplet limit. click on the blue number and submit a form to increase your droplet number to your desire amount with a specific reason. and its done. the effect will be almost immediately.
2, How to get Digitalocean account at a cheaper rate?
Get Digitalocean account via this link https://m.do.co/c/d1fed8e0c7f1 to get $100 in credit over 60 day for FREE. You can destroy all droplets and no cost will be incurred later on.