Strategy guide · 19 minute read · By Trevor Fenner
Some links below are affiliate links. Purchases through those links support SEO Paradise. Read our disclosure.
A keyword list tells you what people search for. A keyword map tells you which page on your site is supposed to win each of those searches. That second part is where most small sites fall apart.
I see it all the time. A store owner does solid keyword research, then writes 3 blog posts, a collection description, and a product page that all chase the same phrase. Six months later none of them rank well, and nobody can say which page was supposed to be the one.
I have been selling online since 2005 and running my own ecommerce business since October 2010. The simplest habit that keeps a site organized is one boring spreadsheet. Every important keyword gets exactly one home, an owner, and a date to check on it. That spreadsheet is what this guide gives you.
Below you get a free keyword mapping template you can download as an Excel file, a filled example for a small high-ticket Shopify store, and the rules I use to fill it in. At Ecommerce Paradise we build and grow stores for a living, so this is written for people who run their own SEO and want a process they can actually keep up with.
| If the searcher wants to | Map the keyword to |
|---|---|
| Browse options and compare products | A collection or category page |
| Buy one specific model | The product page for that model |
| Learn, plan, or compare approaches | A blog guide or buying guide |
| Hire you or book a service | A service or landing page |
| Find your brand or a policy | Homepage, about, or policy page |
What a keyword map does
Keyword mapping is the process of assigning each target keyword, and the small group of close variations around it, to one specific URL on your site. The keyword map is the document that records those assignments. Think of it as a seating chart. Every keyword gets one chair, and no two pages fight over the same seat.
A good SEO keyword mapping sheet answers 4 questions fast. Which page owns this search? What does the searcher want when they type it? How is that page doing right now? What happens next, and who does it?
That last question matters more than people think. A map without a next action is just a list. A map with a next action, an owner, and a review date becomes your SEO to-do list for the next 90 days.
Why small sites need one more than big sites
Big sites can survive a bit of overlap because they have authority to spare. A small business site or a new Shopify store cannot. When 3 of your pages split the same query, you split the links, the internal links, and the clicks between them. Google then has to guess which page you meant, and it often guesses differently week to week.
The map also stops you from writing the same article twice. Before anybody writes a new post, they check the map. If the keyword already has a home, you improve that page instead. Simple rule, saves a lot of wasted writing.
If you have not done your research yet, start with my intent-first keyword research process and come back here. The map works best when the keyword list already has intent notes attached.
The keyword mapping template
Here is the template I use. It has 13 columns. That sounds like a lot, but each one earns its place, and most rows take 2 or 3 minutes to fill once you have your data open.
| Column | What to enter | Where the data comes from |
|---|---|---|
| URL | The full path of the page that owns the keyword, or the planned path for a new page | Your site or sitemap |
| Page type | Homepage, collection, product, blog guide, service, landing page | Your site structure |
| Primary keyword | The single main phrase this page should rank for | Keyword research |
| Secondary keywords | 2 to 5 close variations with the same intent | Keyword tool and Search Console queries |
| Search intent | Informational, commercial, transactional, or navigational, plus a few words on what the searcher wants | A manual look at the current results page |
| Monthly volume | Estimated monthly searches for the primary keyword | Keyword tool |
| Difficulty | The tool’s difficulty score, written as a number | Keyword tool |
| Current position | Average position for the primary keyword, or “Not ranking” | Search Console or a rank tracker |
| Status | Planned, Draft, Live, Optimize, Rewrite, Merge, or Done | Your decision |
| Internal links in | How many internal links point to this URL | Search Console Links report or a crawler |
| Next action | One specific task, written as a verb | Your decision |
| Owner | The person responsible for the next action | Your team |
| Review date | When you will check the result | Your calendar |
The blank template
Copy this structure into Google Sheets or Excel, or grab the Excel version below. One row per URL. Keep it that way and the sheet stays readable even when it grows past 100 rows.
| URL | Page type | Primary keyword | Secondary keywords | Search intent | Monthly volume | Difficulty | Current position | Status | Internal links in | Next action | Owner | Review date |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| /example-path/ | ||||||||||||
| /example-path-2/ | ||||||||||||
| /example-path-3/ |
Download the keyword mapping template (Excel, opens in Google Sheets too). The file includes the header row plus the 8 example rows from the sauna store below, so you can see how a finished row reads before you delete them and add your own.
Why these columns and not more
Plenty of templates online add columns for CPC, word count, title tag, meta description, and so on. I left those out on purpose. Title tags live in your CMS, and you check them during an on-page review, not in the planning sheet. Every extra column is one more thing to keep updated, and a sheet that is out of date gets ignored.
Keep that in mind when you customize it. Add a column only if you will actually use it to make a decision.
Filled example: a small sauna store
Templates make more sense once you see one filled in. Below is an example map for a made-up high-ticket Shopify store selling outdoor and infrared saunas. The store name, URLs, volumes, difficulty scores, positions, and dates are all illustrative. They are plausible numbers for a niche like this, not real data from a real store, so do not copy them into your own plan.
I picked saunas because it is a classic high-ticket niche. Products sell for thousands of dollars, buyers research for weeks, and the site needs both strong collection pages and helpful guides. If you are still choosing a niche, my high-ticket niches list covers dozens of categories that follow the same pattern.
| URL | Page type | Primary keyword | Secondary keywords | Search intent | Monthly volume | Difficulty | Current position | Status | Internal links in | Next action | Owner | Review date |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| / | Homepage | outdoor saunas | home sauna store, buy a sauna online | Commercial: browse brands and styles | 2,400 | 48 | 34 | Optimize | Sitewide | Rewrite hero copy around outdoor saunas and link the 3 main collections | Store owner | Dec 15, 2026 |
| /collections/barrel-saunas | Collection | barrel sauna | barrel saunas for sale, outdoor barrel sauna | Commercial: compare sizes and prices | 6,600 | 41 | 18 | Optimize | 22 | Add a 150 word buying intro and a 5 question FAQ under the grid | Writer | Dec 1, 2026 |
| /collections/infrared-saunas | Collection | infrared sauna | home infrared sauna, 2 person infrared sauna | Commercial: compare models | 14,800 | 62 | Not ranking | Live | 9 | Link from the cost guide and the comparison guide, then recheck | Store owner | Dec 20, 2026 |
| /products/aurora-6-person-barrel-sauna | Product | 6 person barrel sauna | 6 person outdoor sauna, large barrel sauna | Transactional: ready to buy this size | 590 | 19 | 9 | Optimize | 6 | Add spec table with dimensions, heater options, and delivery details | VA | Dec 1, 2026 |
| /blogs/guides/barrel-vs-cabin-sauna | Blog guide | barrel vs cabin sauna | cabin sauna vs barrel sauna, which sauna shape is best | Informational: compare 2 styles | 480 | 12 | 27 | Rewrite | 2 | Add a side by side table and link to both collections | Writer | Dec 10, 2026 |
| /blogs/guides/outdoor-sauna-cost | Blog guide | outdoor sauna cost | how much is an outdoor sauna, sauna installation cost | Informational: budget planning | 1,900 | 22 | 15 | Optimize | 4 | Add a price range table by size and a section on delivery and site prep | Writer | Dec 10, 2026 |
| /blogs/guides/outdoor-sauna-foundation | Blog guide | outdoor sauna foundation | sauna base pad, gravel pad for sauna | Informational: prepare the site | 880 | 9 | Not ranking | Planned | 0 | Write the guide, then link it from the cost guide and every barrel product | Writer | Dec 20, 2026 |
| /pages/sauna-financing | Landing page | sauna financing | sauna payment plans, finance a home sauna | Transactional: pay over time | 320 | 6 | Not ranking | Planned | 0 | Build the page and add a link in the footer and on product pages | Store owner | Dec 20, 2026 |
What the example teaches
Look at how the rows split by intent. “Barrel sauna” goes to the collection because people want to browse. “6 person barrel sauna” goes to one product because that searcher already knows the size they want. “Barrel vs cabin sauna” goes to a guide because nobody buys from a comparison query on the first visit.
Also notice the next actions. Every one is specific enough that someone could start it today. “Improve SEO” is not a next action. “Add a 150 word buying intro and a 5 question FAQ under the grid” is.
The infrared collection row shows something else. Difficulty 62 is high for a small store. The plan is not to stuff more keywords on the page. The plan is to send it internal links from guides that already rank, then check again. That is a realistic move for a store with limited authority.
How to fill in the template step by step
Here is the order I fill a map in. Doing it in this order stops you from guessing at intent or assigning keywords to pages that do not deserve them.
Step 1: List every page that matters
Export your sitemap or crawl the site and paste every indexable URL into column A. On a Shopify store that means the homepage, collections, top products, blog posts, and key pages like financing or shipping. Skip tag pages, cart, account, and search result URLs.
For a store with hundreds of products, do not map every product on day one. Map your collections, your top 20 products by revenue, and every blog post. You can add the long tail later.
Step 2: Group your keyword list by intent
Take your keyword research export and group phrases that share the same intent. “Barrel sauna,” “barrel saunas for sale,” and “outdoor barrel sauna” are one group. “Barrel sauna cost” is a different group because the searcher wants a price answer, not a product grid.
The fastest test is to search both phrases and compare the first page. If 6 or more of the top 10 results are the same URLs, treat the phrases as one group. If the results are mostly different, they need different pages.
Step 3: Pick a primary keyword for each group
The primary keyword is usually the phrase with the clearest intent and decent volume, not always the biggest number. A phrase with 6,600 searches and a perfect intent match beats a phrase with 14,800 searches where the results page is full of brands you cannot compete with yet.
Step 4: Assign each group to one URL
Now match each group to a page. Use the quick decision table at the top of this guide. Collections for browse intent, products for model intent, guides for learning intent, service pages for hiring intent.
If there is no good page yet, write the planned URL and set the status to Planned. Do not force a keyword onto a page that does not fit just to avoid writing something new.
Step 5: Add the numbers
Fill in monthly volume and difficulty from your keyword tool, then current position from Search Console or your rank tracker. Write “Not ranking” rather than leaving a blank, so you know you checked.
Different tools give different volumes. Pick one tool and stick with it for the whole sheet. The numbers are for comparing rows against each other, not for forecasting exact traffic.
Step 6: Count internal links in
Open the Links report in Search Console, or run a crawler, and note how many internal links point at each mapped URL. This column is where a lot of quick wins hide. A collection with 2 internal links that you want ranking for a competitive term is under-supported, no matter how good the copy is.
Step 7: Write one next action, an owner, and a date
One action per row. Not three. If a page needs 3 things, put the most important one first and add the others when it is done. Then give it an owner and a review date 3 to 6 weeks out, which is about how long it takes to see whether a change moved anything.
The one page per intent rule
If you remember one thing from this guide, make it this. Every search intent gets one primary page. Not one page per keyword. One page per intent.
That distinction matters. “Barrel sauna” and “barrel saunas for sale” are 2 keywords but 1 intent, so they share 1 page. “Barrel sauna” and “barrel sauna cost” are 2 intents, so they get 2 pages. When you map by keyword instead of intent, you end up with near-duplicate pages that compete with each other.
How to check that you followed the rule
Once the map is filled, sort the sheet by primary keyword and scan for repeats. Then filter the secondary keywords column for your top 10 terms. If the same phrase shows up as a target on 2 different rows, one of those pages needs a new target or needs to merge into the other.
This is the single best way to prevent keyword cannibalization before it starts. Fixing it after the fact means redirects, rewrites, and waiting. Preventing it means sorting a column.
When 2 pages for similar terms is fine
The rule is about primary targets, not about every mention. Your barrel sauna product page will naturally use the words “barrel sauna.” That is fine. It only becomes a problem when 2 pages are both built to be the best answer for the same search.
A collection page and a buying guide can both mention “barrel sauna” and serve different people. The collection serves someone ready to compare products. The guide serves someone still deciding whether a barrel shape suits their yard. Different intent, different page, no conflict.
Mapping existing pages vs new pages
Most people build a map for a site that already exists. That changes the order of work, because existing pages already have rankings, links, and history you do not want to throw away.
Existing pages first
Map what you have before you plan anything new. For each live page, ask what it currently ranks for, not what you wish it ranked for. Search Console usually tells you the honest answer. Sometimes a blog post you wrote about sauna maintenance is quietly ranking for “sauna heater replacement,” and that becomes its real primary keyword.
When an existing page is a decent match, set the status to Optimize. When it is a weak match but has links and traffic, set it to Rewrite and refocus it. When 2 existing pages chase the same intent, mark the weaker one Merge, plan a 301 redirect to the stronger one, and remove it from the map once the redirect is live.
New pages second
After the existing pages are mapped, whatever keyword groups are left over become your content plan. Give each one a planned URL, set the status to Planned, and sort them by a mix of intent, volume, and difficulty.
On a store, I usually build missing collection pages and buying guides before anything else. Those pages sit closest to the sale. Fun informational posts can wait until the money pages are in place.
On Shopify specifically
Shopify gives you clear page types out of the box, which makes mapping easier. Collections map to browse intent, products to model intent, and blog articles to learning intent. Shopify’s own help center lists the main places to add keywords: page titles, meta descriptions, image alt text, and body content. Your map tells you which keyword goes into those fields on each page.
If you are still setting up the store itself, the Shopify platform handles the technical basics well enough that the map, not the theme, becomes your main SEO lever. For the store-wide checks that sit around the map, use the Shopify SEO checklist.
Using Search Console to check your map
Keyword tools give you estimates. Google Search Console gives you what actually happened on your site. I use it in 3 ways when building and checking a map.
1. Find what each page already ranks for
Open the Search Console Performance report, add a Page filter for one URL, and switch to the Queries tab. Sort by impressions. The top queries are what Google already associates with that page. If they match your planned primary keyword, great. If they do not, you either adjust the target or adjust the page.
2. Find pages competing for one query
Now flip it. Add a Query filter for your primary keyword and open the Pages tab. If more than one of your URLs is getting impressions for that query, check whether that is healthy or a conflict. Google’s help page on advanced filtering and comparison explains the match options, including contains and custom regex filters.
A regex filter is handy when you want to catch a whole keyword group at once. Something like barrel sauna|barrel saunas pulls both versions in a single view.
3. Fill the current position column
Use the Queries tab with the page filter applied and copy the average position for the primary keyword. Use a 3 month date range so one odd week does not skew the number. Keep in mind that Google omits some queries from the report to protect user privacy, so low-volume phrases may not show up at all. If a keyword is missing, write “Not ranking” and check it again in your rank tracker.
New to the tool? My Search Console guide for Shopify walks through the setup and the reports you will use most.
Keeping the map alive
A keyword map is not a one-time project. It is a living document. The moment you stop updating it, people start writing posts without checking it, and the overlap creeps back in.
A simple review rhythm
Here is the cadence that works for small teams. Weekly, update the status and next action on any row someone touched. Monthly, refresh the current position column from Search Console and sort by review date. Quarterly, add new keyword groups and look for any 2 rows that drifted onto the same intent.
That monthly check takes about 30 minutes on a 50 row map. It is the cheapest SEO habit I know.
Use the status column honestly
The status column only helps if it is true. “Optimize” means the page is a good match and needs improvement. “Rewrite” means the page is the right URL but the content misses the intent. “Merge” means the page is going away. “Done” means the next action is complete and the row is waiting for its review date.
When a review date arrives, look at the position and clicks, decide the next action, and set a new date. That loop is the whole system.
Connect the map to internal linking
The internal links in column is there for a reason. Once you know which page owns each keyword, you know where links should point. Every guide that mentions barrel saunas should link to the barrel sauna collection with a descriptive anchor. My internal linking strategy guide shows how to turn a finished map into topic clusters.
This is honestly where the map pays for itself. Writers stop guessing which page to link, and the pages you care about most collect the most links.
Common keyword mapping mistakes
These are the mistakes that show up most often. Here is what to watch for.
Mapping one keyword per page
If every page targets exactly one phrase, you end up writing a separate page for “barrel sauna,” “barrel saunas,” and “outdoor barrel sauna.” Those should be one page. Map groups, not single phrases.
Ignoring what already ranks
Assigning a keyword to a page Google has never connected with it, while ignoring the page that already sits at position 12, wastes months. Start from Search Console data, then adjust.
Chasing volume over intent
A 14,800 volume keyword is useless if the results page is full of product listings from big retailers and your page is a blog post. Look at the actual results before you assign anything. Go deep before you go wide. Win the specific terms first, then work up to the broad ones.
Building it and never opening it again
The most common failure is the beautiful sheet nobody updates. Keep the columns lean, give every row an owner, and put the monthly review on your calendar.
Forgetting the business side
Rankings only matter if the page sells. For high-ticket stores, a collection that ranks well but has weak suppliers or slow shipping still loses. If that part of your business is still taking shape, read my guide on finding the best high-ticket suppliers before you pour effort into ranking product pages.
Frequently asked questions
What is a keyword mapping template?
It is a spreadsheet that assigns each target keyword group to one URL on your site, along with the intent, the numbers, the current position, and the next action. The template in this guide uses 13 columns and one row per URL.
How many keywords should I map to one page?
One primary keyword and 2 to 5 secondary keywords that share the same intent. If you find yourself adding 15 secondary keywords, some of them probably belong on a different page.
Should I map every product page on my store?
Not at first. Map your collections, your top 20 products by revenue, and every blog post. Add the rest when those are in good shape. A smaller map you actually maintain beats a huge one you abandon.
How often should I update a keyword map?
Update the status column whenever someone works on a page, refresh positions monthly, and add new keyword groups each quarter. The review date column tells you which rows need attention this week.
Is keyword mapping the same as keyword research?
No. Keyword research finds the phrases people search for. Keyword mapping decides which page on your site targets each one. Research comes first, and the map turns it into a plan.
Start with 20 rows, not 200
Download the Excel file, delete my sauna examples, and map your 20 most important pages this week. Fill every column, give each row one next action, and set review dates. That small map will do more for your rankings than a giant keyword export sitting in a folder.
If you want help building the map and the store strategy around it, I work with store owners one on one through Ecommerce Paradise coaching. And if you are still deciding on a business model, my guide to high-ticket dropshipping explains why a focused store with a clean keyword map is such a strong place to start.
Related SEO guides
Trevor Fenner publishes practical SEO guides through SEO Paradise, part of Ecommerce Paradise. His articles cover search strategy, content planning, on-page optimization, and technical foundations for business websites.
