Index: trunk/src/org/openstreetmap/josm/tools/Tag2Link.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Tag2Link.java	(revision 16835)
+++ trunk/src/org/openstreetmap/josm/tools/Tag2Link.java	(revision 16836)
@@ -9,5 +9,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.function.UnaryOperator;
@@ -15,5 +17,4 @@
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import javax.json.Json;
@@ -23,4 +24,5 @@
 
 import org.openstreetmap.josm.data.osm.OsmUtils;
+import org.openstreetmap.josm.data.preferences.CachingProperty;
 import org.openstreetmap.josm.data.preferences.ListProperty;
 import org.openstreetmap.josm.io.CachedFile;
@@ -59,4 +61,7 @@
             Collections.singletonList("resource://META-INF/resources/webjars/tag2link/2020.8.3/index.json"));
 
+    static final CachingProperty<List<String>> PREF_SEARCH_ENGINES = new ListProperty("tag2link.search",
+            Arrays.asList("https://duckduckgo.com/?q=$1", "https://www.google.com/search?q=$1")).cached();
+
     private Tag2Link() {
         // private constructor for utility class
@@ -139,5 +144,6 @@
         // Search
         if (key.matches("^(.+[:_])?name([:_]" + languagePattern + ")?$")) {
-            linkConsumer.acceptLink(tr("Search on DuckDuckGo"), "https://duckduckgo.com/?q=" + value);
+            PREF_SEARCH_ENGINES.get().forEach(url ->
+                    linkConsumer.acceptLink(tr("Search on {0}", getHost(url, url)), url.replace("$1", Utils.encodeUrl(value))));
         }
 
@@ -192,8 +198,12 @@
 
     private static String getLinkName(String url, String fallback) {
+        return tr("Open {0}", getHost(url, fallback));
+    }
+
+    private static String getHost(String url, String fallback) {
         try {
-            return tr("Open {0}", new URL(url).getHost());
+            return new URL(url).getHost().replaceFirst("^www\\.", "");
         } catch (MalformedURLException e) {
-            return tr("Open {0}", fallback);
+            return fallback;
         }
     }
