For the complete documentation index, see llms.txt. This page is also available as Markdown.

Wordpress

WordPress is one of the most widely used content management systems in the world, powering everything from personal blogs to enterprise websites. With Coupler.io, you can pull your WordPress site's content, users, media, and more into your preferred destination for reporting, analysis, or automation.

Why connect WordPress to Coupler.io?

  • Centralize your content data — pull posts, pages, comments, and media into Google Sheets, BigQuery, or any other destination without manual exports

  • Track content performance over time — combine WordPress data with analytics sources to see what's driving traffic and engagement

  • Automate reporting — keep stakeholders updated with fresh WordPress data on a schedule you control

  • Use AI to analyze your content — send posts or comments to ChatGPT, Claude, Gemini, or other AI destinations for summarization, tagging, or sentiment analysis

Prerequisites

  • A WordPress site with the REST API enabled (enabled by default on WordPress 4.7+)

  • An Application Password generated from your WordPress user profile (go to Users → Profile → Application Passwords in your WordPress admin)

  • Your WordPress site URL

  • Your WordPress username

Quick start

1

Create a new data flow in Coupler.io and select WordPress as your source.

2

Enter your credentials. You'll need your WordPress site URL (e.g., https://yoursite.com), your WordPress username, and the Application Password you generated from your user profile. Note that Application Passwords are different from your login password — make sure you're using the one from the Application Passwords section.

3

Select an entity to import. Choose from Posts, Pages, Comments, Users, Media, and more. See the table below for the full list.

4

Choose your destination — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like ChatGPT or Claude for content analysis.

5

Run the data flow manually to confirm everything is working before setting up a schedule.

Available entities

Entity
What it contains

Posts

Published and draft blog posts with metadata

Pages

Static site pages and their content

Page revisions

Version history for pages

Comments

Reader comments with author and status info

Users

Registered users and their roles

Categories

Post categories and hierarchy

Tags

Post tags

Taxonomies

Custom taxonomy definitions

Types

Registered post types

Media

Uploaded files and image metadata

Editor blocks

Gutenberg block definitions

Plugins

Installed plugins and their status

Themes

Installed themes

Statuses

Available post statuses

Settings

Site-level settings

WordPress data overview

Coupler.io pulls data from the WordPress REST API across 15 entities, covering everything from published content to site configuration. Here's a breakdown of what's available in each entity and how you can use it.

Entities overview

Entity
Best for

Posts

Content audits, editorial calendars, publishing frequency analysis

Pages

Site structure mapping, page inventory

Page revisions

Edit history and version tracking

Comments

Engagement analysis, moderation tracking

Users

Author activity, role audits

Categories

Content taxonomy reporting

Tags

Tag usage and distribution

Taxonomies

Custom taxonomy structure

Types

Custom post type inventory

Media

Media library audits, file usage

Editor blocks

Block usage analysis

Plugins

Plugin inventory and status monitoring

Themes

Theme tracking

Statuses

Post status distribution

Settings

Site configuration snapshot

The start date filter applies to Pages, Comments, Media, and Editor blocks. For all other entities (Posts, Users, Categories, etc.), all available records are always returned regardless of the date range you set.

Posts

Fields

Field
Description

id

Unique post ID

date

Publish date and time

date_gmt

Publish date in GMT

modified

Last modified date

slug

URL-friendly post identifier

status

Post status (publish, draft, pending, etc.)

type

Post type

link

Full URL to the post

title

Post title (rendered)

content

Full post content (rendered HTML)

excerpt

Post excerpt

author

Author user ID

featured_media

Featured image media ID

comment_status

Whether comments are open or closed

categories

List of category IDs

tags

List of tag IDs

format

Post format (standard, video, gallery, etc.)

Pages

Fields

Field
Description

id

Unique page ID

date

Creation date

modified

Last modified date

slug

URL slug

status

Page status

title

Page title

content

Page content (rendered HTML)

author

Author user ID

parent

Parent page ID (for nested pages)

menu_order

Page order in menus

template

Page template in use

Comments

Fields

Field
Description

id

Comment ID

post

Post ID the comment belongs to

author_name

Display name of commenter

author_email

