Home / Core Health / Fix mixed content — load every resource over HTTPS
Content & Files · Scan Check Guide

Fix mixed content — load every resource over HTTPS

30 min Impact: medium Effort: low ✓ Scan-verified — no manual checkbox

An HTTPS page that loads even one resource — an image, a script, a stylesheet — over plain HTTP breaks the security guarantee for the entire page, and modern browsers actively block the worst cases (active mixed content like scripts) while silently degrading others.

An HTTPS page that loads even one image, script, or stylesheet over plain HTTP breaks the security guarantee for the whole page and triggers visible browser warnings.

The full picture

Mixed content — where an HTTPS page loads some resources like images, scripts, or stylesheets over plain, unencrypted HTTP — undermines the security guarantee your HTTPS implementation is meant to provide, since these individual unencrypted resource loads remain vulnerable to the same interception and tampering risks that comprehensive HTTPS enforcement is specifically meant to prevent.

Modern browsers increasingly block or warn about mixed content specifically because of this genuine security gap — an attacker positioned appropriately on the network could potentially intercept and modify these unencrypted resource loads, even on an otherwise properly secured HTTPS page, injecting malicious content through this specific gap in otherwise comprehensive encryption.

This issue commonly arises through legacy content or third-party integrations that were configured before your site fully transitioned to HTTPS, or through third-party services that themselves don't fully support HTTPS for all their resource delivery — identifying every instance of this mixed content requires genuinely thorough review of your page's actual resource loading, not simply confirming the page itself loads over HTTPS.

Remediation requires updating every identified instance to load over HTTPS instead — for resources from third-party services, this may require confirming that service actually offers HTTPS delivery, and in cases where a specific third-party resource genuinely cannot be loaded securely, considering whether that resource should be replaced with an alternative that does support proper HTTPS delivery.

How to fix it

  1. 1
    Find every hardcoded http:// reference
    Search your templates, CSS, and CMS content for src= or href= pointing to http:// URLs on any domain, including your own.
  2. 2
    Update each to https://
    Most resources — your own images, common CDN-hosted libraries, fonts — have an HTTPS version available; update the reference directly.
  3. 3
    Use protocol-relative or relative URLs where sensible
    Referencing //example.com/asset.js or /asset.js instead of hardcoding https:// prevents this from recurring if you ever change protocols again.
  4. 4
    Check old CMS content specifically
    Blog posts or pages written years ago, before your site had HTTPS, are the most common source of leftover http:// image references.

Common mistakes

How you'll know it's done

No resources on any HTTPS page load over plain HTTP — browser console shows zero mixed-content warnings.

H.I.V.E. checks this automatically

Fix it, then re-scan — the check confirms itself. No manual checkbox, the scan is the truth.

Run this check in H.I.V.E. →