Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Fix Mixed Content Warnings on a WordPress Site (HTTPS Guide)

A practical WordPress guide to eliminating mixed-content warnings after SSL: locate the offending request, repair first- and third-party URLs, migrate safely, and verify every page.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Mixed-content warnings appear when an HTTPS WordPress page still requests something over HTTP. Open the browser’s developer console to identify the exact request, test that URL with HTTPS, then correct the reference in WordPress, your theme or plugin, the database, or the third-party service that supplied it. Do not leave HTTP scripts, stylesheets, fonts or frames on an HTTPS page.

Make a backup and use staging before bulk edits. Set WordPress’s canonical URLs to HTTPS only after the certificate, HTTPS virtual host and redirect work correctly. Purge every cache layer and retest pages, forms and JavaScript after the change.

As an Amazon Associate I earn from qualifying purchases.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What mixed content means

A page loaded through https:// is expected to obtain its subresources through the same protected connection. Mixed content exists when that page asks for one or more resources at http://. The browser may block the request, upgrade some media automatically, or load it with a warning, depending on the resource type and browser.

MDN distinguishes between blockable active content and content that browsers may try to upgrade. The practical rule is stricter than the browser’s best effort: every resource should have a working HTTPS URL. MDN’s guidance is, “The best strategy to avoid issues with mixed content is to serve all the content as HTTPS.” Read the behavior details in MDN’s mixed-content documentation.

Resource in the page Typical browser treatment What you should do
JavaScript files Usually blocked as active mixed content Change the source to a working HTTPS URL or remove it
CSS stylesheets Usually blocked; the page can lose its layout Serve the stylesheet over HTTPS
Web fonts Often blocked or refused by the browser Use an HTTPS font endpoint and check cross-origin settings
Frames and embedded documents Commonly blocked Use an HTTPS embed URL or a provider’s secure embed code
Images, audio and video Some are “upgradeable” and may be rewritten to HTTPS Correct the stored URL anyway; an HTTP-only host will fail

An auto-upgraded image can make a page look fixed while leaving a broken request, a console error or an insecure dependency elsewhere. Auto-upgrade is not a replacement for correcting the URL.

Why the padlock can be missing after SSL is enabled

Installing a certificate protects the connection to your server, but it does not rewrite URLs already stored in posts, widgets, theme files or plugin settings. A page can therefore be delivered by HTTPS while its HTML, CSS or JavaScript still points to an old HTTP address. Browsers then warn that the page is not fully secure, block functionality, or omit the normal lock indicator.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Mixed active content weakens the HTTPS security boundary. Someone able to interfere with the network could alter an HTTP script or stylesheet before it reaches the browser, even though the main document arrived over HTTPS. A failed image is inconvenient; a blocked login script, checkout script or form handler can be a functional and security problem.

Prepare before changing WordPress

First establish that HTTPS itself is healthy. WordPress recommends HTTPS to protect logins and visitors; its current guidance is at WordPress HTTPS documentation.

  • Confirm the certificate is valid for the exact hostname visitors use, including the chosen www or non-www form.
  • Confirm the HTTPS virtual host (or hosting configuration) serves the site and that an HTTP request redirects to the intended HTTPS canonical URL.
  • Take a database and file backup. If possible, clone the site to staging and test the changes there first.
  • Record the current URL format, active plugins, theme and any CDN or reverse-proxy layer. This makes it easier to identify which component generated a request.

Do not change WordPress’s URL settings merely to hide the warning. If the HTTPS server is not ready, changing those settings can make the dashboard and front end inaccessible.

Find the exact HTTP request

The browser console identifies the real cause faster than guessing from the padlock. Check an affected page while it is loaded over HTTPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open the page in a current browser and open Developer Tools (usually with F12 or the browser’s menu).
  2. Select Console. Reload the page with the console open. Look for messages containing “Mixed Content” and an http:// URL.
  3. Select Network, reload again, and filter for http:// or inspect failed and blocked requests. Record the full URL, resource type, initiator and response status.
  4. Open the same hostname by replacing http:// with https://. If the secure URL loads the expected resource, the reference can be changed. If it fails, the host may not support HTTPS, may redirect incorrectly, or may be HTTP-only.
  5. Use the initiator or source location to determine whether the URL came from post content, a widget, a theme file, a plugin setting, a media field or generated HTML.

