站内搜索

Avatar of Chris Coyier
Chris Coyier 发表于

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

CSS-Tricks 是一个 WordPress 网站。WordPress 具有 内置搜索功能,但它并不十分实用。我并不责怪它,真的。搜索本身就是一个产品,而 WordPress 是一家 CMS 公司,而不是搜索公司。

您知道如何为您的网站创建 一个功能强大的搜索引擎 吗?

就是这样

<form action="https://google.com/search" target="_blank" type="GET">
  
  <input type="search" name="q">
  <input type="submit" value="search">
  
</form>

只需一点 JavaScript 的技巧来强制执行它搜索的网站

var form = document.querySelector("form");

form.addEventListener("submit", function(e) {
  e.preventDefault();
  var search = form.querySelector("input[type=search]");
  search.value = "site:css-tricks.com " + search.value;
  form.submit();
});

我只有 12% 的玩笑。我认为将人们引导到 Google 搜索结果中仅针对其搜索词的网站是完全可以接受的。没有人会对此感到困惑。如果有什么不同的话,他们会默默地感到高兴。

稍微调整一下就可以将他们发送到任何搜索引擎。比如 DuckDuckGo

https://duckduckgo.com/?q=site%3Acss-tricks.com+svg

但是

  1. 他们将离开您的网站
  2. 他们将看到广告

为了防止 #1,Google 长期以来一直提供网站搜索产品,您可以在其中创建和配置自定义搜索引擎并在自己的网站上嵌入它。

关于 Google 关闭该服务的消息有很多。 例如,“Google 网站搜索即将推出。现在怎么办?” 哎呀!这让我很困惑。

事实证明,他们真正关闭的是被称为 Google 网站搜索 (GSS) 的服务,这是一种企业产品。它将于 2018 年 4 月 1 日完全关闭。Google 还有另一种产品称为 Google 自定义搜索引擎 (CSE),它似乎不会消失。

CSE 正是我一直在使用的产品。它有一个免费版本,其中包含广告,您可以付费将其删除,尽管这方面的定价也很 令人困惑。我简直无法理解。对于像 CSS-Tricks 这样的网站,据我所知,每年将花费数百甚至数千美元。或者您可以连接您自己的 AdSense,并至少尝试从显示的广告中赚钱。

在所有这些之后,我想尝试一些新的搜索方法。 Algolia 是一款我听说过很多人尝试过的搜索产品,它似乎非常受欢迎。在 Algolia 团队的鼎力相助下,我们已经使用了几个月了。

如果我们建立一个实现难度等级,我上面提到的 HTML/JavaScript 表单是 1,而自行启动服务器并为 Solr 提供自定义数据结构并提出自己的评级算法是 10,那么 Algolia 就像 7。这相当复杂。

使用 Alogolia,您需要提供所有自己的数据和结构并将它们传输到 Algolia,因为所有搜索魔法都发生在他们的服务器上。任何新/更改/删除的数据也需要推送到那里。它不是您的数据库,但通常您执行的任何数据库 CRUD 也需要转到 Algolia。

在相同的难度等级上,如果您将 Algolia 添加到 WordPress 网站,则降至 3 或 4。WordPress 已经有自己的数据结构,而 Algolia 有一个 WordPress 插件 可以将所有内容推送到他们那里并保持同步。这并非零工作,但也不算太糟糕。该插件还提供了一个 UI/UX 替换,以替代默认的 WordPress 搜索表单,该表单提供“即时结果”作为下拉列表。它确实非常快。无论如何,提交表单,您将被带到由 Algolia 接管的全页搜索结果屏幕。

为了披露,我是 Algolia 的付费客户,并且没有赞助协议。

这是一个非常棒的产品。作为比较的一个点,我收到的关于切换的反馈为零。没有人写信告诉我他们注意到了搜索的变化,现在他们找不到东西了。而且人们经常写信告诉我类似的事情,所以没有反馈感觉像赢了一样。

我每月支付 59 美元,享受超快的页面内搜索,并且没有广告。

这几乎是一个无需动脑筋就能获胜的方案,但也有一些缺点。其中之一是搜索结果的排名。它开箱即用,效果非常出色,返回的结果比原生 WordPress 搜索的相关性更高。但是,毫不意外,它不是 Google。无论内部发生什么神奇的事情,它都在尽力而为,但它没有 Google 拥有的数据。它只有大量文本和一些内部链接数据。

有一些方法可以改进它。例如,您可以将您的 Google Analytics 数据连接到 Algolia,本质上是为它提供流行度数据,以便 Algolia 结果开始更像 Google 结果。设置起来并不容易,但可能值得一试!

无论如何!

你们在自己的网站上使用什么搜索方法?