Keyword Mapping Template with Intent and Cannibalisation Flags (Google Sheets)
This is the keyword mapping template I use between keyword clustering and writing content briefs. You give every keyword (or cluster) one target URL, and the sheet labels its search intent, scores its priority and flags the mapping mistakes that later show up as keyword cannibalisation.
Most keyword mapping sheets are a list with a URL column. The problems only appear months later, when two of your pages compete for the same query or a category page is asked to rank for a how-to question. I wanted a sheet that catches those problems while you’re still planning.
Who it’s for
SEOs, content managers and agencies planning new content or tidying an existing site. It works for a 50-keyword blog plan and for a few hundred clustered keywords from a semantic keyword research project.
How to use it
- Open the Settings tab and replace the navigational words with your brand and product names. Check the page types and the page type × intent grid.
- On Keyword Map, clear the sample rows and paste your clustered keywords with cluster, search volume and keyword difficulty. Add the current ranking URL and position from Search Console or your rank tracker if you have them.
- Optionally paste an intent label from a classifier. Otherwise the sheet labels intent with whole-word rules.
- For each keyword, choose a target URL, page status (existing or planned), page type and role (one primary keyword per URL, the rest secondary).
- Read the Flags column and fix cannibalisation first, then overloaded URLs, then intent mismatches.
- Use URL Summary, Cluster Summary and the Dashboard to see the plan per page and per cluster, then turn planned pages into briefs.
What you get
- Five automatic flags: the same keyword mapped to two or more URLs, a URL with too many primary keywords, a URL spanning several clusters, an intent that doesn’t fit the page type, and a ranking URL that isn’t your chosen target.
- A transparent 0-100 priority score from volume, difficulty and intent, with every weight editable.
- One row per target URL and per cluster, with counts and flags, plus a dashboard.
- A small synthetic sample so you can see every flag fire before you paste your own data.
Limits
The rule-based intent labels are a first pass, so paste better labels when you have them. The flags check your plan, which means a page can still compete in the results for reasons the sheet can’t see, such as internal anchors or duplicated sections. Formulas work in Google Sheets and Excel, with room for 1,000 keywords.
Pair it with my post on turning semantic keyword research into an actionable workflow, and go deeper in the Semantic ML-enabled Keyword Research course.
What’s included
- Maps every keyword or cluster to one existing or planned URL
- Flags cannibalisation, overloaded URLs, pages spanning clusters and intent mismatches
- Rule-based intent labels, or paste your own from a classifier
- Editable 0-100 priority score from volume, difficulty and intent
- URL and cluster summaries plus a dashboard; works in Sheets and Excel
Where this resource is used on MLforSEO
Walkthroughs on the blog
Concepts behind it
More keyword research resources
- No-Code TemplateTopical Map Template and Generator Based on the EAV Model (Google Sheets)
- Coding Script or NotebookFree Keyword Clustering Tool (SERP-Overlap + Embeddings Hybrid)
- Coding Script or NotebookYouTube Keyword and Tag Research Notebook (Autocomplete + Competitor Tags)
- Coding Script or NotebookDataForSEO SERP Collection Starter Notebook
- No-Code TemplateGoogle Sheets Formulas for SEO Keyword Research and Content Analysis (Copyable, Tested)
- Coding Script or NotebookMulti-Dimension Query Classifier: Rule-Based Colab Notebook and Google Sheets Template
See all 22 keyword research resources →See all 11 search intent resources →See all 15 no-code template resources →

