Migrate Wordpress To Google Cloud

Migrate Wordpress To Google Cloud

Reading time1 min
#Cloud#WordPress#Hosting#GCP#Migration#Google

Step-by-Step Guide to Seamlessly Migrate WordPress to Google Cloud for Scalable, Cost-Effective Hosting

Forget the "lift and shift" myth: true migration means optimizing your WordPress environment to leverage Google Cloud's unique capabilities—not just copying files over—and this guide shows you exactly how.

Migrating WordPress to Google Cloud isn’t just about moving your site from one server to another. It’s about empowering your business with enhanced performance, robust security, and scalable infrastructure that can easily handle traffic spikes and future growth. In this step-by-step tutorial, I’ll walk you through how to migrate your WordPress site to Google Cloud Platform (GCP) effectively, while optimizing for cost and scalability.


Why Migrate WordPress to Google Cloud?

Before diving into the technical how-to, here’s a quick rundown on why this move is worth it:

  • Scalability: Automatically handle surges in visitors without site slowdowns.
  • Performance: Leverage Google's global data centers and advanced networking.
  • Security: Benefit from Google's hardened infrastructure and integrated security tools.
  • Cost-Effectiveness: Pay for what you use with flexible VM instance types.
  • Flexibility: Customize infrastructure to specific needs vs. traditional shared hosts.

What You’ll Need Before Starting

  • A current WordPress installation (self-hosted or managed).
  • A Google Cloud account with billing enabled.
  • Basic familiarity with SSH, Linux commands, and databases.
  • Optional: some knowledge of Google Cloud Console and Cloud Shell.

Step 1: Set Up a Google Cloud Project & VM Instance

1. Create a New Project

Log in to the Google Cloud Console:

  1. Click on the project drop-down (top-left menu) > New Project.
  2. Name it something relevant like my-wp-migration.
  3. Link billing account if not already done.

2. Deploy a Compute Engine VM

Google Cloud’s Compute Engine lets you run virtual machines that are perfect for custom WordPress hosting.

  1. Navigate to Compute Engine > VM Instances.
  2. Click Create Instance.
  3. Name it wordpress-instance.
  4. Choose a region close to your target users (e.g., us-central1).
  5. Select machine type:
    • For small/medium sites: e2-medium (2 vCPUs, 4 GB RAM)
    • Larger sites might want n1-standard-4 or higher.
  6. Under Boot disk > Change:
    • Pick Ubuntu LTS (20.04 or 22.04).
  7. Allow HTTP / HTTPS traffic by ticking corresponding boxes under Firewall.

Click Create.


Step 2: Prepare Your WordPress Environment on the VM

Connect via SSH

Once the VM is running:

  1. Click the SSH button beside your instance to open a terminal.

Update & Install Necessary Software

sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php unzip -y

This installs Apache web server, MySQL database, PHP modules necessary for WordPress.

Secure MySQL

sudo mysql_secure_installation

Follow prompts — set root password, remove anonymous users, disable remote root login, etc.


Step 3: Export Your Existing WordPress Site Data

You need two components:

  • WordPress files (themes, plugins, uploads)
  • Database contents

Export Files via FTP/SFTP or cPanel File Manager

Zip your entire wp-content directory plus core files if you customized them.

Example:

zip -r wordpress_backup.zip /path/to/wordpress/

Download this .zip archive for upload later.

Export Database

If using phpMyAdmin:

  1. Login
  2. Select your WP database > Export > Quick > SQL format > Go

Or via SSH on old host:

mysqldump -u username -p database_name > wp_backup.sql

Download this .sql file as well.


Step 4: Upload WordPress Files & Import Database to GCP VM

Transfer Files with SCP or SFTP

From your local machine terminal (replace placeholders accordingly):

scp wordpress_backup.zip username@VM_EXTERNAL_IP:~
scp wp_backup.sql username@VM_EXTERNAL_IP:~

Or use tools like FileZilla with SFTP protocol connecting via VM IP and generated keys/passwords.

Unzip Files on VM

unzip wordpress_backup.zip -d /var/www/html/

Adjust ownership so Apache can serve the files properly:

sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/

Step 5: Configure Database on GCP VM

Login to MySQL on VM shell:

sudo mysql -u root -p

Create a new database + user for WP:

CREATE DATABASE wp_database;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON wp_database.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Import SQL dump:

mysql -u wp_user -p wp_database < wp_backup.sql

Step 6: Update wp-config.php

Edit WP config file on server:

sudo nano /var/www/html/wp-config.php

Find DB connection settings and update accordingly:

define('DB_NAME', 'wp_database');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'StrongPasswordHere');
define('DB_HOST', 'localhost');

Save changes (CTRL+O, then CTRL+X).


Step 7: Adjust Apache Settings & Enable SSL

Enable rewrite module for permalinks:

sudo a2enmod rewrite
sudo systemctl restart apache2

Allow .htaccess overrides by editing Apache config:

sudo nano /etc/apache2/sites-available/000-default.conf

Add inside <VirtualHost *:80> block:

<Directory /var/www/html/>
    AllowOverride All
</Directory>

Restart Apache again.

For SSL, use Let's Encrypt Certbot:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d your_domain.com -d www.your_domain.com

Follow prompts for free SSL certificate installation.


Step 8: Point Your Domain DNS to Google Cloud VM IP Address

Update your domain DNS A record with the external IP of the VM instance so visitors reach your new server seamlessly.

Example entry at domain registrar DNS console:

TypeNameValueTTL
A@YOUR_VM_IP_ADDR3600

Allow time (few minutes up to 24 hours) for DNS propagation.


Step 9: Test Your Site Thoroughly!

Visit your domain URL in browser:

  • Check all pages load without error.
  • Test admin login (yourdomain.com/wp-admin).
  • Verify media loads correctly.
  • Inspect SSL certificate is active (lock icon in URL bar).
  • Confirm permalinks work fine — try updating in dashboard Settings > Permalinks just in case.

Bonus Tips for Maximum Performance & Cost Efficiency on Google Cloud

  1. Use Google Cloud CDN – Integrate their Content Delivery Network for blazing fast delivery worldwide.
  2. Set Up Backup Automation – Use snapshots or scheduled backups via GCP tools or plugins like UpdraftPlus.
  3. Right-Sizing VMs – Monitor usage regularly with Stackdriver Monitoring; scale down/up as needed.
  4. Consider Managed Services – For bigger projects, look into Google Kubernetes Engine or managed database options like Cloud SQL for easier maintenance.
  5. Optimize Images & Caching – Use plugins such as W3 Total Cache or WP Rocket along with image compression to reduce load times significantly.

Final Thoughts

Migrating your WordPress site to Google Cloud offers powerful benefits beyond simple hosting relocation—it enables you to truly optimize performance and scalability tailored exactly to your needs while controlling costs effectively.

Although some technical knowledge is helpful, following this guide will help you take confident strides toward a more scalable, secure online presence using one of today’s most advanced cloud platforms.


If you found this guide useful or have questions about specific migration steps—drop me a message below! I’m happy to walk through custom scenarios too!