Google: Use a separate key restricted to the Maps Static API. Then set up URL signing: * Copy the URL signing secret from the Secret Generator on the Credentials page of the Google Cloud console, in the same project as the map key, into the Google Maps URL Signing Secret setting. * On the Quotas page for the Maps Static API, set "Unsigned requests per day" to 0, so Google refuses map links that weren't signed by your site. * A signed link can't be changed to request a different map. Unlike a website restriction, signing still works where no referring page is sent, such as in feed readers and email. HERE: HERE restricts keys by app, not by key, so create a second app for maps: * In the HERE platform, open Access Manager, create a new app, and create an API key for it. Enter that key as the HERE Map API Key. * Open the new app's Trusted domains tab, turn on "Enable Trusted domains", and enter your site's domain without a path, for example example.com. Changes can take up to 30 minutes to take effect. * Leave trusted domains off for the app that holds your main HERE key, which your server uses for geocoding and weather. * Maps may not load where no referring page is sent, such as some feed readers and email. Mapbox: Mapbox uses its token only for maps, and for listing your own styles in the settings. * Create a public token (starting pk.) with the default public scopes. Add URL restrictions for your site, for example https://example.com, and enter the token as the Mapbox Map API Key. Mapbox's default public token can't be restricted. * Listing your own styles needs the styles:list scope, which only secret tokens (starting sk.) can have. Enter that token as the Mapbox API Key. It is only sent from your server. The plugin never puts a secret token in a map image, so if the Mapbox API Key is a secret token and the Mapbox Map API Key is empty, no Mapbox maps are shown. * Mapbox checks URL restrictions against the referring page and refuses requests without one. Restricted maps may therefore not load in feed readers or email, or on a site whose referrer policy is no-referrer or same-origin. LocationIQ: LocationIQ tokens can be restricted by HTTP referrer (for maps) or by IP address (for your server's lookups). * If your account allows a second token, enter it as the LocationIQ Map API Key and restrict it by HTTP referrer to your site, for example example.com/*. Restrict the main token to your server's IP address. * Free accounts get one token, used for both maps and geocoding. LocationIQ doesn't say whether one token with both kinds of restriction accepts requests matching either, so leave it unrestricted, or test both maps and lookups after restricting it. TomTom: TomTom uses its key only for maps. In the TomTom developer dashboard, allow the key only the Map Display API, so a copied key can't be used for other products. TomTom's domain whitelist works through CORS, which browsers don't apply to images, so it may not stop others from using a copied key. MapQuest: MapQuest doesn't document a way to restrict a key. Use a separate key as the MapQuest Map API Key, so you can replace it without changing geocoding if it is misused. Stadia Maps: With an API key, Stadia maps are served from your site, so the key is never shown to visitors. If you turn off Serve Maps From This Site, leave the Stadia Maps API Key empty and add your site's domain under Authentication in Stadia's client dashboard instead: maps then load from Stadia without a key in the page. As with other domain restrictions, maps may not load where no referring page is sent. Geoapify: Geoapify maps are served from your site, so the key is never shown to visitors and doesn't need a separate map key. Every Geoapify request comes from your server, so you can restrict the key to your server's IP address: * In Geoapify's MyProjects, open your project's API Keys section and add your server's outgoing IP address to the key's allowed IP addresses. * Your host can tell you the outgoing IP address. If your server connects over both IPv4 and IPv6, add both. If the address changes, for example on some shared hosting, update the setting, or leave the key unrestricted.