[EPIC] Improving search
Search isn't great
PostHog's docs and handbook run on Docsearch. Right now the results are okay, but aren't great. Sometimes the results are confusing, and all of the time, the UI is confusing.
Example A
In this search, as a user I'm really looking for the JavaScript library docs page, but results are cluttered with results from the subnav menus.
Example B
Even when Docsearch doesn't have a menu to clutter results up with, the results still feel subpar. In this search, I'm looking for the company values page - which is the 10th search result, but should inarguably be the first.
Having better results and a simpler UI would make PostHog feel 100x more trustworthy (which was an action item from offsite).
Great search
Tailwind's Docsearch design and content feels much more trustworthy. I feel very efficient with it, it has the right amount of context, and I almost always blindly click the first result because it's always accurate.
Down the road...
I really liked this new predictive column in Google Search results.
Imagine if we could pick out the top links related to your search – from within docs, handbook, and eventually site-wide – based on keywords.
Example: if I search "javascript", the JS client page should be pinned as a top result for that topic, and sometimes there might be 2-3 other relevant links (like a user guide or tutorial) that would live alongside organic results.
Proposed roadmap to improving search
- [ ] Exclude subnav menu from getting crawled - immediate task (@smallbrownbike?)
- [ ] Optimize our content indexing better - immediate task (@andyvan-ph does this interest you at all? It's more of internal SEO optimization. 😉 )
- [ ] Update styling of Docsearch widget to match the PostHog brand and look less stock
- [ ] Unify search (single site-wide search bar for docs and handbook)
- [ ] Index entire site (product pages, blog, Q&A)
- [ ] Show more contextual results as you type ("suggested links, but not implemented poorly, if possible)
Open question: should articles be grouped by language or by function?
Currently when searching identify, there are results for every language individually.
Would it make more sense to have a single Identify page, with tabs for each language?
Alternately if we stick with the current structure, it would be cool to curate the appearance of the results. Example:
identify javascript | ruby | python | java | react
Closed by #4706!