How to Fix Mixed Content Issues After DNS Migration in cPanel

What Is Mixed Content?

Mixed content happens when your website loads over HTTPS, but some of your resources (images, CSS, scripts, videos) still load over HTTP.

Example of insecure links causing the problem:

  • http://yourdomain.com/image.jpg
  • http://yourdomain.com/style.css
  • http://cdn.yourdomain.com/script.js

This breaks your SSL and makes the browser mark your site as “Not Fully Secure.”

After a DNS migration, this problem appears because:

  • URLs were hard-coded to HTTP
  • The new server uses HTTPS but old paths still exist
  • CDN or subdomains use old DNS records
  • A caching plugin is still pointing to the old insecure URLs

Let’s fix it.

1. Confirm Your SSL Is Installed and Active on the New Server

Before fixing mixed content, make sure your SSL certificate is active.

Here’s how:

1. Log in to cPanel

2. Go to SSL/TLS Status

Enable or Reinstall SSL in cPanel

3. Click Run AutoSSL

Enable or Reinstall SSL in cPanel

4. Ensure both yourdomain.com and www.yourdomain.com show green padlocks

If SSL is not active, mixed content will continue no matter what you fix.

2. Update Your DNS Correctly (Very Important)

Mixed content often appears because your DNS was migrated but the old server is still being referenced.

Make sure:

  • A-record points to the new telaHosting IP
  • www CNAME points to your main domain
  • Old CDN or subdomain records are updated
  • You deleted outdated HTTP redirection rules

Go to: cPanel → Zone Editor → Manage

Choose the Domain You Want to Manage

Correct format:

@         A       new-server-IP

www       CNAME   yourdomain.com

After updating DNS, wait a few minutes.

3. Clear Your Browser and Device DNS Cache

Your device may still be loading old insecure URLs.

Try this:

  • Force refresh (CTRL + SHIFT + R)
  • Try the site in incognito
  • Test with mobile data
  • Restart your browser

If the issue disappears on mobile but not on your PC → it’s device caching.

4. Fix Mixed Content Automatically (WordPress Users)

If your website runs on WordPress, this is the fastest method. Install this plugin: Really Simple SSL

It automatically:

  • Rewrites HTTP links to HTTPS
  • Fixes insecure images
  • Cleans your .htaccess
  • Enables secure redirects

After activating it, your site becomes fully secure in seconds.

5. Fix Mixed Content Manually (Non-WordPress or Custom Sites)

If you’re not using WordPress, update insecure URLs manually.

Step 1: Search for old HTTP URLs

Check these places:

  • HTML files
  • CSS files
  • JS files
  • Includes or theme files
  • Image paths
  • Config files

Replace: http://yourdomain.com/ with: https://yourdomain.com/

Make sure every file points to HTTPS.

6. Update Your .htaccess to Force HTTPS

Even after fixing your URLs, your site may still load HTTP unless you force HTTPS at the server level.

Add this code inside public_html/.htaccess:

  • RewriteEngine On
  • RewriteCond %{HTTPS} !=on
  • RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

This automatically converts all old HTTP traffic to HTTPS.

7. Clear Cache (Server, CDN, or Website)

Mixed content can stay because cached files still use old HTTP URLs.

Make sure you clear:

  • Browser cache
  • WordPress cache plugins (LiteSpeed, WP Rocket, etc.)
  • CDN cache (Cloudflare, BunnyCDN)
  • cPanel cache (LiteSpeed or Apache cache)

If you’re using Cloudflare:

Go to: Cloudflare → Caching → Purge Everything

This instantly refreshes your site.

8. Check If External Scripts Are Causing Mixed Content

Sometimes the issue isn’t from your domain. It may come from:

  • Old analytics scripts
  • HTTP CDN links
  • External fonts
  • Old JavaScript from a previous host

If any external resource still uses http://, update them to https://.

9. Update Subdomains (CDN, Blog, Files, Store…)

If you use subdomains:

  • cdn.yourdomain.com
  • blog.yourdomain.com
  • store.yourdomain.com

Each must have:

  • A-record pointing to the right IP
  • SSL installed
  • HTTPS forced

Otherwise, they will trigger mixed content warnings.

Conclusion

Fixing mixed content issues after a DNS migration is easier than it seems. The key is making sure your SSL is active, your DNS is updated correctly, and every resource on your site loads securely through HTTPS. Once you clean up old HTTP links and force HTTPS, your website becomes fully secure again—no warnings, no broken images, no browser errors.

FAQs

1. How long does it take for mixed content fixes to reflect?

Usually within minutes after clearing cache.

2. Why do images disappear after DNS migration?

Their URLs still point to old HTTP paths.

3. Will installing SSL alone fix mixed content?

No — you must update insecure resource URLs too.

4. Do I need a paid SSL to fix this?

No. telaHosting AutoSSL works perfectly.

5. Can Cloudflare cause mixed content?

Yes, if your SSL mode is not set to “Full” or if DNS is outdated.

Need help? Our friendly support team is always here for you! Reach out below.

Happy hosting! 🌟

Leave a Reply

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