Finding Specific Topics on Mixergy: Introducing Our New Search-Based Tags

Posted on Sep 22, 2012 - 9:50 AM PST

President Obama is “the guy.” Reggie Love is the President’s personal assistant, and is “the guy behind the guy.” I don’t know who the guy is who is behind Reggie Love, but he’s another “guy behind the guy behind the guy.”

Hey, it’s Bob Hiler again. If you’ve forgotten who I am since my last post, I’m the guy behind the guy behind the guy.

What does a guy like that do?

His main job is being the guy that Andrew forwards complaints to.

And believe me, we get plenty of complaints. :-)

Oddly enough, a lot of the complaints are about how Andrew’s done 766 interviews and 88 courses on Mixergy…

How Do You Find Stuff About A Specific Topic?

How is having 854 sweet interviews and courses a problem?

Well, a lot of Mixergy fans want to drill down into specific topics. They want to watch all the interviews and courses about, say, how to get traffic. Or how to get funded.

But with 854 interviews and courses, it’s impossible to find stuff about a particular topic! Sadly, you can’t just search for “get funded” and get good results.

Since so many Mixergy fans are web-savvy, we get a lot of practical suggestions on how to fix this. Here’s one email we got last week:

Is there a place where I can see a list of all the tags you have for your videos?

If you don’t have this feature, I assume you have some tags on the backend for search purposes. U should be able to code this up in no time and make my time on mixergy, searching for relevant content, much easier :)

Andrew thinks this is a great idea. So do I.

So what’s the hold up?

Tags and Categories: Another Surprisingly Hard Problem

The thing is, we don’t already “have some tags on the backend for search purposes”…

It’s a bit embarrassing to admit, but here’s what we do have. We’ve tagged a few posts. Most aren’t tagged at all. And we never planned out a smart set of tags, so the tags we do have aren’t that great.

So if we want to add tags, we have to start over.

But a little hard work never killed anybody! So we gave it a go…

First, we sat down and came up with a smart set of 23 tags. DONE!

We then counted the number of published interviews and courses. That’s 854. DONE!

We multiplied 854 posts by 23 tags. That’s 19,642 possible post-tag combos. DONE!

Wait, what?

We’d have to make 19,642 assessments of “should this post have this tag”?! And to do this, we’d have to read 854 transcripts, and manually tag each post with up to 23 tags?!

That is a lot of work.

Even worse, what if a new tag comes up? We’d have to re-read the 854 transcripts, just to see if it should be tagged with that new tag.

And it’s a certainty that new tags will pop up. Five years ago, nobody referred to “content marketing” or “minimal viable products” using those words. These days, both are great tags.

OK, we want something that’s tag-gy, but manually tagging posts is the option of last resort…

So what can we do that’s tag-gy but not insane?

Our Solution: Search-Based Tags

We got to thinking… What if we could leverage our slick new Swiftype-powered search?

It returns great results, it’s fast, and it doesn’t slow down our servers. It also sorts results from most to least relevant.

Take a look at a search for “systems”. Andrew’s done a lot of interviews about creating systems to automate routine tasks, so that search has great results.

There’s only one problem… Actually, there are two problems.

The first problem is that sometimes Andrew refers to “systemizing”.

The second problem is that sometimes Andrew refers to “systemize”.

Each keyword variant returns a search result that’s slightly different. What we really want here is a single search that’s like “search for posts that contain any one of those three words”.

In other words, what we want is a search with a Boolean OR operator. We want a search like: systems OR systemizing OR systemize.

Hmm, let’s check. Does Swiftype support Boolean operators in search?

Actually, it does!

This means this search actually works!

Pretty sweet! So now, for each of the tags, we just need to come up with what we might call that tag’s “keyword synonyms”.

So for the “outsourcing” tag, we need to search for: outsourcing OR outsource OR outsourcers.

One more thing… Sometimes, the “keyword synonyms” aren’t just variants of one word. For instance, for the “social media” tag, we ended up with “(facebook marketing) OR (twitter marketing) OR (pinterest marketing)”. Happily, that search seems to return good results.

What We Love About This “Search-Based Tag” Setup

This search-based tag approach has three pretty awesome aspects.

First, it saves us a ridiculous amount of work. <== This is important

Second, it's very easy to add a new tag. We just need to think of a tag, come up with that tag's "keyword synonyms", and add it to the WordPress plugin we wrote.

