Skip to content
RankX AI
RankX AI Docs
Integrations

Troubleshooting connections

What to do when a WordPress, Shopify, Google or Bing connection stops answering in RankX AI. Symptom first, with the difference between a refusal and a zero.

Start by reading what RankX AI actually said. Every unavailable state in the product names its own cause and its own remedy, because a connection that is not working and a connection reporting genuine zeros look identical otherwise. A refusal means RankX AI declined to answer; a zero means it answered and the answer was none.

Find your symptom below.

Google: "no data" on a Traffic screen

RankX AI classifies a Google connection into four states, and only the last one yields figures.

StateWhat has happenedWhat to do
Not connectedNo integration exists for this WebsiteConnect it in the Website's Integrations settings
Reconnect requiredAccess was revoked, or the last sync failedReconnect it. RankX AI shows when it last synced successfully
Never syncedConnected, but the first sync has not completedWait for the first sync, then retry
ReadySynced at least onceYou get numbers, and an empty range now genuinely means a quiet period

In the first three RankX AI refuses and says which state you are in. It never prints a zero, because "no traffic" and "we cannot see your traffic" are different facts and only one of them is about your website.

Google: the last day or two is missing

That is correct and it is Google's delay, not RankX AI's sync. Search Console publishes clicks and impressions on a two to three day delay at source. A healthy connection legitimately has nothing for yesterday.

RankX AI marks the most recent days provisional and counts them separately, so a trend never renders those days as a decline. If you are quoting a figure from the last few days, quote it as provisional; it will rise.

Google: connected, but no property is selected

A connection can be healthy while pointing at nothing. RankX AI reports this as its own state rather than letting it look like "wait for the sync", because waiting will never fix it. Open the Website's Integrations settings and choose the property or site.

Google: the Website shows Reconnect required

Reconnect it, and the data comes back with its history intact. When Google asks for a Search Console or Analytics connection to be authorised again, the Website shows Reconnect required. Reconnecting from the Website's Integrations settings restores the data, no history is lost, and nothing is wrong with your Google account.

Traffic covers connecting both services and every screen they feed.

WordPress: the connection is refused at setup

If one-click approval is not offered, RankX AI checked your address and the site does not advertise WordPress's approval screen. WordPress offers it only over HTTPS, and a host or security plugin can switch it off, so check the site URL and item 4 below. Entering an Application Password by hand is offered beside one-click on every site.

If you pasted an Application Password, work through these in order, because each is more common than the one after it:

  1. Use the username, not the email address. WordPress Application Passwords authenticate against the username.
  2. Keep the spaces in the password. WordPress generates it in groups separated by spaces, and the whole string is the password.
  3. Check the REST API is reachable. Open https://your-site/wp-json/ in a browser. If it does not return JSON, a security plugin or a server rule is blocking it, and that has to be fixed on your side first.
  4. Check Application Passwords are enabled. Some hardening plugins disable them entirely. If the section is missing from your WordPress profile, that is the cause.
  5. Check the site URL. Use the address WordPress itself is installed at, including www if that is what it uses.

WordPress: a page will not save

The message names which of three cases you are in:

  • The page is built with a meta-based builder (Elementor, Divi, WPBakery and similar). Its content lives outside the page body, so no tool can edit it and every attempt is refused rather than half-applied. Edit it in the builder.
  • The page is built with a block-based builder, which takes targeted text patches and adding or removing a block, but not a whole-body replace. Each of those edits has to be asked for explicitly on the change.
  • The body was too long to read in one go. A truncated body says so, and a whole-body write must never be sent back from a truncated read, because it would delete the part that was not read. Use a targeted patch instead, which changes specific text without transferring the body at all.

WordPress: "the SEO fields are not writable"

This is about your SEO plugin, and RankX AI tells you which of the possible reasons applies rather than reporting a flat no. The quickest fix for every case below is the optional RankX AI plugin, which writes the SEO title and meta description through every major SEO plugin, All in One SEO included. See the RankX AI plugin. Without it:

  • Rank Math and SEOPress store their fields in post meta but do not expose them to the REST API by default. Exposing them makes them fully writable, and RankX AI hands you the registration snippet with your site's own field names already in it.
  • Yoast exposes them per content type, so posts can be writable while pages are not on the same site.
  • All in One SEO stores metadata in its own database tables, which the REST API does not reach, so on a site without the RankX AI plugin RankX AI refuses the write rather than appearing to succeed. Installing the RankX AI plugin makes All in One SEO fully writable.

