Technical SEOIntermediate

Mixed content

Mixed content is when an HTTPS page loads images, scripts or styles over plain HTTP. Browsers upgrade or block those requests, which can break pages.

Mixed content happens when a page served over HTTPS requests some of its resources, such as images, scripts, stylesheets or iframes, over insecure HTTP. Browsers treat these requests as a security risk. Modern browsers try to upgrade many of them to HTTPS automatically and block the rest, so mixed content can leave pages with missing images, broken layouts or features that silently fail.

Types of mixed content

Browsers distinguish between resources that can do little harm if tampered with and those that can take over the page. Images, audio and video were traditionally called passive or upgradable content; scripts, stylesheets, iframes and fetch requests are active or blockable. Active mixed content is blocked outright. Chrome and other browsers now auto-upgrade upgradable content to HTTPS and block it if the upgrade fails.

Why it matters for SEO

If a blocked script renders content or a blocked stylesheet sets layout, the page Google renders may differ from what you intended. Missing images lose their place in image search. Browser warnings can also reduce trust. Mixed content most often appears after a move to HTTPS, when old content still contains hard-coded http:// URLs.

Finding and fixing it

Browser dev tools list mixed content in the console. Site crawlers can report it across all pages. Fix the source by changing URLs to HTTPS or to relative paths, and check that each third-party host supports HTTPS. As a safety net, a Content-Security-Policy header can upgrade remaining requests.

Content-Security-Policy: upgrade-insecure-requests

Example

Old blog images after an HTTPS move

Driftcairn, a project budgeting SaaS, moved to HTTPS years ago, but older blog posts embed images from an http:// asset host that has no certificate. Browsers block the upgrade, and the images disappear. A database search and replace to the CDN's HTTPS URLs restores them.

Common mistakes

Relying only on upgrade-insecure-requests

The header helps, but if the target host does not support HTTPS the request still fails. Fix URLs at the source.

Ignoring CMS content

Templates are easy to fix. Hard-coded URLs inside years of post bodies are where mixed content tends to hide.

Questions

Usually not by itself. The risk is that blocked resources change what renders, which can affect content, layout and image indexing.

Know the terms. Now win the searches.

We find the searches your buyers make, then build, publish and improve the pages that win them.