Skip to content

Troubleshooting the WordPress connection

Fixes for "Could not complete the secure connection", expired invitations, revoked access and a plugin that cannot be reached, with a two-minute test.

  • WordPress
  • 5 min read
  • Updated October 17, 2026
On this page

This page covers connections between Content Uploader and a WordPress site. (For Joomla, see troubleshooting the Joomla connection; for a general overview, the connection fails.)

Symptoms#

You see one of the messages listed at the top of this page, or Settings → Content Uploader in WordPress says Not connected, or connection expired, or publishing stops with an error that names the connection.

Two-minute test: can Content Uploader reach the plugin?#

Open this address in a browser, replacing the first part with your own site's address:

https://your-site.example/?rest_route=/content-uploader/v1/capabilities

  • You see a short line of text that starts {"code":"cu_unauthorized" and says Connection invalid, revoked or expired. The plugin is installed, active and reachable from the internet. This is the answer you want: the message is only a refusal, because you are not Content Uploader. If connecting still fails, the cause is the connection itself, not the network: continue with The connection was revoked or expired below.
  • You see a WordPress sign-in page, a Forbidden or Access denied page, a security-plugin notice, a blank page or a "not found" error. Something in front of WordPress is blocking the request, or the plugin is not active. Continue with Content Uploader cannot reach the plugin below.
  • You see There has been a critical error on this website, or a "500" error, while your pages open normally. WordPress answers, but fails on every request to its REST API. Continue with cause 7 under Could not complete the secure connection below.

Likely causes and what to do#

"Could not complete the secure connection"#

Confirmed: when you approve, Content Uploader contacts your plugin once to complete the pairing, and it could not.

When the site did answer, the message says so, as in Could not complete the secure connection (the site answered with HTTP 403). A 403 usually means the invitation expired or was already used, or that a firewall or security plugin refused the request. A 404 usually means the plugin is not active on the site. The site answered with an error (HTTP 500) means a failure inside the site itself: see cause 7.

Possible causes, in the order to check them:

  1. The plugin is not active. Open Plugins and activate it. If Settings → Content Uploader is missing from the menu, it is not active.
  2. A security plugin or firewall blocks the REST API. Look in its log for blocked requests to the site's REST API from an unfamiliar server, and allow requests to content-uploader/v1. Some hosts block the REST API for everyone who is not signed in; the test above shows whether yours does.
  3. The site is behind HTTP authentication, a maintenance or coming-soon page, or an IP allow-list. Content Uploader must be able to reach the site without credentials.
  4. The site's address redirects. Content Uploader does not follow redirects. If https://example.com redirects to https://www.example.com (or the reverse), make sure Settings → General has the address you actually use for both WordPress Address and Site Address.
  5. The certificate is not valid (expired, self-signed or issued for another name). Content Uploader verifies certificates and does not accept an invalid one.
  6. The site is only reachable over IPv6, or on a private address. See the requirements.
  7. WordPress fails on REST requests. The address in the test above shows There has been a critical error on this website, and the message says The site answered with an error (HTTP 500). One cause is PHP running out of memory: a shop with WooCommerce and other large plugins can need more than the 128 MB some hosts allow, and your host's PHP error log then says Allowed memory size of … bytes exhausted. Raise the memory limit to 256 MB in your host's PHP settings or, if your host allows it, add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php. Run the test again, and when it shows cu_unauthorized, start the connection again.

Then start the connection again from Settings → Content Uploader. You can retry any time before the invitation expires.

"Connection invitation expired"#

Confirmed: more than ten minutes passed. Open Settings → Content Uploader in WordPress and select Connect to Content Uploader again.

"Only the workspace owner can connect a site. Ask them to approve this connection."#

You are signed in to Content Uploader as a team member. Sign in as an owner, or ask an owner to approve the connection (team members).

"The Free plan connects 1 site…"#

The workspace already has the number of sites its plan allows. Upgrade the plan, or disconnect a site you no longer publish to. Reconnecting a site that is already in the workspace is never refused.

"This installation is still connected to another workspace"#

Confirmed: a different workspace, possibly your own other account, has this WordPress installation connected. A site is connected to one workspace at a time. Sign in to the workspace that has it, open Sites and select Disconnect on the site (workspace owners only), then start again at Settings → Content Uploader in WordPress and approve the connection in the workspace you want. Once a workspace has disconnected the site, any other workspace can connect it. Nothing is deleted: the first workspace keeps its configurations and publishing history, and the new connection starts without them. Contact support if you cannot reach the workspace that has it.

"The connection expired or permission was revoked. Reconnect in WordPress."#

Confirmed: your site refused Content Uploader's key. Possible causes: access passed its 90 days; someone selected Disconnect or deactivated the plugin; the administrator account that approved the connection was demoted or deleted; the plugin was reinstalled. Reconnect from WordPress.

"The Content Uploader plugin on this site is outdated"#

Update the plugin, then select Refresh fields on the Sites page.

How to verify it is fixed#

  1. On Sites, the site shows connected, with an end date about 90 days away.
  2. Refresh fields completes without an error.
  3. The configuration editor lists your content types and fields.

If the problem persists#

Write to support with: the exact message, the address of your site, the WordPress and PHP versions (Tools → Site Health → Info), the plugin version, the name of any security plugin or firewall, and what the two-minute test showed. Do not include passwords. Contacting support says what to expect.

Was this article helpful?