Third, using a simple trick, this approach also gives us "high level tags" in addition to "low level tags".

Here's the trick. Take a look at the "getting funded" tag that we have. There are three "sub tags" that fall under the umbrella of that high-level "getting funded" tag:

  1. bootstrapping
  2. raising venture capital
  3. angel investor

By using the Boolean OR search operator again, we can do a search for all three kinda-unrelated keywords at the same time!

Here are the keywords we used: (bootstrapping) OR (raising venture capital) OR (angel investor).

For these three reasons, I freaking love “search-based tags”…

Without Further Ado… Our Search-Based Tags Implementation To Help You Find Stuff!

We actually soft-launched this feature already, so maybe you’ve already seen it. But if you haven’t, check out the front page of our new “Find” page here. That page actually lists all the interviews, courses, and cheat sheets on Mixergy. The most recent posts are listed first.

You can also navigate to this page from the “Find” link in the navigation bar at the top of most every Mixergy page.

Once you’re on that page, you can “filter” the posts and just see only interviews, or only courses, or only cheat sheets.

You can also click on one of six “high level tags”. Just click on one of the six buttons in the “topics” row:

  1. find your idea
  2. build your product
  3. get traffic
  4. generate sales
  5. stay productive
  6. get funded

Once you click into one of those “topic” pages, you’ll then see the “subtopics” that fall under that topic. For instance, under “find your idea” topic, we list two subtopics:

  1. interview customers
  2. minimal viable products

So people don’t get overwhelmed with too many subtopic tags at once, we only show the subtopic tags when you’re on the “parent” topic page, or a “sibling” subtopic page.

We’re launching this new feature with six topics and 17 subtopics, for a total of 23 “tags”.

If you think we should add any more topics or subtopics, please let us know in the comments…

Also, we’re pretty proud of this search-based tag thingy, but we’re totally biased. So please let us know what you think of this new feature!

  • http://www.facebook.com/profile.php?id=607569652 Jeremy Weisz

    Bob, Nice work! I am glad you were the one handling that! ;)
    Talk to you soon, Jeremy

  • Lenny

    Great work. Thanks for the hard work Andrew, Bob and team.

    My feedback is, get wild with the tags. People have a hard time constructing their thoughts and sometimes don’t even know what to ask. I’d say use the page for discovery and build as much tags as possible and let the discovery unleashed.

    One example, where would I start learning about sales funnels, unique value propositions, call to actions … I can point to these because I have learned about them but aren’t obvious to new comers. If they see words plain sight could spark their interest, beating the probabilities that they’d start a search on that. Mashable explore does this well (http://mashable.com/explore/) but def their focus is not to make tactics findable but instead the general content that they share.

    This makes sense?

    Anyways, thought on sharing my 2 cents.

    Thanks again

  • http://profile.taylorbanks.com/ taylorbanks

    Thanks, Bob, this is good stuff! Any chance you’ll share the WP plugin you’ve developed to wrap these swiftype searches into search-based tags? :)

  • Bob Hiler

    Hi Taylor, I put the plugin on gist for you! :-) Here it is: https://gist.github.com/3790192. The way I did it was to add a key-value pair to the search query string, like so: http://mixergy.com/?s=browseall&topic=interview_customers. Then, in the plugin, I look for the value associated with the key topic, e.g. the value of “interview_customers”. Then, in the plugin, I defined an associate array named $topics_and_subtopics. In that array, I specify that when topic is interview_customers, the keywords should be “customer interviews”. Also, I wrote two hooks. First, swiftype_search_params_latches onto the swiftype_search_params filter created by the Swiftype WordPress plugin. That tweaks some parameters for the search, including category filters, sort order, and weights. Second, topic_to_keyword_conversion_pre_get_posts latches onto the pre-existing pre_get_posts WordPress filter that the Swiftype plugin has already messed with. That’s what replaces the keyword.

    I gotta say, Swiftype is pretty amazing. If I had tried to do this without Swiftype, our server CPU would have been crushed. Actually, WordPress doesn’t support Boolean searches at all, so it wouldn’t have even worked. Sign up for Swiftype here: http://www.swiftype.com/!

  • http://profile.taylorbanks.com/ taylorbanks

    Awesome! I signed up for Switfype as soon as I read your article, and I’m ecstatic that you’ve shared your code with me! Nice one, bruv!

  • Pingback: Swiftype WordPress Plugin and improved Tumblr support | Itsaat

New Here? Start With These