DuckDuckGo’s bangs (extremely useful) let you search a specific website. For example, on Wiktionary, searching !wt hello will return the Wiktionary entry for ‘hello’ (or, if the entry for ‘hello’ didn’t exist, a list of search results).
However, this 1) takes longer as it has to go through DuckDuckGo, 2) could even take you to a separate container depending on how you have that set up, and 3) is inherently less private because it’s being sent through a middleman.
It’s super easy to make your own custom keyword in Firefox at Settings > Search > Search Shortcuts. Using Wiktionary as an example again, I made the keyword !wt, mirroring the DDG bang. From there, I just searched some random bullshit string that didn’t exist, found the URL https://en.wiktionary.org/w/index.php?search=parametershere, stripped it to https://en.wiktionary.org/w/index.php?search, and appended %s at the end as a specifier character that gets replaced with whatever the search terms are.
Thus, now !wt hello takes me straight to https://en.wiktionary.org/w/index.php?search=hello, which in turn goes right to the entry, instead of DDG –> Wiktionary search –> Wiktionary entry.
Why YSK: This is extremely obvious in hindsight, but even though I use bangs all the time, I never connected that I could just replace Firefox’s keywords with the exact bangs I was already using for an objectively better experience. Bangs already make things way more convenient, and this is a more perfect form of that for commonly used websites.
Edit: I forgot to mention that, in the ‘Advanced’ options for a search shortcut, you can add search suggestions. So Wikipedia, for example, has the OpenAPI where you can get suggestions while you type (if that’s your thing): https://en.wikipedia.org/w/api.php?action=opensearch&search= and append %s.


Wow that’s a good one, I had seen it before but now that you said I realized I can use it even for other things.
I just set up Kagi Translate so I can translate things to my language.
I add: “https://translate.kagi.com/?from=en_us&to=pt_br&text=%25s” with keyword “@trans-en”.
(it’s showing %25s idk why, it should be %s)
Then I type “@trans-en [word in english]” and it redirects me to Kagi, translating it.