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 -   

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: