Stop Copying and Pasting Your Content Manually
If you manage a content calendar in Google Sheets and then manually copy each post into WordPress, you already know how time-consuming and error-prone that process is. A title gets mistyped. A category gets forgotten. A post goes live on the wrong date. These are small mistakes with real consequences for your SEO and brand consistency.
The good news: this entire workflow can be automated. In this guide, you'll learn exactly how to connect Google Sheets to WordPress so that your content team fills in a spreadsheet — and posts publish themselves.
What You'll Need Before You Start
- A Google Sheet set up as your content calendar
- A WordPress website with REST API access enabled (it is by default)
- An automation tool like n8n, Make, or Zapier
- An Application Password generated in your WordPress user profile
No coding knowledge is required. This is a no-code workflow that any SME owner or marketing manager can set up in an afternoon.
Step 1: Structure Your Google Sheet Correctly
Your Google Sheet needs clearly defined columns so the automation knows what to read. Here's a recommended structure:
- Column A – Title: The blog post headline
- Column B – Content: The full post body (can include basic HTML)
- Column C – Category: WordPress category name or ID
- Column D – Publish Date: Format as YYYY-MM-DD
- Column E – Status: Use values like Ready, Draft, or Published
- Column F – Tags: Comma-separated tag list
The Status column is critical. Your automation will only process rows marked as Ready, and after publishing, it will update that row to Published — preventing duplicate posts.
Step 2: Connect Google Sheets to Your Automation Tool
Open your automation tool of choice. In n8n, for example, you would:
- Create a new workflow and add a Schedule Trigger (e.g., runs every day at 7:00 AM)
- Add a Google Sheets node — authenticate with your Google account and select your spreadsheet and sheet tab
- Set a filter to only retrieve rows where Column E equals Ready
This means the workflow wakes up each morning, scans your sheet, and picks up only the posts that are ready to go. Everything else is ignored.
Step 3: Create the WordPress Post via REST API
Next, add an HTTP Request node (or a dedicated WordPress node if your tool has one) configured as follows:
- Method: POST
- URL: https://yoursite.com/wp-json/wp/v2/posts
- Authentication: Basic Auth using your WordPress username and Application Password
- Body (JSON): Map the sheet columns to the WordPress fields — title, content, categories, tags, status, and date
Here's a simplified example of the JSON body your node would send:
{ Turbotic makes it easy to implement these workflows without any coding.