I'm blogging about Emacs, Drupal, php and exciting subjects

Your robots.txt probably doesn't block Google from what you think it does

Here is a robots.txt that appears in some form on a very large number of sites:

User-agent: *
Disallow: /admin/
Disallow: /private/

User-agent: Googlebot
Disallow: /nogoogle/

Read it the way anyone would: everyone is kept out of /admin/ and /private/, and Googlebot is additionally kept out of /nogoogle/.

Personas from search logs: what your users actually wanted, in their own words

The standard criticism of user personas is that they are fiction. Someone runs a workshop, the team invents "Marketing Mary, 34, values efficiency, enjoys yoga," and it goes on a wall. Nobody can say whether Mary is right, because nothing about her is falsifiable. She was assembled from assumptions, and she reflects them back with the authority of a laminated poster.

Hybrid search: combining BM25 with embeddings in OpenSearch

There is a class of search failure you cannot tune your way out of. Someone searches for infrastructure automation; you have an excellent page about configuration management; the words never overlap and BM25 scores it zero. No field boost fixes that, no stemmer, no synonym list you will actually maintain.

Drupal Search API with OpenSearch: from setup to relevance tuning

Most Drupal search articles stop at "and now it works." That is the easy half. The hard half is the phone call three weeks later where someone points out that searching for the company's own name returns a 2019 press release above the About page, and nobody can explain why.

Subscribe to Linkhub