Clean up your WordPress website’s HTTPS insecure content and mixed content warnings. Installing the SSL Insecure Content Fixer plugin will solve most insecure content warnings with little or no effort. The remainder can be diagnosed with a few simple tools.
When you install SSL Insecure Content Fixer, its default settings are activated and it will automatically perform some basic fixes on your website using the Simple fix level. You can select more comprehensive fix levels as needed by your website.
WordPress Multisite gets a network settings page. This can be used to set default settings for all sites within a network, so that network administrators only need to specify settings on sites that have requirements differing from the network defaults.
See the SSL Insecure Content Fixer website for more details.
Many thanks to the generous efforts of our translators:
- Bulgarian (bg_BG) — the Bulgarian translation team
- Chinese simplified (zh_CN) — the Chinese translation team
- English (en_CA) — the English (Canadian) translation team
- English (en_GB) — the English (British) translation team
- German (de_DE) — the German translation team
- French (fr_FR) — the French translation team
- Italian (it_IT) — the Italian translation team
- Russian (ru_RU) — the Russian translation team
- Spanish (es_ES) — the Spanish translation team
If you’d like to help out by translating this plugin, please sign up for an account and dig in.
- How do I tell what is causing the insecure content / mixed content warnings?
Look in your web browser’s error console.
- FireFox has the Web Console or Firebug
- Internet Explorer has the F12 Tools Console
- Safari has the Error Console
NB: after you open your browser’s console, refresh your page so that it tries to load the insecure content again and logs warnings to the error console.
Why No Padlock? has a really good online test tool for diagnosing HTTPS problems.
- I get “insecure content” warnings from some of my content
You are probably loading content (such as images) with a URL that starts with “http:”. Take that bit away, but leave the slashes, e.g.
//www.example.com/image.png; your browser will load the content, using HTTPS when your page uses it. Better still, replace “http:” with “https:” so that it always uses https to load images, e.g.
If your page can be used outside a web browser, e.g. in emails or other non-web documents, then you should always use a protocol and it should probably be “https:” (since you have an SSL certificate). See Cleaning up content for more details.
- My website is behind a load balancer or reverse proxy
If your website is behind a load balancer or other reverse proxy, and WordPress doesn’t know when HTTPS is being used, you will need to select the appropriate HTTPS detection settings. See my blog post, WordPress is_ssl() doesn’t work behind some load balancers, for some details.
- I get warnings about basic WordPress scripts like jquery.js
You are probably behind a reverse proxy — see the FAQ above about load balancers / reverse proxies, and run the SSL Tests from the WordPress admin Tools menu.
- I changed the HTTPS Detection settings and now I can’t login
You probably have a conflict with another plugin that is also trying to fix HTTPS detection. Add this line to your wp-config.php file, above the lines about
ABSPATH. You can then change this plugin back to default settings before proceeding.
- I still get “insecure content” warnings on my secure page
Post about it to the support forum, and be sure to include a link to the page. Posts without working links will probably be ignored.
- You listed my plugin, but I’ve fixed it
Great! Tell me which plugin is yours and how to check for your new version, and I’ll drop the “fix” from my next release.
It solved the images issue when I selected capture all.
Works as expected, no configuration required. Thank you!
The full changelog can be found on GitHub. Recent entries:
Many thanks to @jsherk without whose help this release could have been weeks away.
- fixed: breaks Visual Composer back end editing due to a regular expression problem (now you have two!)
- changed: Capture no longer captures AJAX requests; new mode Capture All introduced to capture AJAX requests too
- added: prerequisites check, to ensure that plugin can run successfully