WordPress SEO Audit Data Export to Google Sheets - n8n Workflow

Export WordPress post data, categories, and tags via the WP REST API directly to Google Sheets for comprehensive SEO audits. This powerful n8n workflow automates data consolidation.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • SEO Analysts and Specialists who require structured data exports for auditing.

  • Content Managers who need a quick inventory of post titles, URLs, and taxonomy.

  • Agencies performing batch audits across multiple client WordPress sites.

  • Developers looking for robust n8n templates for custom API integration and data transformation.

Overview

Manually gathering post data, including taxonomy IDs, from a WordPress site can be a time-consuming and error-prone process. This specialized n8n workflow solves this problem by leveraging the WordPress REST API to efficiently extract posts, categories, and tags in parallel. The real power of this n8n automation lies in its ability to consolidate the disparate data streams: it fetches category and tag IDs assigned to posts, and then uses a custom n8n node to look up and append the actual names, replacing the IDs. The final output is a clean, structured table ready for SEO analysis within Google Sheets. This n8n template is triggered via a simple web form, requiring only the target WordPress URL and the desired post limit.

How it Works

The n8n workflow begins execution using the dedicated Form Trigger n8n node. Users submit the WordPress URL and the maximum number of posts they wish to export.


  1. Configuration and Trigger: The 'On form submission' n8n trigger starts the process. Concurrently, a 'Config' n8n node sets the per_page limit (defaulted to 100) for fetching taxonomies, ensuring we capture all necessary category and tag metadata.

  2. Parallel Data Fetching: Three separate HTTP Request n8n node branches activate simultaneously to query the WordPress API: 'Get Posts', 'Get Categories', and 'Get Tags'. If any API call fails, the execution is redirected to the 'WP API Error' node.

  3. Data Consolidation: The 'Merge' n8n node waits for successful responses from all three data streams (Posts, Categories, and Tags).

  4. Data Transformation: The critical 'Assign tags and categories names to posts' custom code n8n node processes the merged data. It creates lookup maps from the Category and Tag results and then iterates through the Post items, replacing the numerical category and tag IDs with their corresponding human-readable names.

  5. Final Export: The transformed data is then passed to the 'Add posts, with tags, categories to Google Sheet' Google Sheets n8n node, which appends the URL, Title, Categories, and Tags into the configured spreadsheet.

  6. Completion: A final 'Form' n8n node confirms successful execution and completion of the data export.

Installation Guide


  1. Import the n8n workflow: Copy the provided JSON data and paste it into your n8n instance using the 'New' button -> 'Import from JSON'.

  2. Google Sheets Credentials: Locate the 'Add posts, with tags, categories to Google Sheet' n8n node. You must set up a valid Google Sheets OAuth2 API credential linked to the account where the spreadsheet resides.

  3. Target Spreadsheet Setup: Create a new Google Sheet document with the following exact column headers in the first row: URL, Title, Categories, and Tags. Configure the Google Sheets n8n node to point to the Document ID and Sheet Name you created.

  4. Activate the n8n workflow: Ensure the primary 'On form submission' n8n trigger is activated (toggle the workflow status to 'Active').

  5. Run Test: Access the webhook URL generated by the 'On form submission' n8n trigger to manually input the target WordPress URL and post limit to test the data extraction process.

Node Details

On form submission (n8n trigger)


  • Function: Initiates the n8n workflow based on a simple web form submission.

  • Key Configuration: Requires the user to input the WordPress 'URL' and the optional 'Post limit'.

Get Posts, Get Categories, Get Tags (HTTP Request n8n node)


  • Function: Executes REST API calls to the target WordPress URL using expression variables to dynamically insert the base URL and fetch limits.

  • Key Configuration: Uses expressions like ={{ $json.URL }}/wp-json/wp/v2/posts?per_page={{ $json['Post limit'] }}.

  • Error Handling: Configured with onError: continueErrorOutput to handle API failures gracefully by routing to a dedicated error message form.

Assign tags and categories names to posts (Code n8n node)


  • Function: The central data manipulation step. It transforms raw post data by replacing numeric taxonomy IDs with descriptive names.

  • Key Configuration: Reads data from the 'Get Tags', 'Get Categories', and 'Get Posts' nodes, building lookup maps (tagsById, categoriesById) before enriching the post JSON objects with new categoryNames and tagNames properties.

Add posts, with tags, categories to Google Sheet (Google Sheets n8n node)


  • Function: Appends the cleaned and consolidated WordPress data to a specified Google Sheet.

  • Key Configuration:

- Operation: Append.
- Column Mapping: Explicitly maps the incoming data fields (link, title.rendered, categoryNames, tagNames) to the required Google Sheet column headers (URL, Title, Categories, Tags).
- Credentials: Requires Google Sheets OAuth2 authentication.

Related n8n Workflows

Free

Nodes: 8 Nodes
Updated: December 26 2025
View all
Created by

Featured*