Fix this week
Part of your secure page loads over an insecure connection
Your page is secure (https), but it loads at least one image, script or file over plain http. Browsers treat that as a crack in the padlock. The fix is almost always to change those addresses from http to https.
Part of your secure page loads over an insecure connection. A page on yourbakery.com pulls in something over plain http (for example: http://yourbakery.com/images/logo.png), 3 items in total.
Send the example below to your developer. Usually an image or script address just needs http changed to https.
What it means
When someone visits your site over https, everything on the page is supposed to arrive through the same encrypted connection. "Mixed content" means one or more pieces, often an old logo, a background image or a script tag pasted in years ago, still points to an http:// address.
It usually happens after a site moves to https. The pages themselves switch over, but addresses typed into posts, theme settings or widgets keep the old http:// in front.
Why it matters
Browsers handle it in one of two ways. For images and video they load the file but drop the padlock, so visitors see "Not secure" or a warning icon next to your address. For scripts, styles and frames they block the file outright, which can quietly break a menu, a form or a checkout button.
Either way, a visitor who notices the missing padlock on a page that asks for their details has a good reason to leave. Anything sent over plain http can also be read or changed by someone on the same network, such as public Wi-Fi.
How to check your own site
- Open the page in Chrome, Edge or Firefox and look at the icon to the left of your address. A warning icon or "Not secure" on an https page is the giveaway.
- Right-click the page, choose Inspect, and open the Console tab. Reload the page. Mixed content shows up as a yellow or red message that starts with "Mixed Content" and names the exact address.
- Check the pages that matter most: the home page, contact form, checkout and any page with a login.
How to fix it
Any website
- Note each address the browser console lists.
- Open that address yourself with
https://in front. If it loads, you only need to change the address where it appears on your site. - If it does not load over https, the file lives somewhere that does not support it. Download it, upload it to your own site, and use the new address.
WordPress
- Under Settings, General, make sure both "WordPress Address" and "Site Address" start with
https://. - Search your posts and pages for
http://plus your domain. A search-and-replace plugin can change every copy at once. Take a backup first, and preview the changes before running them. - Check places a search can miss: theme settings, the Customizer, widgets, and page-builder blocks. Old image and background addresses often hide there.
- If a plugin or theme hard-codes an
http://address, update it. If an update does not fix it, tell the plugin author, or replace the plugin.
Shopify, Squarespace, Wix and other hosted builders
- These platforms serve their own files over https, so mixed content almost always comes from something you pasted in: an embed, a custom code block, or an image linked from another site.
- Find the code block or embed on the page named in the console and change
http://tohttps://. If the other site does not support https, remove the embed or ask its provider for a secure version.
Cloudflare
- Under SSL/TLS, Edge Certificates, turn on "Automatic HTTPS Rewrites". Cloudflare then rewrites
http://addresses it knows are also available over https. - Treat it as a safety net rather than the fix. Addresses it cannot rewrite still need changing at the source.
What to send your developer
Find insecure sub-resources on the page and serve them over https. Search the templates and database for hard-coded http:// URLs. Once everything is fixed, a Content-Security-Policy with upgrade-insecure-requests makes browsers upgrade any stragglers automatically.
Content-Security-Policy: upgrade-insecure-requests
Common questions
Is mixed content dangerous, or just cosmetic?
Both. The missing padlock makes visitors trust the page less. Blocked scripts can break parts of the page. And anything loaded over plain http can be swapped by someone on the same network before it reaches the visitor.
I fixed it but the warning is still there. Why?
Your browser or a caching plugin may be showing an old copy. Clear the site cache, then reload with Ctrl+Shift+R (Cmd+Shift+R on a Mac). If the console still names an address, it is coming from somewhere you have not changed yet, often a theme setting or a widget.
Does this affect my Google ranking?
Google prefers pages that load securely, and Chrome warns visitors about pages that do not. Fixing mixed content removes the warning and keeps the page eligible to be treated as secure.