Keyword mapping

키워드 매핑

Assign query groups to pages to reveal overlap and missing coverage.

···
html
<div class="mapping"><div class="queries"><b>QUERIES</b><div>desk sizes</div><div>desk dimensions</div><div>buy desk</div></div><div class="lines"><i></i><i></i><i></i></div><div class="pages"><b>PAGES</b><div>/size-guide <span id="conflict">OVERLAP</span></div><div>/shop</div></div><button id="resolve">RESOLVE</button></div>
css
.mapping{display:grid;grid-template-columns:1fr .25fr 1fr;column-gap:clamp(6px,1.5vmin,15px);position:relative;width:min(92%,560px);font:800 clamp(10px,max(1.7vmin,1vw),14px) sans-serif;color:var(--fg)}.queries,.pages{display:grid;gap:clamp(6px,1.3vmin,12px)}.queries b,.pages b{color:var(--accent);letter-spacing:.1em}.queries div,.pages div{padding:clamp(7px,1.4vmin,13px);background:var(--surface);border:1px solid var(--line)}.pages span{color:var(--accent);font-size:max(10px,1vw,.65em);margin-left:4px}.lines{display:grid;gap:clamp(6px,1.3vmin,12px);padding-top:2em}.lines i{height:2px;background:var(--accent);align-self:center;animation:trace 2.8s infinite alternate}.lines i:last-child{transform:rotate(-14deg)}button{grid-column:1/-1;justify-self:center;margin-top:clamp(8px,2vmin,18px);background:var(--fg);color:var(--bg);border:0;padding:6px 12px;font:inherit;cursor:pointer}@keyframes trace{to{opacity:.3;transform:scaleX(.75)}}@media(min-width:700px){body > :not(script){zoom:1.55}.map,.feed,.linkmap{height:48%}}
js
const conflict=document.querySelector('#conflict'),button=document.querySelector('#resolve');let resolved=false;function show(){conflict.textContent=resolved?'CLEAR':'OVERLAP';conflict.style.color=resolved?'var(--accent-2)':'var(--accent)';button.textContent=resolved?'RESET':'RESOLVE'}button.addEventListener('click',()=>{clearInterval(timer);resolved=!resolved;show()});const timer=setInterval(()=>{resolved=!resolved;show()},2500);

Keyword mapping groups related queries by intent and assigns each group to a primary page. It exposes pages competing for the same query and questions with no suitable answer.

Move the overlapping query card in the demo and the conflict clears. Do not create one page per keyword mechanically; group queries that genuinely need the same answer.

When to use

Use it while planning content or auditing existing query, intent, and URL relationships.

Open as page ↗