How to Setup Fast Loading WordPress Site on Google Cloud?

A step-by-step guide to launching high-performance WordPress
site on Google Cloud Platform (GCP) using Easy Engine.

When you start as a blogger or running a small business then
shared hosting is fine as it cost
less and no hosting skills required to install/setup/maintain
the infrastructure platform.

However, when your traffic or user base increase then you need
a robust hosting platform to serve millions of
without slowing
down the site .

There are some premium
hosting providers for heavy traffic website, but that would
easily cost $100+ per month.

Note: Kinsta recently announced
starter plan starting at $30 per month which leverage GCP.

However, if you are ok to spend a little bit of time in
learning and doing by yourself, then you can think about
VPS/Cloud servers.

In this article, I will explain how to get WordPress site
running on Google Cloud Platform in less than 15

This setup would cost around $20 per month and
ready to serve 500,000 page views per month.
Post setup, I will do a
load test to verify the performance.


  • I assume you already have a domain, if not you can buy from
    Namecheap or Google.
  • Google cloud account with billing enabled
  • Some WordPress theme but I will use Newspaper by Tagdiv

Provision New Google Cloud Server

  • Login to Google Cloud and go to Compute Engine >> VM
    Instances ( direct link )
  • Click “Create Instance” and enter the required information
  • Select the zone (choose the nearest location of your
    targetted audience)
  • Choose the machine type (I will choose g1-small)
  • Change boot disk to Ubuntu 16.04 LTS and boot disk type to
    SSD persistent disk with 10 GB size
  • Allow HTTP and HTTPS firewall and click

In few seconds, you will have the new instance ready.

Installing WordPress using EasyEngine

There are multiple ways to install WordPress, but one of the
easiest ways is using EasyEngine .

EasyEngine is script wrapper which takes care of installing
required components like a database, PHP, Nginx, WordPress,

If you
install them manually, then it may take longer and room for
human errors.

  • Login to newly created Google Cloud VM and switch to root
    user Note: it’s recommended to setup

Note: it’s recommended to setup sudo access to
root from a normal user in production, but in this exercise, I
will use root.

  • Install EasyEngine with the below command
wget -qO ee && sudo bash ee

It will take a minute or two and once done; you will be
returned to the prompt

Now it’s time to create a WordPress site. EasyEngine gives you
an option if you want to install WordPress
with caching plugins .

Currently, it supports WP Super, W3 Total, Nginx, Redis. I’ve
tried all and Redis always performed better
for me.

  • Let’s create a site with Redis cache.
ee site create --wpredis

Above, I am asking EasyEngine to create a site for (It’s my lab domain) with Redis cache.

  • You will get an experimental information configuration,
    type ,y and press Enter
 [email protected] :~# ee site create --wpredis
Redis is experimental feature and it may not work with all CSS/JS/Cache of your site.
You can disable it by changing cache later.
Do you wish to enable Redis now for
Type "y" to continue [n]:y

It will take few seconds, and you will be returned to the
prompt with WordPress login credential.

WordPress admin user : Chandan
WordPress admin user password : GBHkx9lgawfErje
Configure redis-cache:
Object Cache: Enable
Successfully created site
 [email protected] :~#
  • Save the password in secure place.

WordPress is successfully installed, and it’s time to point
your domain to server IP.

Getting Static IP

By default, Google Cloud assign an ephemeral
to the instance which you don’t want to configure
with the domain as it may change in next instance reboot.

To avoid the risk, we will reserve a static

  • Go to VPC Network >> External IP addresses from left
  • Drop-down Ephemeral type and select static

  • Give the name and click RESERVE
  • You will notice type is changed to Static

GCP VM is ready with the static external IP and WordPress, and
the last thing to do is map domain to the static

Update Domain A Record

  • Go to domain registrar
  • Update the A record for your domain to the external IP you
    just reserved

It may take some time to get propagated globally. You can use
record lookup tool to verify.

Once domain A record is updated, you can access WordPress site
with the domain you used with EasyEngine
. In my example –

Performing Load Test

Let’s see how newly setup WordPress site on Google Cloud
Platform performs. Before doing a speed test,
I will install a theme by Tagdiv as mentioned earlier.

This is not necessary but just to ensure I have some post/media
files to simulate real-site scenario.

So as you can see is ready on GCP.

There are multiple ways to do performance
benchmarking , and one of the easiest ways is to do from a
cloud. I used to put a load for 100
to 500 users for a one-minute duration, and the results are:

Average response time = 597 ms

Max response time – 1.4 seconds

I know this is basic WordPress setup and require to install
additional plugins, add security , SSL certificate, etc. in a
production environment. But that would increase the load time
by few percentage.

I hope this gives you an idea how to setup WordPress on Google
Cloud Platform to serve over 100 users concurrently per

This requires a little bit of time to setup and skills, but if
you would like to save $$ per month, then I
believe it’s worth it.

Alternatively, if you don’t have time to setup or manage
WordPress and at the same time want to enjoy Google Cloud, then
you can try Cloudways managed hosting
platform .


Leave a Reply

%d bloggers like this: