多引擎站点搜索
#html #搜索

我在我的网站上添加了/search页面,并使用支持多个搜索引擎的表单。希望为访客提供更多选择的选择。

挑战是管理不同站点的不同查询参数。

  • DuckDuckgo不支持多个q=参数,但确实接受sites=
  • ecosia不支持sites= param,但确实支持多个q= params(尽管有一个额外的逗号需要一个空间)
  • Google确实支持as_sitesearch= param,但通过添加了另一个q= param。

通过添加几个不同的隐藏表单字段,我能够无缝覆盖每个引擎。
那么唯一的区别是可以在按钮上定义表单操作。
最终结果如下:

<form rel="search" method="get">
    <input type="hidden" name="sites" value="ciccarello.me"/>
    <input type="hidden" name="q" value="site:ciccarello.me "/>
    <input type="text" name="q" placeholder="Search"/>
    <button type="submit" formaction="https://ecosia.com/search">Search with Ecosia</button>
    <button type="submit" formaction="https://www.google.com/search">Search with Google</button>
    <button type="submit" formaction="https://duckduckgo.com/">Search with DuckDuckGo</button>
</form>