How to track down mixed content or insecure content (2024)

After installing Really Simple SSL and activating SSL, it is still possible that your site is flagged as not secure. The most common cause for this is ‘Mixed content’. If you do not see the secure lock in your browser address bar, you still have mixed content. It is very important that this is fixed because browsers will throw all sorts of warnings at users, who might get scared.

How to track down mixed content or insecure content (1)
How to track down mixed content or insecure content (2)

What is mixed content?

Your website consists of HTML, images, JavaScript and CSS files. When your site is loaded in the browser, the HTML that is loaded will contain links to the images, JavaScripts and CSS files: the resources of your website. If your HTML is loaded over https, and your resources load (partly) over http, the content is “mixed”: you have mixed content. There can also be other causes: for example, an image that loads over https, but gets redirected to http. Finding these insecure resources in the browser is usually not so difficult. Finding which plugin or which file in your theme uses the image is often the hard part.

How can I fix the mixed content on my WordPress website?

The built-in mixed content fixer in Really Simple SSL fixes all mixed content in the HTML of your site. But, there are some types of mixed content that cannot be fixed dynamically. These will need to be fixed either manually, or by Really Simple SSL Pro. This is because the links are hardcoded in (CSS or JavaScript) files on your site, or because they’re hardcoded in files on other domains, or simply because the requested domain does not have an SSL certificate.

If the mixed content fixer is activebut you still don’t have the green lock, you have a type of mixed content that can’t be fixed automatically:

  • HTTP links in stylesheets or JavaScript files
    Some .css or .js files contain hardcoded http links, which will cause mixed content warnings. For example, if you use a theme that generates custom CSS with hardcoded http links, this will cause mixed content warnings.
  • Hot linked images
    If you have embedded an image on your domain, domain-1.com, and the URL to that image is domain-2.com, and domain-2 does not have an SSL certificate, this image will be blocked by the browser.
  • HTTP links in your site to JavaScript files or stylesheets on other domains
    These will get fixed by Really Simple SSL, but again: if the remote domain does not have an SSL certificate, these files can’t get loaded over https.
  • Included js or CSS files on other domains, and this domain does not have an SSL certificate
    If you include files from another domain, this domain also needs to have an SSL certificate.
  • HTTP links in CSS or js files on other domains
    If the remote files can get loaded over https, but contain hardcoded http links (which happens a lot) this will result in mixed content warnings.

These links can be located in theme files, plugins, or in a widget that you inserted on your site. Sometimes images are inserted from another website, with that website’s URL, which won’t work anymore if that URL can’t load on SSL.

To find these issues, you might consider buying the Really Simple SSL Pro plugin. Really Simple SSL Pro scans your entire site for all possible issues in files and the database. It then creates a list of issues to fix, and when possible it offers a “fix” option. If not, you’ll get instructions on how to fix it. For example, the plugin can’t fix a hot-linked image if the image doesn’t exist, or if the remove server blocks the downloading. Besides this, you get added options to improve your security, such as HTTP Strict Transport Security, the preload list, a certificate expiration warning option, a mixed content fixer for the admin, and much more.

If you want to do this manually:

First, check if the mixed content fixer is active.

If it is, you’ll have to track down the URLs that were not fixed automatically.

  1. Clear any cache in your browser, by clearing the history
  2. If you have a caching plugin active, clear the cache and check if it has been cleared.

Still getting mixed content warnings? Follow these steps:

Find the warnings in the console

Open your site in Google Chrome,

Right-click on your website. A drop down will appear, with an option to “Inspect”

When you click the “Inspect” option, part of your browser changes into a development screen:

To enter the console, simply click “Console”. You will then see the mixed content warnings, such as:

Mixed Content: The page at ‘https://domain.com’ was loaded over https, but requested an insecure image ‘http://domain.com/…’. This content should also be served over https. A mixed content warning will always show ‘Mixed content’. Other warnings can be ignored for mixed content purposes.

Now we are getting somewhere! You will find some links written in yellow/red characters. These links are the cause of your frustrations. How to fix them depends on your theme, plugins, etc.

Traceback the mixed content warnings to the origin

In most cases the mixed content fixer in Really Simple SSL will fix all issues in your HTML, so we can expect most issues to be in the resources. Usually, if the site doesn’t have a secure lock right away, and the mixed content is coming from your own domain the issue is caused by caching. Clearing all caches the website uses usually resolves mixed content issues. If your site uses Elementor or Divi, you might have to perform some additional steps before your site becomes fully secure. See the respective articles for detailed instructions (Elementor, Divi).

Development console advanced search

The development console offers an advanced search feature to determine the origin of the mixed content. On a Mac, press Option + Command + F to open this feature. On Windows, press Ctrl + Shift +F. When pressed, a small search box will appear:

In this box, you can copy the URL of the image we have previously identified as causing mixed content. Pressing Enter will do a search and show more information about the location of the image. This search will usually find mixed content in .css and .js files too.

Manual Method

Some mixed content cannot be found by the advanced search. To manually find the cause of the mixed content, right-click on the page and click on “View source”.
If we click “View source”, we now see the HTML code of the page. Do a search (CTRL+F or CMD+F) on the insecure link you found in the previous steps.

