BOFU Keyword-to-Page Map Template
Buying queries are the ones that pay. But they often land on a blog post, an old review or a page with the wrong CTA.
This template gives every buyer job one home: a query cluster, one canonical URL, the right asset type and a clear conversion route.
It is not a full keyword map. Build that first, then use this sheet for the bottom-of-funnel rows where a wrong page costs leads.
Inside: a fill-in map, a buyer job builder, an asset type picker, a cannibalization resolver, a conversion route planner, a CSV header and a fictional example.
- Format
- Editable Word .docx
- Length
- 7 variants · ~7 pages
- Price
- 100% free
- Setup
- Copy or download
Get the editable Word doc in one click.
Free · No signup · Instant download
BOFU Keyword-to-Page Map Template
BOFU keyword-to-page map
One row per buyer job. Each row gets one canonical URL. If two rows point to the same URL, merge the rows or split the page.
| Buyer job | Query cluster | Canonical URL | Asset type | Conversion route | Owner / status |
|---|---|---|---|---|---|
| [Replace our current tool without losing data] | [[tool] alternatives, switch from [tool], [tool] migration] | [/alternatives/[tool]/] | [Alternatives page] | [Migration checklist, then trial] | [name] / [Live / Fix / Create] |
| [Pick between two shortlisted options] | [[us] vs [them], [them] vs [us]] | [/compare/[us]-vs-[them]/] | [Versus page] | [Demo request] | [name] / [status] |
| [Check the cost fits our budget] | [[product] pricing, [product] cost, [product] plans] | [/pricing/] | [Pricing page] | [Plan picker, then signup] | [name] / [status] |
| [Find a tool for our exact use case] | [[category] for [industry], [category] for [team size]] | [/solutions/[industry]/] | [Use-case landing page] | [Consultation booking] | [name] / [status] |
Per-row detail (fill for every row)
- Competing URLs found: [other pages that rank or get impressions for this cluster]
- Resolution: [merge + 301 / re-target / canonical / keep distinct, with reason]
- Proof the page must show: [pricing, integrations, migration steps, reviews, security]
- Primary CTA and tracked event: [Start trial] / [trial_start]
- Feeder pages that link in: [2 to 4 guides or blog posts with the anchor text]
Next action
- Owner: [name] - action: [fix the first row marked Fix or Create] by [date]
- Reviewer: [sales or product lead] - action: confirm the buyer job and proof list match real sales calls
Completion check
- Every row has one buyer job, one cluster, one canonical URL, one asset type and one conversion route.
- No canonical URL appears in two rows.
- Every competing URL has a written resolution.
- Every conversion route names a CTA and the event you track.
- Someone outside SEO, such as sales, has read the buyer jobs and agreed them.
Why it works
Every buying query lands on one canonical page with the right format and one clear next step, so pages stop competing and buyers reach a route that converts.
- Each row starts from a buyer job in the customer's words, so clusters follow real decisions instead of loose keyword lists.
- Competing URLs are found in Search Console and resolved with Google's documented canonical signals, not guesswork.
- Every page gets one conversion route with a CTA, nearby proof and a tracked event, so you can check the map in analytics.
7 ready-to-use variants
Copy allBOFU Page Map (fill-in)
When to use: One row per buyer job: cluster, canonical URL, asset type and conversion route, with owner, status and a completion check.
BOFU keyword-to-page map
One row per buyer job. Each row gets one canonical URL. If two rows point to the same URL, merge the rows or split the page.
| Buyer job | Query cluster | Canonical URL | Asset type | Conversion route | Owner / status |
|---|---|---|---|---|---|
| [Replace our current tool without losing data] | [[tool] alternatives, switch from [tool], [tool] migration] | [/alternatives/[tool]/] | [Alternatives page] | [Migration checklist, then trial] | [name] / [Live / Fix / Create] |
| [Pick between two shortlisted options] | [[us] vs [them], [them] vs [us]] | [/compare/[us]-vs-[them]/] | [Versus page] | [Demo request] | [name] / [status] |
| [Check the cost fits our budget] | [[product] pricing, [product] cost, [product] plans] | [/pricing/] | [Pricing page] | [Plan picker, then signup] | [name] / [status] |
| [Find a tool for our exact use case] | [[category] for [industry], [category] for [team size]] | [/solutions/[industry]/] | [Use-case landing page] | [Consultation booking] | [name] / [status] |
Per-row detail (fill for every row)
- Competing URLs found: [other pages that rank or get impressions for this cluster]
- Resolution: [merge + 301 / re-target / canonical / keep distinct, with reason]
- Proof the page must show: [pricing, integrations, migration steps, reviews, security]
- Primary CTA and tracked event: [Start trial] / [trial_start]
- Feeder pages that link in: [2 to 4 guides or blog posts with the anchor text]
Next action
- Owner: [name] - action: [fix the first row marked Fix or Create] by [date]
- Reviewer: [sales or product lead] - action: confirm the buyer job and proof list match real sales calls
Completion check
- Every row has one buyer job, one cluster, one canonical URL, one asset type and one conversion route.
- No canonical URL appears in two rows.
- Every competing URL has a written resolution.
- Every conversion route names a CTA and the event you track.
- Someone outside SEO, such as sales, has read the buyer jobs and agreed them.
Buyer Job and Query Cluster Builder
When to use: Turn sales conversations and BOFU modifiers into job statements and query clusters that each deserve one page.
Start from the buyer job, not the keyword
A buyer job is the decision the searcher is trying to make. Write it in their words: "pick a payroll tool for a 20-person team", not "payroll software keyword".
Job statement: When [situation], I want to [decision or task], so I can [outcome].
BOFU modifiers to collect per job
- Switching: alternatives, replace, switch from, migrate from
- Choosing: vs, compared to, best [category] for [use case]
- Checking cost: pricing, cost, plans, free trial
- Checking fit: integrations, for [industry], for [team size], reviews
- Ready to act: demo, quote, consultation, buy, near me
Is it one cluster or two?
- Search each query in the group.
- Compare the top results. If the same pages rank for both, treat them as one cluster and one URL.
- If the results show different page types (pricing pages for one, comparison posts for the other), split them into two rows.
Tools that help
Pull modifier ideas with Keyword Research, then group them with the Keyword Cluster Tool.
Check what ranks for each group with the SERP Analyzer before you assign a URL.
Need the wider keyword map for every funnel stage? Use the Keyword Research and Mapping Template first, then bring the BOFU rows here.
Asset Type Picker
When to use: Choose the page format each cluster needs, from alternatives and versus pages to pricing and use-case pages.
Match the asset to what ranks and what the buyer needs
| Query pattern | Asset type | Must show |
|---|---|---|
| [competitor] alternatives | Alternatives page | Who should switch, honest trade-offs, migration steps |
| [us] vs [them] | Versus page | Side-by-side table, sources, dated checks |
| best [category] for [use case] | Roundup or use-case page | Selection criteria, scoring, who each option suits |
| [product] pricing | Pricing page | Plans, what is included, how billing works |
| [category] for [industry] | Use-case landing page | Industry workflow, relevant proof, matching CTA |
| [product] [integration] | Integration page | What syncs, setup steps, limits |
| [service] near me / quote | Service or location page | Service area, process, contact route |
Rules
- Let the results page decide the format. If the top results are comparison tables, a product page will struggle.
- One asset type per row. A pricing page that also tries to be an alternatives page usually does both badly.
- Write down the proof the buyer needs before the page is drafted, so the brief includes it.
Turn each row into a writer brief with the Content Brief tool. For versus and alternatives titles, try the Comparison Article Title Generator.
Canonical URL and Cannibalization Resolver
When to use: Find URLs that split the same buying query and decide which one stays, with the right fix for the rest.
Find pages that compete for the same buyer
- In Search Console, open the Performance report and click a BOFU query row to filter by it.
- Open the Pages tab. More than one URL with impressions means the cluster is split.
- Note clicks and impressions per URL for the same date range.
- Check your own analytics: which URL converts for this job?
Pick one canonical URL
| Situation | Resolution |
|---|---|
| Two pages, same job, same asset type | Merge into the stronger URL and 301 redirect the other |
| Near-duplicate pages that must both stay live | rel=canonical to the chosen URL |
| A blog post ranks for a buying query | Re-target the post to an informational job and link it to the BOFU page |
| Different jobs that only look alike | Keep both, make titles, H1s and CTAs clearly different |
What Google says
- Redirects and rel=canonical are strong signals for the canonical URL. Sitemap inclusion is a weak signal.
- These are signals, not commands. Google may still choose a different canonical.
- Do not use robots.txt for canonicalization, and Google does not recommend noindex to pick a canonical within one site.
Track the chosen URL for each cluster in the Rank Tracker so you see if the wrong page starts ranking again.
Conversion Route Planner
When to use: Give each BOFU page one next step, the proof next to it and the event you track.
Every BOFU page needs one next step
The route is what the buyer does after reading. Pick the one that fits their stage, then make every CTA on the page point to it.
| Field | Entry |
|---|---|
| Primary route | [Trial / Demo / Consultation / Quote / Buy / Pricing] |
| Primary CTA text | [Start a free trial] |
| Secondary route (lower commitment) | [checklist download, pricing page, case study] |
| Proof next to the CTA | [integration list, security note, real customer review you have permission to use] |
| Form fields | [only what sales needs to reply] |
| Tracked event | [demo_request] in [analytics tool] |
| Who follows up and how fast | [team] / [time] |
Route fit checks
- Switching buyers need migration help before a trial. Offer the checklist first.
- Versus readers are close to a decision. A demo or trial fits better than a newsletter.
- Pricing readers want to act. Do not hide the signup behind a sales call unless you must.
- Service buyers want to talk. A booking link beats a long form.
Want an expert to check your map and routes? See SEO and GEO services or book a free consultation with Anatolii Ulitovskyi.
Spreadsheet Header (CSV)
When to use: A paste-ready header row and allowed values to build the map in Google Sheets or Excel.
Paste-ready spreadsheet header
Paste this row into cell A1 of Google Sheets or Excel, then split text to columns by comma.
buyer_job,query_cluster,primary_query,canonical_url,asset_type,conversion_route,primary_cta,tracked_event,competing_urls,resolution,proof_needed,owner,status,review_date
Allowed values
- asset_type: alternatives, versus, roundup, pricing, use-case, integration, service, product
- conversion_route: trial, demo, consultation, quote, buy, pricing
- resolution: none, merge-301, canonical, re-target, keep-distinct
- status: live, fix, create, blocked
Sheet tips
- Add a data validation dropdown on asset_type, conversion_route, resolution and status.
- Use conditional formatting to highlight a canonical_url that appears twice.
- Freeze the first two columns so the buyer job stays visible.
- Sort by status, then by owner, for the weekly review.
Worked Example (fictional invoicing software)
When to use: A filled-in map for an invented invoicing tool, including one cannibalization fix and one CTA change.
Worked example: Tallyfin invoicing software
Example only. Tallyfin, Orchidbill and every URL and finding below are invented to show a filled-in map.
| Buyer job | Query cluster | Canonical URL | Asset type | Conversion route | Owner / status |
|---|---|---|---|---|---|
| Leave Orchidbill without losing client history | orchidbill alternatives, switch from orchidbill, orchidbill export | /alternatives/orchidbill/ | Alternatives page | Import guide, then trial | Priya / Fix |
| Choose between Tallyfin and Orchidbill | tallyfin vs orchidbill, orchidbill vs tallyfin | /compare/tallyfin-vs-orchidbill/ | Versus page | Trial | Priya / Live |
| Check cost for a 3-person studio | tallyfin pricing, tallyfin plans, tallyfin free trial | /pricing/ | Pricing page | Signup | Omar / Live |
| Invoice clients as a design agency | invoicing software for agencies, agency invoicing tool | /solutions/agencies/ | Use-case page | Demo | Omar / Create |
What the map found
- A 2024 blog post "Orchidbill review" got impressions for "orchidbill alternatives" next to /alternatives/orchidbill/.
- Resolution: the post was re-targeted to "how to export from Orchidbill" and now links to the alternatives page.
- The alternatives page CTA was "Subscribe". It changed to "Import your Orchidbill data", with the trial as the next step.
- No page served agencies, so /solutions/agencies/ was added as a Create row with a demo route.
Why this works
- Each buyer job has one page, so internal links and anchors all point the same way.
- The CTA matches the job: switchers get an import path, pricing readers get signup.
- The blog post still earns its own traffic and now feeds the BOFU page.
See which pages a competitor uses for the same buyer jobs with Competitor Analysis.
How to use this template
- List the buyer jobs from sales calls, demos and support tickets, in the buyer's words.
- Collect BOFU queries per job and group them into clusters by checking what ranks.
- Assign one canonical URL per cluster and the asset type the results page rewards.
- Check Search Console for other URLs getting impressions on the same queries and write a resolution.
- Pick one conversion route per row, with the CTA, proof and tracked event.
- Give each Fix or Create row an owner and a date, then review the map monthly.
Pro tips
- One buyer job, one URL. If a page serves two jobs, split it or drop one.
- Let the results page pick the asset type, not your site structure.
- Never point a switching buyer at a newsletter signup. Offer the migration path.
- Keep informational posts, but re-target them and link them to the BOFU page.
- Ask sales to review the buyer jobs. They hear the real questions every week.
Frequently asked questions
What is a BOFU keyword-to-page map?
It is a sheet that ties each bottom-of-funnel buyer job to one query cluster, one canonical URL, one asset type and one conversion route. It keeps buying queries on pages built to convert.
How is this different from a regular keyword map?
A regular keyword map covers every funnel stage and assigns keywords to URLs. This map covers only buying queries and adds the buyer job, the asset type and the conversion route for each page.
How do I spot cannibalization on buying queries?
In the Search Console Performance report, click a query row to filter by it, then open the Pages tab. If several URLs get impressions for the same buying query, pick one and resolve the others.
Should I use a 301 redirect or rel=canonical?
Google treats both as strong canonical signals. Merge and redirect when one page should go away. Use rel=canonical when both pages must stay live. Do not use robots.txt for canonicalization.
What counts as a conversion route?
The single next step a buyer takes from the page, such as a trial, demo, consultation, quote, purchase or pricing view. Name the CTA and the analytics event you track for it.