Newbie bloggers or site owners often ask how to make the site load faster on shared hosting, and they know the limitation. And after going through a few frustrations moments, they want to move out from shared to cloud hosting. One of the first cloud hosting platforms that comes in mind is DigitalOcean. DO is excellent to get it started; its cheaper than AWS and GCP, scalable, fast, and offers all the features you can expect. But, setting up a site is challenging if you are not familiar with system administration tasks. DO give you the OS and everything you need to take care of yourself. You can also opt for Cloudways web hosting and set up a DigitalOcean web server in just a few clicks if you don’t want to get into all those server configuration technicalities. They also offer Digitalocean Premium Droplets. After receiving many questions through email about how to set up the WP site on DO, I thought to put together a procedure for a broader audience to get benefited. Before getting into technical implementation, please note – DO is not a domain registrar. Which means you can’t buy a domain from them. I assume you already have a domain, and if you don’t and want to get a new one, then buy from Namecheap. Let’s get it started… There are multiple ways to set up WordPress, but one of the easiest ways I’ve found is by using EasyEngine. In this tutorial, we will use EasyEngine to install all the necessary software and create a WP site.

Getting a DigitalOcean Server

DO has data centers in multiple locations globally. Choose closer to your audience.

Login (Sign Up if you don’t have an account yet) into DigitalOceanCreate new droplet and choose Ubuntu 18.x as OSChoose a droplet plan based on the requirement, but if you are starting by then 2GB or 3GB RAM should be okChoose to monitor as an additional optionGive hostname and click create

It will take around one minute, and you should see the newly created server listed there. DO would send the server credential to your registered email.

Log in to the server with the given credential and IP using the SSH client

When you log in for the first time, it will prompt you to change the password. That is expected and recommended to change to a complex password.

Installing EasyEngine

Once the server is ready, its time to get EasyEngine (EE) installed. EE is a great automation script that helps you to create multiple types of sites with a simple command. The good thing about EE is that you don’t have to worry about setting up individual components like Nginx, MariaDB, Redis, PHP, etc. Everything is taken care of in the background, and it is completely FREE! The latest version of EE leverage Docker but again, you don’t need to know about them. EE is production-ready and loved by thousands of heavy-traffic sites. Let me show you how easy it is to use EasyEngine. I assume you are still logged into a DigitalOcean server.

Let’s update by executing below command

And, install the EE with the following command

It will take a few minutes to install the necessary software in the background and once done, and it will take you to the prompt. This concludes EasyEngine is installed and ready to use.

Creating a WordPress Site

EE has an option to create a WordPress site with Redis cache, which performs better. I use Redis on Geekflare and happy with it, so I would recommend trying that. Let’s create a WP site on a domain with Redis cache. Above, I am using ee command to create a site with domain name geekflarelab.com and type as WordPress with caching option. It will take a few seconds, and you should see a successful message like the following. Great, so my WP site is created. EasyEngine takes care of Nginx, database, PHP optimization, so you don’t have to perform any changes Its time to test it. Do you think it will work when I hit geekflarelab.com? No! I got to update A record of a domain to point to DigitalOcean server IP.

Log in to the domain registrar console and update the A record.

Now, I can access geekflarelab.com You see, in just a few minutes, I have WP running on DO cloud server. I would also prefer doing the following.

Changing SSH Port

By default, SSH port is 22, and everyone knows. This helps an attacker to perform a brute force attack, and if the server password is weak, then your server might get hacked. Changing the default port to something else would be a quick win. I’ve explained how to change the SSH port in the below article.

Implementing SSL/TLS Certificate

It is mandatory to have your site over HTTPS, and the good thing about is you can get it free. If you don’t want to get into lengthy technical implementation, then I would recommend trying Cloudflare. Cloudflare offers FREE SSL, along with other performance and security advantages.

Securing WordPress

Don’t leave WordPress un-secure. There are multiple plugins available, but if budget allows, then go for a premium solution. You can choose to either go with the Cloudflare PRO plan or SUCURI. Both offer comprehensive performance and security features, including FREE SSL cert, DDoS attack prevention, OWASP top 10 vulnerabilities mitigation, etc..

How fast is the DigitalOcean WP site?

Well, it is difficult to generalize this as every site is unique. But, just to give you an idea, I did some load tests, and here is the result. I installed the Authority Pro theme by StudioPress and put some dummy posts to test using Blazemeter. Pretty amazing. Isn’t it? As you can see, the test was done with 50 users for 5 minutes from North California, and the result is terrific.

Average response time – 351.19msError – 0%

Anything less than 1 second is impressive.

Conclusion

If you are on shared hosting and looking to move out to the cloud and ready to spend time setting up, then DigitalOcean would be a good choice. However, if you don’t have time and skills in managing yourself, then I would recommend taking a look at Kinsta. Kinsta is a premium managed WP hosting platform that leverages the Google Cloud Platform to offer the best performance and security.

How to Setup Fast Loading WordPress Sites on DigitalOcean  - 71How to Setup Fast Loading WordPress Sites on DigitalOcean  - 38How to Setup Fast Loading WordPress Sites on DigitalOcean  - 12How to Setup Fast Loading WordPress Sites on DigitalOcean  - 80How to Setup Fast Loading WordPress Sites on DigitalOcean  - 51How to Setup Fast Loading WordPress Sites on DigitalOcean  - 36How to Setup Fast Loading WordPress Sites on DigitalOcean  - 9How to Setup Fast Loading WordPress Sites on DigitalOcean  - 8How to Setup Fast Loading WordPress Sites on DigitalOcean  - 9How to Setup Fast Loading WordPress Sites on DigitalOcean  - 58How to Setup Fast Loading WordPress Sites on DigitalOcean  - 20How to Setup Fast Loading WordPress Sites on DigitalOcean  - 46How to Setup Fast Loading WordPress Sites on DigitalOcean  - 88How to Setup Fast Loading WordPress Sites on DigitalOcean  - 11How to Setup Fast Loading WordPress Sites on DigitalOcean  - 15How to Setup Fast Loading WordPress Sites on DigitalOcean  - 97How to Setup Fast Loading WordPress Sites on DigitalOcean  - 35How to Setup Fast Loading WordPress Sites on DigitalOcean  - 78How to Setup Fast Loading WordPress Sites on DigitalOcean  - 31How to Setup Fast Loading WordPress Sites on DigitalOcean  - 43How to Setup Fast Loading WordPress Sites on DigitalOcean  - 74How to Setup Fast Loading WordPress Sites on DigitalOcean  - 20How to Setup Fast Loading WordPress Sites on DigitalOcean  - 29How to Setup Fast Loading WordPress Sites on DigitalOcean  - 61How to Setup Fast Loading WordPress Sites on DigitalOcean  - 55How to Setup Fast Loading WordPress Sites on DigitalOcean  - 1How to Setup Fast Loading WordPress Sites on DigitalOcean  - 41How to Setup Fast Loading WordPress Sites on DigitalOcean  - 8How to Setup Fast Loading WordPress Sites on DigitalOcean  - 11How to Setup Fast Loading WordPress Sites on DigitalOcean  - 31How to Setup Fast Loading WordPress Sites on DigitalOcean  - 6