If a site was writable before and is not now, RankX AI names that as a regression rather than telling you to apply a snippet you already applied. The usual cause is a plugin update or a setting changed in wp-admin, and the first move is finding what removed it.

WordPress: the write succeeded but the live page looks unchanged

Almost always a page cache. RankX AI verifies a write by re-reading the object through the REST API, which confirms the database changed, and that is the only signal that catches a plugin returning success while persisting nothing.

A cache in front of your site can serve the old version afterwards. RankX AI appends a note saying exactly this to every successful content and SEO write. Purge the cache and check again.

WordPress: a write is reported as unverified

RankX AI could not confirm the change by reading it back. That is deliberately not reported as success. The write may have landed; RankX AI is telling you it cannot prove it did.

Check the object in wp-admin. If it changed, the read-back was blocked, usually by a cache or a security rule on the REST API. If it did not, the plugin accepted the request and discarded it, which is exactly the case this check exists to catch.

WordPress: an image lost its layout after an edit

If a block's attributes could not be parsed, WordPress discards what is between the braces on save while keeping the block and its inner content. On a builder block, the discarded part is often the identifier its generated styles are keyed to, so the page keeps every word and loses its appearance.

RankX AI defends against this twice: it warns before the write when a block's attributes will not parse, naming the block and the error, and it compares attributes after the write and reports any that were lost. If you see either warning, do not apply the change.

Shopify: it says the app connected but has no permissions

Almost always the order in which you released and installed. Shopify fixes an app's permissions at the moment it is installed, so an app installed before its version was released holds none of them, and releasing again does not reach back into the existing installation. A custom app gets no re-approval prompt, and nothing in Shopify warns you, so every screen you can see looks correct.

  1. In your Shopify admin, open Settings, then Apps and sales channels, click the app, and choose Uninstall app.
  2. In the Dev Dashboard, check the Versions tab shows a released version with the permissions listed.
  3. Click the app's name in the sidebar, choose Install app, and pick this store again.
  4. Reinstalling can issue a new Client Secret. Open Settings, then Credentials, and paste both values into RankX AI again if they changed.
  5. Press Test connection.

The same order applies when you are adding a permission later: release a new version, then uninstall and install again. A released permission change does nothing to an app that is already installed.

Shopify: the app is not installed, or the store is not recognised

Two different messages, and RankX AI names which one it hit rather than saying the credentials are wrong.

  • Not installed. The app exists but is not on that store. Open the app in the Dev Dashboard, confirm the Versions tab shows a released version first, then choose Install app and pick the store.
  • Store not recognised. Check the store name. In the admin URL admin.shopify.com/store/my-store, the store name is my-store.
  • Either message can also mean the app and the store are in different Shopify organisations. This connection type does not work across organisations, and no amount of reinstalling changes that. The app has to be created in the organisation that owns the store.

Shopify: a change is reported as unconfirmed

That is not a failure, and it is not a success either. RankX AI reads the object back after every change and compares it with what it sent. Unconfirmed means the comparison did not match, which usually means the change landed and something about it differs from what was sent, and occasionally means it did not land at all.

Open the object in Shopify and look. RankX AI deliberately does not guess between the two, because reporting a landed change as failed and a failed change as landed are both worse than saying which question is open.

If a redirect is reported as inert rather than unconfirmed, that is a different thing and is correct: Shopify only follows a redirect when the original address is genuinely gone, and it deletes the redirect by itself when that address starts working again.

Bing: no data on a Traffic screen

Bing Webmaster Tools publishes on its own schedule and is a separate connection from Google Search Console, so one working tells you nothing about the other. Check the Website's Integrations settings for the Bing connection specifically.

This matters more than a second traffic source usually would: Bing is the index Microsoft Copilot answers from, so a page Bing cannot read is a page Copilot cannot cite, and that is an AI-visibility problem rather than only a traffic one.

MCP: a tool is missing rather than failing

Not a connection problem. A token's scopes are fixed when it is issued, and a tool outside them is not listed and not callable rather than listed and denied. If an assistant cannot see a tool you expected, the token does not carry its scope, and the fix is to issue a new one.

The WordPress and Shopify tools sit behind their own scopes rather than the general write scope, so a token created before those tools existed reaches none of them. Every Shopify tool needs the same scope, including the three that only read, so a read-only token cannot see any of them. See MCP authentication.

Still stuck

Two things make a support conversation short: which Website you are on, and the exact message you saw. Every refusal in RankX AI is written to name its own cause, so quoting it usually saves a round trip.

Last updated