Identifying query classes is one of the most powerful ways to optimize large sites. Understanding query classes allows you to identify both user syntax and intent.
I’ve talked for years about query classes but never wrote a post dedicated to them. Until now.
What are query classes? A query class is a set of queries that are well defined in construction and repeatable. That sounds confusing but it really isn’t when you break it down.
A query class is most often composed of a root term and a modifier.
vacation homes in tahoe
Here the root term is ‘vacation homes’ and the modifier is ‘in [city]’. The construction of this query is well defined. It’s repeatable because users search for vacation homes in a vast number of cities.
Geography is often a dynamic modifier for a query class. But query classes are not limited to just geography. Here’s another example.
midday moon lyrics
Here the root term is dynamic and represents a song, while the modifier is the term ‘lyrics’. A related query class is ‘[song] video’ expressed as ‘midday moon video’.
Another simple one that doesn’t contain geography is ‘reviews’. This modifier can be attached to both products or locations.
Recently Glen Allsopp (aka Viperchill) blogged about a numeric modifier that creates a query class: [year].
best science fiction books 2015
This often happens as part of a query reformulation when people are looking for the most up-to-date information on a topic and this is the easiest way for them to do so.
Sometimes a query class doesn’t have a modifier. LinkedIn and Facebook (among others) compete for a simple [name] query class. Yelp and Foursquare and others compete for the [venue name] query class.
Of how about food glorious food.
That’s right, there’s a competitive ‘[dish] recipe’ query class up for grabs. Then there are smaller but important query classes that are further down the purchase funnel for retailers.
You can create specific comparison pages for the query class of ‘[product x] vs [product y]’ and capture potential buyers during the end of the evaluation phase. Of course you don’t create all of these combinations, you only do so for those that have legitimate comparisons and material query volume.
If it isn’t obvious by now there are loads of query classes out there. But query classes aren’t about generating massive amounts of pages but instead are about matching and optimizing for query syntax and intent.
One reason I rely on query classes is that it provides a window to understanding user syntax. I want to know how they search.
Query classes represent the ways in which users most often search for content. Sure there are variations and people don’t all query the same way but the majority follow these patterns.
Do you want to optimize for the minority or the majority?
Here are just a few of the ‘[dish] recipe’ terms I thought of off the top of my head.
Look at that! And that’s just me naming three dishes off the top of my head. Imagine the hundreds if not thousands of dishes that people are searching for each day. You’re staring at a pile of search traffic based on a simple query class.
It’s super easy when you’re dealing with geography because you can use a list of top cities in the US (or the world) and then with some simple concatenation formulas can generate a list of candidates.
Sometimes you want to know the dominant expression of that query class. Here’s one for bike trails by state.
Here I have a list of the different variants of this query class. One using ‘[state] bike trails’ and the other ‘bike trails in [state]’. Using Google’s keyword planner I see that the former has twice the query volume than the latter. Yes, it’s exact match but that’s usually directionally valid.
I know there’s some of you who think this level of detail doesn’t matter. You’re wrong. When users parse search results or land on a page they want to see the phrase they typed. It’s human nature and you’ll win more if you’re using the dominant syntax.
Once you identify a query class the next step is to understand the intent of that query class. If you’ve got a good head on your shoulders this is relatively easy.
Not only do we want to know how they search, we want to know why.
The person searching for ‘vacation homes in tahoe’ is looking for a list of vacation rentals in Lake Tahoe. The person searching for ‘midday moon lyrics’ is looking for lyrics to the Astronautalis song. The person looking for ‘samsung xxx’ vs ‘sony xxx’ is looking for information on which TV they should purchase.
Knowing this, you can provide the relevant content to satisfy the user’s active intent. But the sites and pages that wind up winning are those that satisfy both active and passive intent.
The person looking for vacation homes in tahoe might also want to learn about nearby attractions and restaurants. They may want to book airfare. Maybe they’re looking for lift tickets.
The person looking for midday moon lyrics may want more information about Astronautalis or find lyrics to his other songs. Perhaps they want concert dates and tickets. The person looking for a TV may want reviews on both, a guide to HDTVs and a simple way to buy.
Satisfying passive intent increases the value of your page and keeps users engaged.
Sometimes the query class is vague such a [name] or [venue] and you’re forced to provide answers to multiple types of intent. When I’m looking up a restaurant name I might be looking for the phone number, directions, menu, reviews or to make a reservation to name but a few.
Query classes make it easier to aggregate intent.
On larger sites the beauty of query classes is that you can map them to a page type and then use smart templates to create appropriate titles, descriptions and more.
This isn’t the same as automation but is instead about ensuring that the page type that matches a query class is well optimized. You can then also do A/B testing on your titles to see if a slightly different version of the title helps you perform across the entire query class.
Sometimes you can play with the value proposition in the title.
Vacation Homes in Tahoe vs Vacation Homes in Tahoe – 1,251 Available Now
It goes well beyond just the Title and meta description. You can establish consistent headers, develop appropriate content units that satisfy passive intent and ensure you have the right crosslink units in place for further discovery.
The wrinkle usually comes with term length. Take city names for instance. You’ve got Rancho Santa Margarita clocking in at 22 characters and then Ada with a character length of 3.
So a lot of the time you’re coming up with business logic that delivers the right text, in multiple places, based on the total length of the term. This can get complex, particularly if you’re matching a dynamic root term with a geographic modifier.
Smart templates let you scale without sacrificing quality.
The other reason why query classes are so amazing, particularly for large sites, is that you can create rank indices based on those query classes and determine how you’re performing as a whole across that query class.
Here I’ve graphed four similar but distinct query class rank indices. Obviously something went awry there in November of 2015. But I know exactly how much it impacted each of those query classes and then work on ways to regain lost ground.
Query classes usually represent material portions of traffic that impact bottomline business metrics such as user acquisition and revenue. When you get the right coverage of query classes and create rank indices for each you’re able to hone in on where you can improve and react when the trends start to go in the wrong direction.
I won’t go into the details now but read up if you’re interested in how to create rank indices.
Identifying Query Classes
Hopefully you’ve already figured out how to identify query classes. But if you haven’t here are a few tips to get you started.
First, use your head. Some of this stuff is just … right there in front of you. Use your judgement and then validate it through keyword research.
Second, look at what comes up in Google’s autocomplete suggestions for root terms. You can also use a tool like Ubersuggest to do this at scale and generate more candidates.
Third, look at the traffic coming to your pages via Search Analytics within Google Search Console. You can uncover patterns there and identify the true syntax bringing users to those pages.
Fourth, use paid search, particularly the report that shows the actual terms that triggered the ad, to uncover potential query classes.
Honestly though, you should really only need the first and second to identify and hone in on query classes.
Query classes are an enormously valuable way to optimize larger sites so they meet and satisfy patterns of query syntax and intent. Query classes let you understand how and why people search. Pages targeted at query classes that aggregate intent will consistently win.