After the installation of an SSL certificate and forcing the HTTPS protocol, your website may display a "Not fully secure" warning next to the domain in the URL bar:
In addition, certain elements on your website may not function properly or fail to load. This is usually due to a mixed content issue, meaning that some images or other content on your website are loading with HTTP instead of HTTPS.
To fix it, update all the links on your page to HTTPS. If you are using the Elementor plugin, go to Elementor → Tools, and in the Replace URL page, insert your domain address with HTTP and HTTPS:
Next, save the changes and reload your website - the mixed content issue will be resolved.
For WordPress websites not using Elementor, check the options below:
Option 1 - Use the Really Simple SSL Plugin
Log in to your WordPress Admin area and click on Plugins → Add New:
Install and activate the Really Simple SSL plugin. Next, go to Settings → General:
And verify that your website URL is using https://
Option 2 - Use the Better Search & Replace Plugin
Install the Better Search & Replace plugin, then open Tools → Better Search Replace.
In the Search for field, enter the domain's name starting with http://
In the Replace with field, enter the domain's name starting with https://
Select all the tables, remove the checkmark on Dry Run, if any, and press the button to Run the search and replace:
Option 3 - Add Code to Your .htaccess File
If the mixed content issue persists after trying the previous methods, open your public_html/.htaccess file (or create it if non-existent) and insert the code below:
Header always set Content-Security-Policy: upgrade-insecure-requests
Save the changes and reload your website - it should be loading properly with HTTPS 💪
NOTE
This option is not recommended if your website uses symlinks