Frequently Asked Questions

FAQ / General

How to Fix the Mixed Content Error on Prestashop

Fixing mixed content errors on a PrestaShop site involves ensuring that all resources are loaded over HTTPS. Here s how you can address this issue:

1. Enable SSL in PrestaShop Settings

Admin Panel: Log in to your PrestaShop admin panel.

Preferences: Go to Shop Parameters > General.

Enable SSL: Find the "Enable SSL" option and set it to "Yes". Save the changes.

Force SSL: Once SSL is enabled, another option "Force SSL on all pages" will appear. Set this to "Yes" and save the changes.

2. Update URLs in the Database

Search and Replace: Use a tool like phpMyAdmin to search for http:// and replace it with https:// in your database.

SQL Query:

sql

UPDATE ps_configuration SET value = REPLACE(value, 'http://', 'https://') WHERE name LIKE '%URL%';

UPDATE ps_shop_url SET domain = REPLACE(domain, 'http://', 'https://');

UPDATE ps_shop_url SET domain_ssl = REPLACE(domain_ssl, 'http://', 'https://');

DB Cleaner: You can also use PrestaShop modules like DB Cleaner to help manage and clean your database.

3. Update Media URLs

Ensure all media files (images, videos, etc.) are referenced with HTTPS URLs. You may need to manually update URLs in product descriptions, banners, and other content.

4. Check and Update Theme and Modules

Themes: Ensure that your theme files load resources (scripts, stylesheets, images) over HTTPS. You may need to manually update theme files.

Modules: Ensure that all modules are loading resources over HTTPS. Check module settings and update any hardcoded URLs.

5. Update .htaccess File

Edit your .htaccess file to enforce HTTPS. Add the following code:

apache

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

6. Use SSL Enforcer Modules

Consider using a PrestaShop module like SSL Every Page or similar to force HTTPS on all pages.

7. Clear Cache

PrestaShop Cache: Clear the cache by going to Advanced Parameters > Performance and clicking on "Clear cache".

Browser Cache: Clear your browser cache.

CDN Cache: If using a CDN, clear its cache as well.

8. Manual Checks

Manually inspect your site's source code to identify any remaining http:// references and update them to https://.

9. Use Online Tools

Use online tools like Why No Padlock or SSL Checker to identify and resolve mixed content issues.

10. External Resources

Ensure that any external resources your site loads (like fonts, scripts, or images from other domains) are served over HTTPS.

If an external resource is not available over HTTPS, consider hosting it locally or finding an HTTPS alternative.

Following these steps should help you resolve mixed content errors on your PrestaShop site, ensuring that all resources are loaded securely over HTTPS.