If the link is not in the source, it is probably located in a .css or .js file generated by a plugin or your theme. Check all your plugins, re-save the options, and do the same with your theme.
To find mixed content in your CSS or JS, you can also download these files from your server, do a search on the insecure URL and replace any http links you might find.

Of course, you can save yourself some time and buy the premium plugin which offers the scan that does all of this automatically and offers Secure cookie setting, HSTS, SSL expiration warnings, and includes premium support as well.

How to track down mixed content or insecure content (2024)

FAQs

How do you identify mixed content? ›

If your HTML is loaded over https, and your resources load (partly) over http, the content is “mixed”: you have mixed content. There can also be other causes: for example, an image that loads over https, but gets redirected to http. Finding these insecure resources in the browser is usually not so difficult.

How to bypass mixed content? ›

How to Fix Mixed Content Warnings (4 Steps)
  1. Find Out Which Resources Are Loading Over HTTP. The first thing you'll need to do is find out which resources are still loading over HTTP. ...
  2. Verify Whether HTTP Resources Are Accessible Over HTTPS. ...
  3. Perform a Search and Replace. ...
  4. Confirm That the Mixed Content Warnings Are Gone.
Sep 18, 2023

How to solve mixed content error in WordPress? ›

If a hard-coded image or script is responsible for the mixed content warning on your WordPress website, one simple solution is to switch your URLs from HTTP to secure HTTPS versions instead. You can either replace those files manually by directly editing your theme files.

What is the mixed content rule? ›

Mixed content occurs when TLS-protected sites contain elements that are loaded over the unsecure HTTP protocol. This creates a vulnerability that attackers can exploit.

How to fix insecure content was loaded over HTTPS but requested an insecure resource? ›

I had this error with an iframe to another website. I changed the src from "https://website.com/folder" to "https://website.com/folder/index.php" and for some reason it works. If you're using nginx as a reverse proxy, modify the ssl server block to include this line. In my case, the blocker was at the path.

What is an example of mixed content? ›

For example, a single compromised Javascript file compromises the entire website, regardless of how other resources are loaded. Passive mixed content includes resources whose impact on the page's overall behavior is more minimal, such as images, audio, and video.

How to check mixed content on a website? ›

If the browser detects mixed content on the page of a website, it will display a red colored triangle to the left of the browser's URL field. This indicates that the SSL certificate has been not been implemented correctly on a server or the page is having insecure internal links.

What is blocked mixed content? ›

Mixed content occurs if the initial request is secure over HTTPS, but HTTPS and HTTP content is loaded to display the web page. HTTPS content is secure. HTTP content is insecure. Modern browsers might block the display of a page or display warning messages if secure content is mixed with insecure content.

How to allow insecure content? ›

Visit the website in question. Click the lock icon in the address bar (left side). Select "Site Settings." Under "Insecure Content," choose "Allow."

How do I allow running insecure content? ›

To allow insecure content on individual sites within Chrome, click on the lock icon in the URL bar, then click 'Site settings'. There you will see a list of various permissions the page has. Choose 'Allow' next to 'Insecure content'.

What is insecure content? ›

What's Insecure Content? Insecure content is any file linked to from a web page via an HTTP link rather than an HTTPS link. (The 'S' signifies that the link is secure). If there's any insecure content on a page, it means that the whole page can only be available at an HTTP link.

How to fix insecure content in WordPress? ›

Resolving Mixed Content Errors
  1. Verify there is a valid SSL installed by clicking on the padlock icon. ...
  2. Configure the page to force HTTPS requests: ...
  3. Change your site's URL in the Settings > General page of your WordPress Admin Dashboard from HTTP to HTTPS.
  4. Purge WP Engine server caches.
  5. Purge browser cache OR,
Mar 8, 2024

What causes mixed content? ›

Mixed content occurs when initial HTML is loaded over a secure HTTPS connection, but other resources (such as images, videos, stylesheets, scripts) are loaded over an insecure HTTP connection.

How do I enable mixed content? ›

Click the Custom Level button. Scroll down the settings list to Miscellaneous. Select Enable for Display mixed content instead of Prompt. Click Yes.

How to fix mixed content in SSL? ›

How to Fix Mixed Content Issue?
  1. Step 1: Identify Mixed Content on the Page. ...
  2. Step 2: Check if the Resource is Available in HTTP and HTTPS. ...
  3. Step 3: Migrating an HTTP Resource to HTTPS. ...
  4. Step 4: Update the Source File. ...
  5. Step 5: Check Whether the Error Has been Resolved.
Jan 23, 2024

How to unblock loading mixed active content? ›

A shield icon will appear in the address bar when mixed content is blocked. To display the mixed content, click the shield icon, then click Load anyway or Load unsafe script. Repeat this for each page you would like to load where the shield icon appears.

How to fix blocked loading mixed active content in WordPress? ›

Resolving Mixed Content Errors
  1. Verify there is a valid SSL installed by clicking on the padlock icon. ...
  2. Configure the page to force HTTPS requests: ...
  3. Change your site's URL in the Settings > General page of your WordPress Admin Dashboard from HTTP to HTTPS.
  4. Purge WP Engine server caches.
  5. Purge browser cache OR,
Mar 8, 2024

Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 5558

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.