Email address of commenter

date

Comment submission date

content

Comment content

status

Approval status (approved, pending, spam)

type

Comment type

parent

Parent comment ID (for threaded replies)

Users

Fields

Field
Description

id

User ID

name

Display name

url

User website URL

description

User bio

slug

URL-friendly username

registered_date

Registration date

roles

Assigned roles (administrator, editor, author, etc.)

capabilities

User capability flags

Media

Fields

Field
Description

id

Media item ID

date

Upload date

slug

Media slug

status

Media status

title

Media title

author

Uploader user ID

source_url

Direct URL to the file

media_type

Type (image, file, etc.)

mime_type

MIME type (image/jpeg, application/pdf, etc.)

media_details

Width, height, file size, and generated sizes

post

Post the media is attached to

Common metric combinations

  • Posts + Users — Join on author ID to see publishing activity per author. Use the Join transformation in Coupler.io to merge these two entities in a single data flow.

  • Posts + Categories — Map category IDs to names for content distribution reporting.

  • Comments + Posts — Join on post ID to analyze which content drives the most engagement.

  • Multiple WordPress sites — Use the Append transformation to stack posts or pages from two or more sites into a single unified dataset.

Use cases by role

  • Audit your full post library with status, author, and category in one spreadsheet

  • Track publishing cadence — how many posts go live per week or month

  • Identify pages that haven't been updated recently by sorting on the modified field

  • Export comments to analyze reader sentiment or flag spam patterns

  • Combine WordPress posts data with Google Analytics in Coupler.io to connect content to traffic

  • Export posts to ChatGPT or Claude for automatic SEO analysis, meta description generation, or content gap identification

  • Monitor tag and category usage to ensure your taxonomy stays consistent over time

  • Pull a plugins inventory to track which plugins are active, inactive, or need updates

  • Audit user roles and capabilities to keep access permissions in check

  • Monitor media library growth by exporting the Media entity and filtering by date

  • Use the Settings entity to snapshot site configuration before making changes

Platform-specific notes

  • The WordPress REST API must be publicly accessible for Coupler.io to connect. Security plugins that block REST API access will prevent the connection.

  • If your site uses Cloudflare or another CDN/WAF, its bot protection may block Coupler.io requests and return a non-JSON error response.

  • Custom post types created by plugins or themes are not included in the Posts entity by default — they appear under Types but may need custom API endpoints to retrieve their content.

  • Application Passwords require WordPress 5.6 or later. On older versions, you'll need a plugin like "Application Passwords" to enable this feature.

  • The content and excerpt fields in Posts and Pages return rendered HTML. If you need plain text, you'll need to strip HTML tags in your destination.

WordPress common issues

Connection issues

WordPress site is not connecting

The most common reasons a WordPress site fails to connect:

  • REST API is disabled — some security plugins (like Wordfence or iThemes Security) have an option to disable the REST API for non-logged-in users. Check your security plugin settings and allow REST API access, or whitelist Coupler.io.

  • Wrong site URL — make sure you're entering the root URL of your site (e.g., https://yoursite.com) and not a specific page URL.

  • Incorrect credentials — double-check that you're using an Application Password (found under Users → Profile → Application Passwords in your WordPress admin), not your regular login password.

  • Site is on a local server or behind a VPN — Coupler.io can only connect to publicly accessible URLs.

"Non-JSON response" error when connecting

This error usually means something is intercepting the API request before WordPress can respond — most commonly Cloudflare's bot protection or a WAF (web application firewall).

To fix this:

  1. Log in to your Cloudflare dashboard and check your firewall rules for any rules that would block automated requests.

  2. Temporarily disable "Bot Fight Mode" or "Under Attack Mode" and test the connection.

  3. If you use a different security layer, look for rules blocking requests to /wp-json/ endpoints and add an exception for Coupler.io.

Missing data

Only some posts are being imported — not all of them

The WordPress REST API paginates results, and by default Coupler.io fetches all pages. However, if your site has a very large number of posts, timeouts can interrupt the process.

  • Check whether the missing posts have a specific status (draft, private, pending) — the API may only return published posts depending on your authentication level.

  • Make sure your Application Password belongs to a user with sufficient permissions (Editor or Administrator) to read all post statuses.

