Your site loads over HTTPS, the padlock looks fine in Chrome — until a user clicks through to a product page and suddenly the address bar throws up a warning. That's mixed content, and it's more than a cosmetic problem. It quietly chips away at user trust, breaks features, and creates signals that search engines do pay attention to.
So how much does mixed content actually affect your search rankings? Let's break down what's real, what's myth, and what to do about it.
What Mixed Content Actually Is
Mixed content happens when a page served over HTTPS loads sub-resources — images, scripts, stylesheets, iframes, fonts, XHR requests — over plain HTTP. Browsers split these into two categories:
- Passive mixed content: images, audio, video. Browsers typically load these but flag the page as not fully secure.
- Active mixed content: scripts, stylesheets, iframes, fetch/XHR. Modern browsers block these outright.
That distinction matters because the SEO impact runs through two different mechanisms: ranking signals and broken functionality.
The Direct SEO Impact
HTTPS is a confirmed ranking signal
Google confirmed back in 2014 that HTTPS is a lightweight ranking signal. The catch: a page with mixed content isn't really fully HTTPS. Googlebot can render pages and observe what browsers see. If active content is blocked, the rendered DOM Google indexes may be missing critical elements — your hero image, structured data injected by JavaScript, lazy-loaded product descriptions.
Crawling and rendering issues
When Googlebot renders a page and an HTTP script is blocked, anything that script was supposed to render simply doesn't exist in Google's index. We've seen real cases where:
- Schema.org markup injected via an HTTP-loaded analytics or tag manager script never made it into search results.
- Product reviews loaded via an insecure widget were invisible to Google, killing rich snippets.
- Internal links rendered by a blocked JS framework weren't crawled, leaving deep pages orphaned.
Core Web Vitals knock-on effects
Mixed content fixes often involve fallbacks or retries, which slow pages down. A page that fails to load a critical stylesheet over HTTP and then re-requests it over HTTPS will hit a layout shift. That's a direct CLS hit, and CLS is part of the page experience signal.
The Indirect (and Often Bigger) Impact
User trust and behaviour signals
Chrome, Firefox, Safari and Edge all show "Not Secure" warnings for pages with mixed content. Users bounce. Higher bounce rates and shorter dwell times on specific URLs feed into how Google evaluates page quality over time, especially in competitive SERPs.
Broken referral and conversion tracking
If your analytics or conversion scripts are loaded over HTTP and get blocked, you'll see traffic gaps that look like ranking drops but are really measurement failures. Teams then chase phantom SEO problems instead of the actual mixed content issue.
Migration penalties
Sites mid-migration from HTTP to HTTPS are the most common offenders. If you've migrated but kept hardcoded http:// URLs in your CMS, you're sending mixed signals to Google about which version of the site is canonical.
How to Find Mixed Content on Your Site
You can't fix what you can't see. Here's a practical detection workflow:
- Open DevTools: In Chrome, open Console and look for "Mixed Content" warnings. The Security tab shows a full inventory per page.
- Check the CSP report-only header: Deploy
Content-Security-Policy-Report-Only: upgrade-insecure-requests; report-uri /csp-reportand collect violations across real traffic. - Crawl with a site auditor: Screaming Frog, Sitebulb, or similar tools can flag insecure resources at scale.
- Run a WebSentry scan: WebSentry checks SSL, headers, CSP, and surfaces mixed content issues in one report, which is useful when you need a quick overview before deciding where to dig deeper.
- Search your codebase and database: Grep for
http://andsrc="httpin templates, then run a SQL query for HTTP URLs in your content tables.
Fixing Mixed Content the Right Way
1. Update hardcoded URLs
For WordPress, run a search-replace using WP-CLI:
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --skip-columns=guidFor other stacks, write a migration script that touches posts, page builders, custom fields, and serialized data carefully.
2. Use protocol-relative URLs sparingly
Protocol-relative URLs (//example.com/script.js) were a workaround in 2014. In 2025, use explicit https:// everywhere. It's clearer for crawlers and easier to audit.
3. Add upgrade-insecure-requests
Set this header on every HTTPS page:
Content-Security-Policy: upgrade-insecure-requestsThis tells browsers to automatically upgrade HTTP sub-resource requests to HTTPS. It's not a substitute for fixing the source, but it's a strong safety net.
4. Audit third-party embeds
The worst offenders are usually old embeds — YouTube widgets from 2015, insecure ad networks, legacy CRM forms. List every third-party script and confirm each one supports HTTPS. If not, replace it.
5. Lock it down with HSTS
Once everything is clean, send the HSTS header:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadHSTS forces browsers to use HTTPS even if a user types http://. Combined with HSTS preload, you eliminate downgrade attacks and accidental mixed content from typed URLs.
Common Mistakes to Avoid
- Fixing only the homepage. Mixed content tends to hide on older blog posts, PDFs, and product pages. Crawl the whole site.
- Ignoring canonical and hreflang tags. Both should point to HTTPS versions. Mismatched canonicals can cause Google to index the HTTP version of pages even after migration.
- Forgetting the sitemap. Your XML sitemap should list HTTPS URLs only, and you should submit it fresh in Google Search Console after a migration.
- Not redirecting HTTP to HTTPS. A 301 redirect from every HTTP URL to its HTTPS equivalent is non-negotiable. Without it, Google treats the two as separate sites and splits link equity.
- Leaving old CDN URLs. If your CDN was on HTTP and you've migrated, check that all asset URLs use the HTTPS CDN endpoint.
How Much Will Fixing It Actually Move Rankings?
Realistic expectations: cleaning up mixed content rarely produces a dramatic ranking jump by itself. What it does is remove a drag — slightly better Core Web Vitals, fully indexed JavaScript-rendered content, restored analytics, and a trust signal that compounds with everything else. For sites with widespread issues, expect modest improvements in impressions and CTR within a few weeks after Google recrawls.
For competitive niches where every signal counts, that drag removal can be the difference between page two and page one.
If you want a quick health check on mixed content, SSL, headers, and CSP without spinning up a full audit, run a free scan at websentry.dev — you'll get a graded report you can hand to a developer or use as your fix-list.
Check your own site
Run a free security scan and see if your site has the issues covered in this article. Results in under 30 seconds.