Best WordPress Server set up on Google Cloud. If you are preparing for high traffic or a high performance web server you should consider splitting your WordPress application into as many separate services as possible, and serving those services independently.
Instead of running your WordPress in a single machine you can split your application on many machines. For example splitting your database on separate server and splitting your Media Library to separate disk spaces or cloud storage.
Split your WordPress database
To split your database and move to another database server Google Cloud provides a setup named Cloud SQL. This is fully managed database service which is secure, reliable, easy to set up and maintain your databases.
Create a Cloud SQL instance and authorize your VM instance to connect to Cloud SQL. Create a database and import your SQL file to Cloud SQL. Learn more about setting up Cloud SQL on Google Cloud.
Split your Media Library
You can use Google Cloud Storage for your WordPress media files so that all images are served from Cloud Storage and uploaded directly to Cloud Storage. To achieve this setup you can use a plugin named WP-Stateless.
Once you have activated this plugin you can sync all your WordPress Media library to Google Cloud Storage. When new uploads are made the images are automatically uploaded to Cloud Storage. For example your image URL will be
With this setup your server load will get reduced because all image requests are made to a Multi-regional storage service.
Nginx Web server
Now your media files are moved to Cloud Storage and database is moved to Cloud SQL. So only WordPress core files, plugins and themes are inside your server.
FastCGI cache caches the whole page after its generated. So once a cache is generated the next request to the same page will get served from cache. By this you can increase performance of your web server.
Page Cache and Object Cache
For some websites the content is rarely updated so it’s unnecessary to query the database to build the web page. So by using Nginx FastCGI cache you can cache the static page and serve the HTML version of the page.
Nginx automatically creates the cached HTML version of the web page and serves them without hitting the PHP.
An object cache stores database query results and serves them from memory. This improves the performance of WordPress as there is no longer a need to query the database on every page load for information is already stored within the object cache.
You can set up Redis in you server for object caching.
Now with the above set up your server is light weight with only WordPress core files, plugins and themes. So you can scale your server horizontally during high traffic with load balancing. So multiple servers uses single external database and media files from Cloud Storage.
There are many benefits in Google Load Balancing. You can use the Google’s globally distributed Content Delivery Network to cache HTTP(S) load balanced content.
Initially you can go with Micro Instance in Compute Engine and Micro Instance in Cloud SQL.
Once you are getting more traffic you can upgrade to small machine or standard machine and finally to the load balancing.