This issue is often due to SSL setup or moving the site from one domain/hosting/location to another. Thus, some URLs in the database change and no longer work. You can easily avoid the problem by using a migration tool - Safely moving WordPress 




In case the custom theme icons are missing, you have to follow the troubleshooting steps below:


Step 1 - Update the icons


The first step is to update the icons. Go to Elementor > Custom Icons > theme-icons > hit "Update"




Step 2 - Clear the cache


To avoid caching issue, you have to clear the different caches in the different places: 

- Browser - in the browser

- CDN - from the provider 

- Hosting - depending on the hosting

- Plugin - depending on the plugin

- Elementor - https://elementor.com/help/caching-prevents-live-site-from-showing-changes-in-editor/   


Check this guide for more information: How to clear the Cache after a Theme or Plugin update


   

Step 3 - Mixed content error


Does your installation have an SSL certificate? If yes, the missing icons may be due to a mixed content error - it is when you have some http:// URLs in the database - please run a search and replace with Better Search Replace or WP CLI. 

You can check this solution Vamtam Elementor Themes: Mixed content SSL warnings


      

Step 4 - Enable PHP Zip Extension


If you go to Elementor > Custom Icons and you don't see the "Publish" section on the right, then the PHP Zip extension, which provides the ZipArchive class is not available. This is required for Elementor to support custom icon fonts.



You can either enable it from php.ini, if you have access to that and it's already installed on your server, or you can ask your hosting provider to enable it.

  


Step 5 - Check the Elementor Experiments


Go to Elementor > Settings > Features > Check if "Inline Font Icons" experiment is disabled: