links.mixed-contentThe secure page loads insecure files
Why it matters
A page served over https that pulls in a file over http:// is only as secure as that file. Anyone on the same network can replace it on the way, and a replaced script can do anything the page can.
Browsers know this and act on it. Scripts, stylesheets and frames over http are blocked outright — the page loads with pieces missing, and the visitor sees a broken layout or a feature that does nothing, with no explanation. Images, audio and video are not blocked: the browser asks for them over https instead, and if the server can't answer that way they don't load. Whichever happens, the page you tested on your machine is not the page the visitor gets.
It is usually a hard-coded http:// address left behind when the site moved to https, or a third-party widget that never did.
Source: MDN: mixed content; Fixing mixed content.
How to fix it
Change the addresses to https://. Nearly every host that is worth loading from serves https now:
<script src="https://example.com/widget.js"></script>For a site that has just moved, a search and replace across the database catches most of it (in WordPress, Better Search Replace or wp search-replace). A protocol-relative //example.com/x.js also works and inherits the page's scheme. If a third party really has no https address, it has to go: the browser will block it anyway.