Your site requires a password to load
What this error means
When Metorik tried to connect, your site asked for a username and password before it would load anything. You've probably seen it as a browser popup asking you to sign in. This is called HTTP basic authentication, and Metorik can't get past it, so it can't read your WooCommerce data.
Is this a staging site?
This kind of password is most common on staging and development sites. If that's what you've connected, the best fix is to connect your live store instead: click Retry in Metorik and enter your live store's address.
Metorik is built for live stores. It needs at least one real order to finish setup, and a staging copy won't have the orders you actually want to report on.
If your store URL ends in localsite.io, it's a Local Live Link to a site on your own computer, which is password protected too. Connect your live store instead.
If it is your live store, read on.
Option 1: turn off password protection
Find your host below.
WP Engine
Log in to the WP Engine User Portal.
Select the environment you're connecting to Metorik.
On the Overview page, find Password Protection.
Turn the toggle Off.
If the environment is "transferable", you'll need to unlock or transfer it first. (WP Engine guide)
Kinsta
In MyKinsta, go to Sites and click your site.
Click Tools in the left sidebar.
Under Password protection, click Modify and disable it.
Pantheon
Open your Site Dashboard and select the environment.
Click Security.
Click Public next to Environmental Access.
Flywheel
Log in to your Flywheel dashboard and click your site.
Go to the Overview tab.
In the Privacy Mode section on the right, toggle Privacy Mode off.
Privacy Mode can only be turned off once the site is paid for. (Flywheel guide)
SiteGround
In Site Tools, go to Security → Protected URLs.
Click the URLs tab.
Under Manage Protected URLs, find your site's URL and click Delete (the bin icon).
Cloudways
Cloudways password protects staging applications by default.
Open the application in your Cloudways dashboard.
Look for a Password Protection setting in the application's access settings.
Turn it off.
If you can't find it, ask Cloudways support.
Pressable
In the MyPressable dashboard, open your site's Site Overview page.
Scroll down to Site Tools and find Basic Authentication.
Click the button and toggle it off.
cPanel (Directory Privacy)
In cPanel, go to Files → Directory Privacy.
Find the folder your site lives in (usually
public_html) and click Edit.Untick Password protect this directory.
Click Save.
Option 2: ask your host to let Metorik skip the password
If you want to keep the password for everyone else, your host can let Metorik's servers skip it. Metorik connects from these IP addresses:
23.239.31.174
45.33.123.9
45.33.116.36
96.126.113.196
173.255.205.248
The host tools in Option 1 can't skip the password for specific IP addresses, so this needs your host to change your server's settings. Send them this:
Hi! My site is protected with HTTP basic authentication (a username and password popup). Please let these IP addresses through without the password so Metorik can connect to my WooCommerce store's REST API at /wp-json/wc/v3/: 23.239.31.174, 45.33.123.9, 45.33.116.36, 96.126.113.196, 173.255.205.248. Thanks!
If your site sits behind a proxy or CDN like Cloudflare, your server may not see Metorik's real IP address, so mention that to your host too.
Manage your own server? If the password is set up in your server's own files, you or your developer can let Metorik's IP addresses through with the snippets below.
Apache (.htaccess)
Find the password lines in your .htaccess file (they start with AuthType Basic). Replace the Require valid-user line with this:
<RequireAny>
Require ip 23.239.31.174 45.33.123.9 45.33.116.36 96.126.113.196 173.255.205.248
Require valid-user
</RequireAny>This needs Apache 2.4 or newer.
nginx
Add the satisfy any, allow and deny all lines to the same block as your existing auth_basic lines, then reload nginx. Your auth_basic lines stay as they are:
satisfy any;
allow 23.239.31.174;
allow 45.33.123.9;
allow 45.33.116.36;
allow 96.126.113.196;
allow 173.255.205.248;
deny all;
auth_basic "Restricted";
auth_basic_user_file /path/to/.htpasswd;A note on adding the password to your store URL
Some people try putting the username and password into the store address itself (the form username:password followed by @ and the domain). Metorik doesn't support this and won't send the username or password to your site, so the connection will still fail.
Verify it worked
If you used Option 1, open your store in a private or incognito browser window.
Check that no username and password popup appears.
Go back to Metorik, click Retry, enter your store address again and approve the connection.
Still stuck?
Click Get help in Metorik to chat with us, and let us know:
Who hosts your site.
Whether the URL you're connecting is a staging site or your live store.
Further reading
Store not syncing or connected (Metorik)
Block/Unblock Traffic to a Website (WP Engine)
htpasswd Protection (Kinsta)
Security tool (Pantheon)
Why are my sites password protected? (Flywheel)
How to password protect a URL? (SiteGround)
Basic Authentication (Pressable)
Directory Privacy (cPanel)
Live Links (Local)
Authorization containers and <RequireAny> and Require ip (Apache)
Restricting access with HTTP basic authentication and satisfy (nginx)