How to fix mixed content on Shopify

Audit every page, asset, and third-party embed on your store to ensure no HTTP resources are loaded on HTTPS pages, and fix any mixed-content violations before they silently break security warnings or block content in visitors' browsers.

Steps for Shopify

  1. Shopify enforces HTTPS on all storefronts automatically, so the most common source of mixed content is hardcoded HTTP URLs in theme files or content.
  2. Go to Online Store → Themes → your active theme → Actions → Edit Code.
  3. Use the built-in search (the magnifying glass icon in the code editor) to search for 'http://' across all Liquid, CSS, and JS files. Update any found instances to 'https://'.
  4. Also check Online Store → Pages, Blog Posts, and product/collection descriptions — open each rich-text editor and look for embedded images or media inserted with HTTP URLs; update them to HTTPS.
  5. For third-party scripts added via Online Store → Themes → Edit Code → theme.liquid or layout files, ensure each <script src='...'> and <link href='...'> uses https://.
  6. To add the CSP upgrade-insecure-requests meta tag as a safety net, add <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> inside the <head> tag in your theme.liquid file.
  7. Save and preview your store; open browser DevTools (F12 → Console) to confirm no mixed-content warnings remain.
Official Shopify documentation ↗
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

What is mixed content?

Mixed content happens when a web page is loaded securely over HTTPS but one or more of its resources — images, scripts, stylesheets, fonts, videos, iframes, or API calls — are still requested over plain HTTP. Browsers treat this as a security problem because the encrypted connection protecting your page can be undermined by an unencrypted resource. There are two kinds: "passive" mixed content (images, audio, video) which browsers may still display but flag with a warning, and "active" mixed content (scripts, stylesheets, iframes) which modern browsers block entirely, breaking functionality. A clean HTTPS store means every single request on every page uses HTTPS — no exceptions.

Mixed content directly harms your store in four ways. First, browsers show a "Not Secure" warning or remove the padlock icon, which destroys shopper trust and causes cart abandonment — studies consistently show customers abandon checkout when they see security warnings. Second, blocked active mixed content (a blocked script or stylesheet) can silently break your add-to-cart button, checkout form, live chat widget, or payment processor embed, costing you direct revenue with no obvious error message to trace. Third, Google has stated that HTTPS is a ranking signal; mixed-content warnings can undermine that signal and signal a poorly maintained site. Fourth, if your store is subject to PCI-DSS (required for card payments), serving payment-related resources over HTTP is a compliance violation that can result in fines or loss of payment processing privileges.

See the complete Mixed content guide for every platform and the full background.

Not sure if your Shopify store has this?

Run a free SEOLZ audit — we’ll find mixed content and every other issue across your whole site.

Scan my site free

Fix mixed content on another platform