DuckDuckGo Search Suggestions

https://github.com/notriddle/discourse-duckduckgo-search

Solves Is there a way to suggest DuckDuckGo instead of Google for failed search UI?.

A Discourse theme component to use DuckDuckGo as the suggested search system, instead of Google!

p.s. You’ll probably want to customize some of the text strings to stop mentioning Google, too.

「いいね!」 18

Here’s what I’ve noted to be the places to alter the text:

  • js.search.or_search_google
  • js.search.search_google
  • js.search.search_google_button
  • page_not_found.search_google
    • is that search also adjusted to DDG in the theme? If not, that should be fixed too
  • js.google_search
    • that looks like it’s editable to put in DDG directly, not sure how that’s related

Is that it?

「いいね!」 2

Okay, I’m writing this down, because 404 handling in Discourse is weird. Try this link on for size:

https://meta.discourse.org/nonexistant-page

If you open it in a new tab, you’ll notice that your user menu (the one in the upper-right of the page) doesn’t render. In fact, the Discourse Ember app doesn’t get loaded at all in this case. It’s being rendered by the Rails server following app/views/exceptions/not_found.html.erb

Obviously, if you click the link directly in this page, the Ember app remains resident. Try hitting the link with a .json at the end, and instead of sending the app a full 404 page, it sends an HTML fragment, with the heading and stuff removed, which the Ember app just plops into place.

「いいね!」 2

Oh weird. But if that’s less trivial to fix, at least it can be documented and the easier parts all fixed. Thanks for working on this!

「いいね!」 1

https://github.com/notriddle/discourse-duckduckgo-search/commit/17c849c5b8c22476720a07ee7ebfa4536feecedc

Added a commit to do the form rewriting to make the 404 page work, both within and without the Ember app.

「いいね!」 5

Great! So the only remaining thing is to document (probably both here and at the repo README) the confirmed list of text items theme-users will need to customize in the admin UI?

「いいね!」 1

I got this working, but it’s a little strange to have the page-not-found version start with the form using site:xxx… with no search term alongside that. Maybe that’s as good as it gets, but it would be ideal if it were feasible to get the text of the URL after the TLD for the not-found page and use that as the default search before the site: part…

Given

Google is no longer used at 404 pages. So, this theme probably needs updating to leave 404 pages alone, let them be the regular internal search as is now standard.

Discourse is still using Google for extra searching when internal searches fail though. So, for that, this DDG option still applies.

「いいね!」 3

It wasn’t actually breaking anything, but I did go ahead and revert it. It also made the code simpler, since I can just replace the template again.

https://github.com/notriddle/discourse-duckduckgo-search/commit/39e5501c35f2b73dd3eb9a7977de0c472d85711c

「いいね!」 6

is there any reason Google is still the default for Discourse when extra searching occurs? DuckDuckGo is more in tune with the mindset of Discourse than Google is.

「いいね!」 4

私も同感です。現在、回避策はありますか?

Discourse AIでも使用できます :slight_smile:

「いいね!」 1

このテーマコンポーネントが回避策そのものです。

「いいね!」 3

このトピックを見ておらず、テーマコンポーネントのことも知らなかったので、Google検索の仕組みを完全に削除しました。しかし、今、さらに非公式なテーマコンポーネントを追加することには気が進みません。デフォルトでDuckDuckGoになるか、サイト設定があれば良いのですが。

「いいね!」 1

…プロバイダーを変更したり、このフォールバック検索候補を完全に削除したりできるものでした。

それまでの間、あなたはどのように「検索機能を完全に削除」したのですか? おそらくテーマコンポーネントを作成したのでしょうが、実際のコードをここに共有してもらえますか(自分で調べる必要がないように)?

URLを変更してフォークしました。一般的な標準は、空にしてユーザーが変更できるようにすることです。

それがマーケティングが最も洗練されたレベルでソーシャルエンジニアリングを通じて機能する方法です。

プラグインのアウトレットを使用するようにアップデートをプッシュしましたが、これにはDiscourse自体にアウトレットを追加する必要があります。

「いいね!」 6