隐藏 Discourse 的搜索并使用 Google 的

大家好!

我的论坛正收到大量来自匿名用户的搜索请求,他们既不注册也不重视社区的真正核心价值(即互助)。因此,我决定创建一个组件,以移除 Discourse 原生的搜索引擎(它实际上会隐藏原生搜索),转而仅显示 Google 搜索引擎。该引擎将在论坛域名范围内搜索(基于已索引内容),同时通过 AdSense 投放广告,从而将搜索流量变现。

该组件将禁止用户使用 Discourse 的原生搜索引擎,转而使用由 Google 驱动的搜索引擎,并支持通过其进行广告变现。

我最初的构想是:对匿名用户以及信任等级为 TL0–TL1 的用户,移除 Discourse 原生搜索引擎;而对其他已注册用户,则隐藏新的 Google 搜索引擎,仅显示原生搜索。

我原本希望将搜索框放在“header”区域,但无法通过 CSS 将其放置在“panel clearfix”类内部。我相信论坛中一定有人能在这方面提供帮助。

最终,我进行了一些 CSS 调整,成功将 Google 搜索框放入了顶部导航栏:
image

:information_source:



希望有人能加入这个想法,我们一起完善这项开发!

照顾好自己,我们共同守护彼此! :mask:


为什么没有主题创建器预览?

:exploding_head: 关于主题创建器(theme-creator),我曾尝试配置一个新的"google-search"以便直接在主题创建器中测试,但遇到了如下错误:“Refused to load the script ... because it violates the following Content Security Policy directive: \"script-src ....\"

4 个赞

干得漂亮。我会检查一下……你能分享一下你的网站链接,或者某个能看到它演示运行的地方吗?或者再分享一次你的网站链接。

这是 Google AdSense 自定义搜索栏吗?你有办法在同一页面上同时保留 Discourse 原生搜索和 AdSense 自定义搜索吗?我真的很喜欢 Discourse 原生搜索的自动建议功能。

这能在 Discourse 的 AMP 页面上运行吗?

搜索内容安全策略(CSP)设置,你可以将 AdSense 搜索调用和使用的 URL 添加到允许列表中,之后它应该就能正常工作了。

1 个赞

是的,我有。原生搜索被“隐藏”了,而且这确实是 Google 自定义搜索栏。在我的情况下,我配置了广告。

我不确定,我的网站不是 AMP 页面……抱歉。

关于演示,我已在第一条消息中添加了更多信息和新版本。

是的,我知道这一点,但我不是主题创建者的管理员,因此无法将该站点添加到允许列表中。

顺便说一句,Safari/iPad 上的布局已损坏