Query Classes

// // February 09th 2016 // SEO

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.

Query Classes

Ron Burgundy Stay Classy

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.

Query Class Example for Reviews

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.

Query Class Example for Venues

Of how about food glorious food.

Query Class Example for Recipe

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.

Query Class Example for VS

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.

User Syntax

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.

Query Class Query Volume Example

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.

Query Class User Syntax

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.

Query Intent

Bath LOLCat

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.

Rank Indices

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.

Query Class Rank Indices

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.

Postscript: Leave A Comment // Subscribe (RSS Feed)

The Next Post:
The Previous Post:

Comments About Query Classes

// 8 comments so far.

  1. Kane Jamison // February 09th 2016

    Regarding the process of identifying the classes you’re already getting traffic on – Export all keyword visibility from Google Search Console and run a tag cloud or frequency graph on it. Should notice transition words like “in” or common modifiers that show up across keyword sets.

  2. AJ Kohn // February 09th 2016

    Exactly Kane! I used to use Google Refine to do that but there are a lot of other tools out there that are easier for this type of analysis now. The funny part is I think many people are ignoring the Search Console data. I’m writing a post about that next.

  3. Krystian // February 10th 2016

    Besides SEO, Query classes are extremely helpful in regard to creation and managing paid traffic from Google as well. This methodology is especially useful in large accounts with complex structure. I regret, it isn’t discussed that broadly as other SEO topics.

    Great read AJ. Cheers!

  4. AJ Kohn // February 10th 2016

    Thanks for your comment Krystian. And you’re right, query classes are super helpful when deploying paid search campaigns at scale. In particular, the ability to construct all the various forms of ‘structured queries’ easily and know exactly where you want to send them makes it a real timesaver. Not to mention they perform well too.

    The topic of query classes overall just isn’t discussed much. I’m not sure if it’s because people don’t really know about it, don’t think it’s valuable or simply think it’s no longer vital to the process. It’s their loss and our gain.

  5. Dave Elliott // February 10th 2016

    How have i not known about Google refine before? That will speed up a few processes considerably!

    Also, really like this way of siloing keyword groups, will definitely be using it in the future. Could be very interesting to combine it with persona information.

  6. AJ Kohn // February 10th 2016


    Google Refine has taken a backseat and I’m not quite sure what resources are there to keep it going at this point. But it’s all old Freebase tool and certainly helped me to explore and validate this concept.

    And yes, sometimes you can map a query class to a persona. This can be reflected in either the construction of the class or, more often, in the modifiers used. So a query class for ‘Windows 10 help’ (and most ‘help’ classes) will be those who are less savvy. While a query class for ‘Windows 10 sdk’ is likely a developer or at least technical to fair degree.

    But they don’t always work that way so I tend to rely more on simply knowing why they’re searching instead and fulfilling their query intent.

  7. Jeff Gold // February 23rd 2016

    Great post AJ. A few other tools I use to build out keyword lists include KeywordTool.io and TermExplorer (for related keywords), and SEMrush for competitor’s keywords. Then categorizing the master list by intent (as you defined here), as well as site taxonomy for larger e-commerce sites to prioritize product interest and business value. Great stuff!

  8. AJ Kohn // February 23rd 2016

    Thanks for the kind words and comment Jeff. And those are good tools to generate candidates.

    At the end of the day it’s up to you what tools you use to get to the right syntax, the right modifiers. You just must to find those query classes.

Who Are You?

Your Email Address

Your Website

You can follow any responses to this entry via its RSS comments feed. You may also leave a trackback by clicking this link.