Bulk Search Intent Classifier for 15,000+ Keywords

March 13, 2026 NEW

When you're working with large keyword lists, figuring out the search intent behind each term can quickly become a nightmare. Manually sorting thousands of keywords into informational, commercial, transactional, or navigational categories takes hours.

This lightweight bulk search intent classifier lets you paste up to 15,000+ keywords and automatically categorize them based on common intent signals. It's a fast way to organize keyword research before building pages, content clusters, or ad campaigns.

The script works entirely in the browser and uses simple pattern matching to detect phrases typically associated with different search intents.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Bulk Search Intent Classifier</title>

<style>
body{
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
background:#0f1115;
color:#e6e6e6;
padding:30px;
}

h1{
margin-bottom:10px;
}

textarea{
width:100%;
height:180px;
padding:10px;
background:#1b1f27;
color:#fff;
border:1px solid #333;
border-radius:6px;
}

button{
margin-top:10px;
padding:10px 16px;
border:none;
background:#6c5ce7;
color:#fff;
border-radius:6px;
cursor:pointer;
}

table{
margin-top:20px;
width:100%;
border-collapse:collapse;
}

th,td{
border-bottom:1px solid #333;
padding:8px;
text-align:left;
font-size:14px;
}

.intent-info{color:#74b9ff}
.intent-commercial{color:#ffeaa7}
.intent-transactional{color:#55efc4}
.intent-nav{color:#fd79a8}

#stats{
margin-top:20px;
font-size:14px;
opacity:.85;
}
</style>
</head>

<body>

<h1>Bulk Search Intent Classifier</h1>

<p>Paste one keyword per line (supports very large lists).</p>

<textarea id="keywords" placeholder="best laptop for programming
buy gaming laptop
amazon login
how to build a website"></textarea>

<br>
<button onclick="analyze()">Classify Search Intent</button>

<div id="stats"></div>

<table id="results">
<thead>
<tr>
<th>Keyword</th>
<th>Intent</th>
</tr>
</thead>
<tbody></tbody>
</table>

<script>

const informational = [
"how","guide","tutorial","tips","learn","what","why","examples","ideas"
];

const commercial = [
"best","top","review","compare","vs","comparison","alternatives"
];

const transactional = [
"buy","price","discount","coupon","deal","order","cheap","for sale"
];

const navigational = [
"login","sign in","official","website","homepage","app","download"
];

function detectIntent(keyword){

const k = keyword.toLowerCase();

for(let w of transactional){
if(k.includes(w)) return ["Transactional","intent-transactional"];
}

for(let w of commercial){
if(k.includes(w)) return ["Commercial","intent-commercial"];
}

for(let w of informational){
if(k.includes(w)) return ["Informational","intent-info"];
}

for(let w of navigational){
if(k.includes(w)) return ["Navigational","intent-nav"];
}

return ["Unclear",""];
}

function analyze(){

const lines = document.getElementById("keywords").value.split("\n");
const tbody = document.querySelector("#results tbody");

tbody.innerHTML="";

let counts={
info:0,
commercial:0,
transactional:0,
nav:0,
unclear:0
};

for(let raw of lines){

let keyword = raw.trim();
if(!keyword) continue;

const result = detectIntent(keyword);

let intent = result[0];
let cls = result[1];

if(intent==="Informational") counts.info++;
else if(intent==="Commercial") counts.commercial++;
else if(intent==="Transactional") counts.transactional++;
else if(intent==="Navigational") counts.nav++;
else counts.unclear++;

const tr = document.createElement("tr");

tr.innerHTML = `
<td>${keyword}</td>
<td class="${cls}">${intent}</td>
`;

tbody.appendChild(tr);
}

document.getElementById("stats").innerHTML = `
<strong>Summary:</strong><br>
Informational: ${counts.info} |
Commercial: ${counts.commercial} |
Transactional: ${counts.transactional} |
Navigational: ${counts.nav} |
Unclear: ${counts.unclear}
`;

}

</script>

</body>
</html>

Bulk keyword intent classification is useful when building topical maps, planning landing pages, or organizing massive keyword exports from tools like Google Search Console or keyword research platforms.

You can easily extend this script by adding more keyword signals, exporting results to CSV, or clustering keywords by topic.

Comments (0)

No comments yet — be the first.

← Back to all scripts