Repeat this process on more than the home page. A contact page, logged-in view, template-driven landing page and checkout can each enqueue different resources.

Set WordPress’s canonical URLs to HTTPS

Once the server and redirect are working, go to Settings > General in the WordPress dashboard. Change both WordPress Address (URL) and Site Address (URL) to the same HTTPS canonical address, then save.

These fields control the address of the WordPress installation and the public site. They do not repair every old URL in the database, nor do they convert third-party assets. If you cannot reach the dashboard after a mistaken change, restore the previous values through the supported configuration method for your host or from a backup, then correct the HTTPS server first.

After saving, sign out and back in, open the front end in a private window and inspect the source and console. Avoid changing one of the two fields to a different hostname unless you intentionally run WordPress and the public site at separate addresses.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Replace old URLs throughout the site

Search for the old HTTP form using a controlled, reversible process. A single URL can exist in several places, so fixing the first occurrence may not remove every warning.

Posts, pages and reusable content

Edit blocks, classic-editor HTML, reusable blocks, navigation menus, widget text and custom HTML fields that contain http://your-domain.example. Update image, audio, video, download and embed URLs to the exact HTTPS address. Inspect captions, background-image declarations and links hidden behind buttons; they are easy to miss in a visual editor.

Theme files and child-theme assets

Check the active theme and child theme for hard-coded URLs in CSS, JavaScript, template files and enqueue calls. A background image in a stylesheet can trigger a warning even when every image in the editor is correct. Prefer WordPress’s enqueue mechanisms and relative or site-aware URLs where the theme supports them, rather than embedding a fixed HTTP hostname.

Plugin settings and generated markup

Review settings for sliders, galleries, analytics, maps, forms, cookie tools, chat widgets and page builders. Some plugins store a URL in their own options and print it on every page. Update the setting to HTTPS, update the plugin if it has a secure configuration, or remove the feature if its provider has no HTTPS endpoint.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Media metadata and database records

Media attachment metadata, serialized options and builder-specific records can contain old URLs that do not appear in the editor. Use a search-and-replace tool that understands serialized data, and test it on staging. Make the replacement specific to your old site URL instead of replacing every occurrence of the string http://; unrelated external addresses may be intentionally different.

Run the operation in a transaction or in small batches when your tool supports it, keep the backup until verification is complete, and review a sample of changed records. A blind database replacement can corrupt serialized lengths or alter URLs that should not be migrated.

Handle external resources correctly

For a resource hosted outside your domain, test the provider’s HTTPS URL directly. If the same file, font or embed works at HTTPS, replace the HTTP reference in the plugin, theme or content that generated it. Where the provider offers a secure embed-code option, use that current code rather than editing only one attribute.

If the provider is HTTP-only, do not keep the dependency on an HTTPS page. Choose an HTTPS-capable replacement, self-host a resource when you have the right to do so and can maintain it, or remove the feature. Do not proxy an untrusted script through your own domain simply to make the warning disappear; that transfers the risk and creates a maintenance obligation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Scripts and stylesheets: never leave an HTTP version in production. They can be blocked and can alter the page.
  • Fonts: use an HTTPS endpoint and verify that the server sends appropriate cross-origin headers for your domain.
  • Frames: replace an HTTP embed with the provider’s secure embed URL; a frame can remain blocked even when the parent page is secure.
  • Images and media: update the stored URL even if the browser currently upgrades it. Otherwise an HTTP-only host or a future browser policy can break it.

Use Content-Security-Policy only as a transition control

If legacy references remain while you complete the migration, the response header Content-Security-Policy: upgrade-insecure-requests tells supporting browsers to rewrite HTTP URLs to HTTPS before requesting them. Configure the header at the web server, CDN or reverse proxy according to your hosting setup.

Content-Security-Policy: upgrade-insecure-requests

This directive cannot create an HTTPS service where none exists. An HTTP-only resource will fail after the rewrite, and active content can still be unavailable. It can also conceal the original source of a broken dependency during troubleshooting. Treat it as a temporary safety net while you correct stored URLs, and keep testing with the console open. The directive’s limitations are documented by MDN’s upgrade-insecure-requests reference.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Purge caches and check proxy behavior

