Why Mixed Content Shows Up
- Hardcoded
http://URLs left over from before an HTTPS migration. Old markup, CMS content, or a database of stored asset URLs written back when the site ran on plain HTTP and never updated. - Third-party embeds and widgets still serving over HTTP. An ad network, a comment widget, or an old analytics snippet that never migrated its own delivery to HTTPS.
- CDN or asset host URLs missed during a protocol migration.The main domain moved to HTTPS, but a subdomain or third-party asset host serving images or fonts wasn't updated at the same time.
- User-generated content with pasted HTTP links. A user submits content (a forum post, a product review, a CMS field) containing an
http://image or embed URL that gets rendered as-is.
How to Identify Every Instance
Scanverra detects mixed content by loading your page in a real browser and capturing its actual network activity - both the Browser Test and the security scan flag any request that starts with http://while the page itself is served over HTTPS. Because it's based on real captured network requests rather than a static scan of your HTML source, it catches resources loaded dynamically by JavaScript after the page renders, not just ones hardcoded directly in your markup.
How to Fix It
1. Replace hardcoded http:// URLs with https://
1<img src="http://cdn.example.com/testimonial-1.jpg" alt="Customer headshot" />1<img src="https://cdn.example.com/testimonial-1.jpg" alt="Customer headshot" />2. Add upgrade-insecure-requests as a backstop
This CSP directive tells the browser to automatically rewrite any remaining http:// requests to https:// before sending them, catching URLs you missed - though it only works if the resource is genuinely reachable over HTTPS at that host:
1Content-Security-Policy: upgrade-insecure-requests3. Audit third-party embeds specifically
Third-party scripts and widgets are the most common source of mixed content you don't directly control - check each one's documentation for an HTTPS embed URL, and remove any that don't offer one.
4. Sanitize or rewrite protocol in user-submitted content
If users can submit content containing URLs, rewrite http:// to https:// at render time (or reject the submission) rather than rendering whatever protocol was pasted in.
How Scanverra Detects This
Both Scanverra's Browser Test and its security scan capture your page's real network requests in a live browser and flag any that start with http:// on a page served over HTTPS - a genuine runtime check against actual traffic, not a text search of your source.