The start date filter doesn't seem to work for Posts

The start date parameter applies only to Pages, Comments, Media, and Editor blocks. For Posts, Users, Categories, Tags, Taxonomies, Types, Themes, Statuses, and Settings, all records are always returned regardless of the date you set.

If you only want recent posts, filter by the date or modified column in your destination after the import.

New posts or pages aren't showing up after a refresh

If a scheduled or manual refresh isn't picking up new content, check:

  • The data flow ran successfully (look for errors in the run log)

  • Your destination sheet or table isn't being overwritten incorrectly — if you're using Append mode, duplicates may be hiding new rows

  • The post status — newly created posts in "pending" or "draft" status may not be visible depending on the API user's role

Permission errors

Getting a 401 or 403 error

A 401 error means authentication failed. Re-generate your Application Password from Users → Profile → Application Passwords and update it in Coupler.io.

A 403 error means the authenticated user doesn't have permission to access that resource. Switch to an Administrator-level Application Password to ensure full API access.

Data discrepancies

Post content includes raw HTML instead of plain text

The content and excerpt fields return rendered HTML from the WordPress REST API. This is expected behavior. To work with clean text, use your destination's built-in functions to strip HTML tags (e.g., REGEXREPLACE in Google Sheets or a transformation step in BigQuery).

Categories and tags show as IDs, not names

The Posts entity returns category and tag IDs, not their display names. To resolve this, add the Categories and Tags entities as additional sources in your data flow and use the Join transformation to match IDs to names.

WordPress FAQ

Does Coupler.io work with self-hosted WordPress sites?

Yes — Coupler.io connects to self-hosted WordPress sites via the REST API. Your site must be publicly accessible (not behind a VPN or local server). WordPress.com hosted sites may have more restricted API access depending on your plan.

What's an Application Password and where do I find it?

An Application Password is a separate credential you generate specifically for third-party integrations — it's not your regular WordPress login password. To create one, go to your WordPress admin, navigate to Users → Profile, scroll down to Application Passwords, enter a name (e.g., "Coupler.io"), and click Add New Application Password. Copy the generated password immediately — it won't be shown again.

Application Passwords require WordPress 5.6 or later.

Can I export only new posts or pages since the last sync?

Coupler.io always fetches all records for Posts (the start date filter doesn't apply to Posts). To work with only recent content, use the Append import mode so new records accumulate over time, or filter by the date or modified column in your destination after the import. For Pages and Comments, the start date filter is supported.

Can I connect multiple WordPress sites to the same data flow?

Yes. Add each WordPress site as a separate source in your data flow and use the Append transformation to combine their data into a single destination. This is useful for agencies or multi-site networks that want unified content reporting.

Why do my posts show category IDs instead of category names?

The WordPress REST API returns category and tag IDs in the Posts entity. To get the actual names, add the Categories and Tags entities as additional sources and use the Join transformation in Coupler.io to match IDs to their labels.

See the Data Overview for a full list of fields available in Posts, Categories, and Tags.

What happens if Cloudflare is blocking my WordPress connection?

Cloudflare's bot protection or WAF rules can intercept Coupler.io's requests to the WordPress REST API and return an HTML error page instead of JSON — which causes a "non-JSON response" error in Coupler.io. To fix this, log in to Cloudflare and either add a firewall rule to allow requests to /wp-json/, or temporarily disable Bot Fight Mode to test the connection.

See Common Issues for more detail on this error and how to resolve it.

Can I use WordPress data with AI tools like ChatGPT or Claude?

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Perplexity, Cursor, and OpenClaw. You can export your Posts or Comments entity directly to one of these destinations for tasks like content summarization, SEO analysis, sentiment analysis, or automatic tagging.

Why is the data refresh not working on a schedule?

A scheduled data flow requires a successful manual run first. If your refresh is silently failing, check the run log in Coupler.io for errors. Common causes include expired Application Passwords, a security plugin change on your WordPress site, or Cloudflare rules that started blocking the API after your initial setup.

See Common Issues for a full list of connection and permission troubleshooting steps.

Last updated

Was this helpful?