WordPress may be fixed while visitors continue to receive old HTML or CSS from a page cache, object cache, CDN or reverse proxy. Purge or invalidate each layer after URL changes, then clear any separate browser cache used for testing.

Check that the proxy recognizes the original protocol correctly. A misconfigured TLS terminator can make WordPress think a request is HTTP and generate HTTP links, redirect loops or mixed URLs. Ensure the proxy forwards the appropriate protocol information and that WordPress, the cache and the origin agree on the HTTPS canonical host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When you change a theme or plugin asset, purge its generated CSS and JavaScript as well as full-page HTML. A stale stylesheet containing one HTTP background image is enough to keep the warning alive.

Verify the repaired site

Verification should test behavior, not just the lock icon.

  1. Open a clean private-browser session and load representative pages over the final HTTPS URL.
  2. Keep Console and Network visible. Confirm there are no mixed-content errors, blocked scripts or failed upgraded requests.
  3. Exercise JavaScript interactions: menus, search, sliders, modal dialogs, login, registration, forms and any editor or upload workflow.
  4. Submit forms and test redirects, downloads, embedded media and payment or checkout flows in the appropriate test mode.
  5. Check both anonymous and logged-in views, mobile layouts and pages generated by custom templates or page builders.
  6. Run a crawler or site-wide link checker that can report http:// references in HTML, CSS and JavaScript. A browser check covers one rendered page; a crawler finds templates and URLs no visitor has opened yet.
  7. Open Tools > Site Health and review the status and recommended improvements. WordPress explains the screen and its diagnostics at WordPress Site Health documentation.

Keep the backup until the crawl, functional tests and cache purge are complete. If a warning returns later, compare the new console URL with the original record; a plugin update, newly enabled widget or cache regeneration may have introduced it.

Common symptoms and targeted fixes

Symptom Likely source Targeted response
The console names a script from your own domain Old enqueue code, cached HTML or a plugin option Update the enqueue or setting, purge caches and reload
Only the layout is broken An HTTP stylesheet or font was blocked Inspect Network for CSS and font requests, then switch each to HTTPS
Images appear, but the warning remains Another resource is still HTTP, or an auto-upgrade failed Review every console entry; do not assume visible images prove the page is clean
An external script fails only on HTTPS The provider has no working HTTPS endpoint or blocks your origin Use the provider’s secure URL, obtain a supported replacement or remove it
The dashboard redirects repeatedly WordPress URL and proxy protocol disagree Restore access from backup or host configuration, then align HTTPS settings and forwarded-protocol handling
The warning returns after a fix Stale CDN/page cache or another template still contains HTTP Purge all layers and run a site-wide crawl, including logged-in and special templates
A bulk replacement causes unusual formatting or errors Serialized database data was edited unsafely Restore the backup and repeat with a serialization-aware tool on staging

Choose the remediation method deliberately

There is no single safe operation for every site. Match the method to the number of URLs, who controls the resource and how easily you can undo the change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method Scope Reversibility Strength Risk or limitation
Manual edit in one page or setting One known reference High Easy to review and attribute Slow and likely to miss duplicates
Controlled database search-and-replace Many first-party records High when staged and backed up Efficient for a site-wide domain migration Unsafe if serialized data or unrelated external URLs are handled blindly
Theme or plugin code correction Generated resources High when version-controlled Stops the bad URL at its source May be overwritten by an update unless maintained in a child theme or supported setting
Provider replacement or removal Third-party resource Depends on the integration Removes an HTTP-only dependency permanently Can require redesign or feature changes
CSP upgrade directive Legacy references during migration Easy to remove Contains some accidental HTTP requests Cannot make HTTP-only resources work and can hide the original failure

Keep mixed content from returning

  • Use HTTPS URLs whenever you add media, embeds, scripts, styles or fonts.
  • Review plugin and theme changelogs and test newly generated markup after updates.
  • Keep a staging copy for migrations and maintain a recent database and file backup.
  • Include a representative HTTPS crawl in release testing, with the browser console checked for blocked or upgraded requests.
  • Monitor CDN and reverse-proxy configuration after certificate renewals or infrastructure changes.
  • Remove temporary CSP upgrade controls once every dependency has a confirmed HTTPS endpoint, or retain them only with an explicit monitoring plan.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.