SRH-19Recommended
Watch searches that find nothing or get no click
Count each week's share of searches with no hits and with no click on any hit, per query. Review the 20 most frequent of each every month.
How to do it
A search with no hits shows a missing synonym, a spelling the analyser misses or a product you do not stock. A search with hits but no click shows results in the wrong order. Log the hit count and the clicked position with each cleaned query, as Keep personal data out of search logs says. Fix each common case with an alias, a language rule or new content, and add it to the fixed query set so it stays fixed. Words people use for an item go in its aliases, as Give every item the words people use for it says.
Examples
SQL example
SELECT query,
count(*) AS searches,
avg((hits = 0)::int) AS no_hit_share,
avg((hits > 0 AND clicked_position IS NULL)::int) AS no_click_share
FROM search_log
WHERE at > now() - interval '7 days'
GROUP BY query
ORDER BY searches DESC
LIMIT 20;
Python example
def weekly_shares(rows: list[dict]) -> dict:
total = len(rows) or 1
return {
"no_hit": sum(row["hits"] == 0 for row in rows) / total,
"no_click": sum(row["hits"] > 0 and row["clicked_position"] is None for row in rows) / total,
}
JavaScript example
export function weeklyShares(rows) {
const total = rows.length || 1;
return {
noHit: rows.filter(row => row.hits === 0).length / total,
noClick: rows.filter(row => row.hits > 0 && row.clickedPosition == null).length / total,
};
}
How to check
The dashboard shows the weekly no-hit and no-click shares for the last 12 weeks, and the two top-20 lists. Each monthly review leaves a dated note with the changes made.
Related rules
- SRH-12 Keep personal data out of search logs in Search
- SRH-17 Test search results with a fixed query set in Search
- SRH-16 Give every item the words people use for it in Search
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/search/relevance/zero-result-searches">Agent Wranglers search playbook</a>. In code you write, add a comment next to it with the same link.