I want this website to be extremely simple and easy to navigate. One of the main purposes of the website is to host my blog, an ever-growing list of standalone articles with timestamps marking when I wrote them. I like to think of my blog as a public journal to showcase my development so that other people can get to know me, but also so that I will be able to reflect on where I came from. Each ‘journal entry’ should never change because they serve as historical markers—snapshots of me, if you will.
When I started building this website, I thought that assigning one or more tags to each journal entry and then having a page where you can filter the entries by a particular tag would really make it easier to find relevant content. My first journal entry, Why I use the WTFPL license, was tagged with technology and philosophy. Thus, going to the Tags page of my website and clicking on the link labeled technology would yield that entry, along with any others containing the same tag. What I didn’t consider was that my tag system had negative trade-offs:
-
Another top-level page. Without a Tags page, this website only has 3 top-level pages (About, Projects, and Journal). That’s great because it means my website is free of clutter and easy-to-navigate by virtue of being dirt simple. Having a Tags page means visitors are confronted with 33% more top-level pages demanding their attention!
-
Visual clutter inside every journal entry. Without tags, each entry has only a title and a publish date before you get to the actual content you care about reading. Again, adding tags introduces more mental overhead.
-
Good tags are quite subjective/arbitrary. Some people like a lot of tags. Some people like few. Too many tags on every journal entry, and they become less useful. Almost all of my entries have to do with philosophy. That is a very broad category, so it doesn’t actually help narrow down what someone is looking for. What about synonyms? What if people aren’t expecting a technology tag, but rather a software tag? I would argue that technology is a broader category containing software, so do I just tag every software-related entry with technology as well, for good measure? So many open-ended design questions just spells out
confusing website
. -
A simple tag system like mine can’t yield results in order of relevance. Clicking on the technology tag would yield all journal entries with that tag, from most recent to oldest. In order to sort results by relevance for a particular tag, I would need to not only manually assign tags to each entry, but also assign a weight/relevance-value for every tag within each entry. Sounds like a ton of fruitless labor to me.
A better solution: full-text search
I assume most people are already very familiar with search engines because they use Google or an alternative on a daily basis, and it usually helps them find exactly what they’re looking for. My website is already searchable using those large-scale engines, although it currently ranks extremely low on the results page. Once I have enough content on this website to warrant doing so, I intend to host a dedicated search engine on this website’s server(s).
Whenever I update my website, the engine I host will automatically read through the text of each page (not limited to journal entries) I added or updated and organize the information so that it can rapidly search every page on my website for keywords. It will probably even be typo- and synonym-tolerant, meaning you just have to type something in the ballpark and any relevant pages will magically appear in front of you. Just like Google, except only for pages within this website—and I won’t be storing or otherwise analyzing the search queries you type because I’m morally opposed to doing so.
In my eyes, search engines are more natural to use than tags and simply work better. I mean, tags are essentially just keywords. You don’t have to be as precise in your search, and the engine can give you results in order of relevance, even if you typed unintelligible garbage in the search input.
This post was thoughtfully reviewed and edited by my girlfriend, Kaley Ali, for clarity and conciseness. Thanks Kaley! 😘