Search Intent Classification vs. Keyword Clustering: Not the Same Thing
The name "keyword grouping" makes it easy to assume that the Keyword Grouping tool will automatically bundle keywords with similar meanings, essentially doing your content-cluster planning for you. But open up the actual code and you'll find it does something quite different. Let's draw a precise line between two SEO concepts that sound alike but rely on entirely different techniques.
1. Two Techniques That Get Mixed Up Because They Sound Similar
In SEO practice, "grouping keywords" can refer to at least two completely different tasks.
| Technique | Purpose | Typical method |
|---|---|---|
| Search Intent Classification | Tag each individual keyword with "why" it's being searched, across 4 categories | Rule-based matching that checks whether a keyword contains specific words (like "how to," "what is," "buy," "price") against a dictionary |
| Keyword Clustering | Group multiple keywords with similar meaning into a single content page | Distance between embedding vectors, or overlap in actual Google SERP results (whether the same page ranks in the top results for multiple keywords) |
The first classifies the purpose of an "individual" keyword. The second calculates the relationship "between multiple" keywords. They're separate techniques with entirely different input/output structures.
2. What This Tool Actually Does: Dictionary-Matching Intent Classification
Checking the actual logic behind the Keyword Grouping tool in the code, the classifyKeyword() function lowercases each keyword, then checks it against pre-registered lists of Korean and English words for four categories — informational, commercial, transactional, navigational — one at a time, using substring inclusion (includes). For example, if a keyword contains words like "how to," "what is," or "guide," it's classified as informational; words like "buy," "price," or "discount" get it classified as transactional. There's no embedding model, no vector similarity calculation, no external API call involved — it's pure static dictionary matching.
| Input keyword | Matched word | Classification result |
|---|---|---|
| "how to optimize SEO" | contains "how to" | informational |
| "recommended SEO tools" | contains "recommended" | commercial |
| "buy SEO tool" | contains "buy" | transactional |
| "MODOO HUB login" | contains "login" | navigational |
| "backlink building strategy" | no matching word combination in the dictionary | unknown (unclassified) |
3. What Happens When Words From Multiple Categories Appear Together?
Looking at the code, categories are checked in the order informational → commercial → transactional → navigational, and the check stops immediately at the first category that matches. That means even if a single keyword contains words belonging to two categories at once, it will never be classified into whichever category comes later in that order. For example, take "recommended SEO tools price comparison" — it contains both a commercial word ("recommended") and a transactional word ("price"). Assuming no informational word is present, the check locks in "commercial" first, since that category is checked earlier, and the transactional check never even runs. This "first-come, first-served" structure is unique to dictionary matching and doesn't exist in real clustering.
4. What Real Keyword Clustering Actually Does
Real clustering, on the other hand, doesn't judge the purpose of a single keyword — it calculates, within a set of keywords, whether "these multiple keywords can be served by one page." Two approaches are typically used. The first converts each keyword into an embedding vector and groups keywords into the same cluster if their cosine similarity exceeds a certain threshold. The second actually searches each keyword on Google and calculates how much the top-10 result URLs overlap (SERP overlap) — heavy overlap implies Google already treats the two keywords as "the same topic," so they get grouped together. Both approaches require external data (an embedding model, or live SERP results), and on this site the Keyword Grouping tool and the Keyword Clustering tool exist as two separate tools.
5. How to Use Both Together in Practice
The two techniques aren't competing — they're separate steps that happen in a different order. The common workflow is to first use search intent classification to sort a raw keyword list into 4 broad purpose categories, which determines your content format (guide, comparison, landing page, or brand page), and then, within the same intent group, use clustering to regroup keywords by finer-grained topic and design a pillar-cluster content structure. If you skip clustering and only do intent classification, pages covering the same topic end up scattered across multiple URLs — and no matter how well you optimize each individual page with the Keyword Density Checker, your site's overall topical authority won't improve.
Frequently Asked Questions
Q. Does the Keyword Grouping tool use AI or embeddings?
No. The actual code lowercases the input and performs static dictionary matching against pre-registered lists of Korean and English words, checking for substring inclusion. There's no embedding or API call involved at all.
Q. What happens if a keyword contains words from multiple intent categories at once?
The categories are checked in the order informational → commercial → transactional → navigational, and the keyword is locked into whichever category matches first. Any categories after that are never checked.
Q. How is a keyword made up entirely of words not in the dictionary classified?
If none of the four dictionaries match, it's classified as "unknown." Terms that fall outside the dictionary, including new slang or coined phrases, may go unclassified.
Q. Where can I do real keyword clustering on this site?
Search intent classification is handled by the Keyword Grouping tool, while meaning-based clustering is handled by a separate Keyword Clustering tool. Despite the similar names, they are different tools.
Q. What are the limitations of the dictionary-matching approach?
Since it only checks whether registered words appear literally, it can't understand synonyms, context, or word order. For example, new slang or coined terms not in the dictionary will always fall into "unclassified."