Your store's reply couldn't be read
What this error means
Metorik connects to your store through the WooCommerce REST API and expects a clean JSON reply. Your site answered, but something extra was mixed in (usually a PHP warning, some HTML or a cached web page), so Metorik can't read it. The cause is almost always a plugin, theme, cache or PHP setting on your site.
Step 1: Look at the raw response
First, check the address you entered in Metorik. It should be your store's main address (like
https://yourstore.com), not a login page or another page on your site. If it wasn't, click Retry in Metorik, enter your store's main address and approve the connection.Open a private (incognito) browser window.
Go to
https://yourstore.com/wp-json/wc/v3/, using your store's address.If the browser tidies up the result, right-click and look for View page source to see the raw text.
A healthy response starts with a curly bracket, like this:
{"namespace":"wc\/v3","routes":{"\/wc\/v3":{"namespace":"wc\/v3", ...Anything before that first { is what's breaking the connection:
Lines starting with
Warning:,Notice:orDeprecated:are PHP messages, so go to Step 2.A web page (homepage, "coming soon", login or security check) means a cache or plugin is answering instead, so go to Steps 4 and 5.
A blank line or odd characters usually means stray spaces in a PHP file, so see Step 5.
Step 2: Hide PHP warnings and find the culprit
Warnings should go to a log file, not into your site's output.
Open
wp-config.phpin your site's main folder using your host's file manager or FTP.Remove any existing
WP_DEBUGlines.Paste this just above the line that says
That's all, stop editing!:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );Save, then reload
https://yourstore.com/wp-json/wc/v3/to check the warnings are gone.Open
wp-content/debug.log, where the file paths (like/plugins/plugin-name/) show which plugin or theme to update or replace.When you're done, set
WP_DEBUGandWP_DEBUG_LOGtofalsebut keep the other two lines, since the log file can be publicly readable.
On cPanel hosting you can also switch error display off:
Open MultiPHP INI Editor and go to the Basic Mode tab.
Choose your domain from the Configure PHP INI basic settings menu.
Turn
display_errorsoff and click Apply.
Step 3: Find the conflicting plugin or theme
If the cause still isn't clear, test with plugins switched off.
Option A: Troubleshooting Mode (visitors aren't affected)
Install the free Health Check & Troubleshooting plugin.
Go to Tools → Site Health → Troubleshooting and click Enable Troubleshooting Mode.
On the Plugins page, click Enable while troubleshooting next to WooCommerce.
In the same browser, reload
https://yourstore.com/wp-json/wc/v3/and check it starts with{.Enable other plugins one at a time, reloading after each, until the problem returns.
Click Disable Troubleshooting Mode in the admin bar when you're done.
It only affects your browser, so Metorik won't see a change until you fix the plugin.
Option B: Deactivate plugins
On the Plugins page, deactivate everything except WooCommerce (and Metorik Helper, if installed).
Reload
https://yourstore.com/wp-json/wc/v3/.If it's fixed, reactivate plugins one at a time until the problem returns.
This affects your live store, so pick a quiet time.
Check your theme: if no plugin is to blame, briefly Activate Storefront or Twenty Twenty-Five in Appearance → Themes and check again.
Step 4: Stop caching the API
Metorik needs live data, so exclude /wp-json/ from caching, then clear all caches.
WP Rocket: deactivate the WP Rocket | Cache WP Rest API helper plugin if you have it, or add /wp-json/(.*) to Never Cache URL(s) on the Advanced Rules tab.
LiteSpeed Cache:
Go to LiteSpeed Cache → Cache and turn off Cache REST API.
On the Excludes tab, add
/wp-json/to Do Not Cache URIs.
W3 Total Cache:
In Performance → Page Cache, make sure the REST API option isn't set to cache.
Add
/wp-json/*to Never cache the following pages in the Advanced section.
SiteGround Speed Optimizer: in the caching settings, click the pencil icon next to Exclude URLs from Caching and add /wp-json/*.
Hostinger: look for Cache Manager in hPanel and purge the cache.
Cloudflare:
Go to Cache Rules and select Create rule.
Choose Custom filter expression, then set URI Path starts with
/wp-json/.Under Cache eligibility, select Bypass cache, then Deploy.
Using something else? Look for an "exclude URLs" setting, or ask your host to stop caching /wp-json/.
Step 5: Other causes
Maintenance or coming soon plugins can show their holding page everywhere, including the API. Switch them off, or look for a setting that lets
/wp-json/through. For WooCommerce's own version, set WooCommerce → Settings → Site visibility to Live.Wordfence: go to Tools → Live Traffic and look for requests from Metorik's IP addresses (23.239.31.174, 45.33.123.9, 45.33.116.36, 96.126.113.196 and 173.255.205.248). If our requests are blocked, allow our IPs as shown in our store not syncing guide.
Stray spaces or hidden characters: open recently edited files, especially
wp-config.phpand your theme'sfunctions.php, in a plain text editor. Make sure nothing comes before<?php, and save as UTF-8 without BOM (WordPress guide).Old PHP version: check yours in WooCommerce → Status under Server Environment. If it's 7.4 or older, update your plugins and theme, then ask your host to move you to PHP 8.3, which WordPress and WooCommerce recommend.
Verify it worked
Open
https://yourstore.com/wp-json/wc/v3/in a private window and check it starts with{.Go back to Metorik, click Retry, enter your store address again and approve the connection.
Still stuck?
Message us using the chat in Metorik and we'll help. Please include a screenshot or copy of the first few lines you see at https://yourstore.com/wp-json/wc/v3/.
Further reading
Debugging in WordPress (WordPress.org)
Troubleshooting using Health Check (WooCommerce)
How to test for plugin and theme conflicts (WooCommerce)
MultiPHP INI Editor for cPanel (cPanel)
Exclude pages from the cache (WP Rocket)
LiteSpeed Cache settings (LiteSpeed)
Speed Optimizer caching (SiteGround)
Create a Cache Rule (Cloudflare)
Wordfence Live Traffic (Wordfence)
WordPress requirements (WordPress.org)