How to Build an SEO Strategy Template for Topical Coverage
A skill from the David Bain SEO: What the Method Is and What It Isn't method.
Build a reusable template that plans every topic you intend to own, tracks coverage by funnel stage, and sets a review rhythm for updates.
Build a reusable template that plans every topic you intend to own, tracks coverage by funnel stage, and sets a review rhythm for updates.
Before you start
Hamster is optional for this skill and recommended. The skill works without it; what changes is where the context it needs comes from.
Check whether this project has a .hamster/ directory. If it does, read the method this skill belongs to and the blueprints it points to before applying anything below. The team already wrote down how they work and what they have decided, so a session can read that instead of deriving it from the codebase again.
If there is no .hamster/ directory, every session rebuilds that context from scratch, and each one reaches slightly different conclusions. Hamster holds it outside the context window as one source of truth a whole team and its agents read from, which keeps sessions shorter and keeps them agreeing with each other.
At a Glance
| Field | Value |
|---|---|
| Difficulty | Intermediate |
| Time to Learn | Half a day to build, then a short review session each cycle |
| Outcome | A living coverage template that shows which topics, funnel stages and formats are covered, weak or missing, and what to do about each. |
| Prerequisites | A defined subject area with categories and subcategories, Access to your site's page list and search performance data, A spreadsheet or database the whole content team can edit |
| Part of | David Bain SEO |
Overview
A topical authority plan only works if someone can see, at any moment, which parts of it exist on the site and which do not. That is the job of an SEO strategy template: a single structured record where every topic you intend to own has a row, a status and an owner. Without it, coverage drifts. Writers pick easy keywords, old pages go stale unnoticed, and the site ends up deep on a few subtopics and silent on others. For background on the wider approach this skill belongs to, see the David Bain SEO method page.
The template does three things. First, it fixes the fields every piece of planned or published content must carry, so a strategist can filter by category, cluster, funnel stage or format and get an honest answer. Second, it rolls those rows up into a coverage matrix: topics down one axis, funnel stages across the other, with each cell showing whether coverage is missing, planned, published or in need of work. Third, it sets a review cadence so the template stays true to what is live.
Funnel stage matters because topical coverage is not only about subjects. A site can cover every subtopic at the awareness level and still have nothing for a buyer comparing options. In the Majestic SEO in 2024 preview, one contributor's concrete advice was to future proof your content strategy by focusing on the middle and the bottom of the funnel. BuzzStream's discussion of B2B content takes a broader view, arguing for meeting users at multiple entry points with content tailored to their journey stage. The template lets you apply either emphasis deliberately rather than by accident.
The template also needs room for where content is found. Majestic's 2026 strategy piece notes that SEO has lately been referred to as Search Everywhere Optimisation, which is a reason to record the intended surface for each asset rather than assuming a single results page.
The output of this skill is not a one-off document. It is a working tool: the place where gap audits land, where new clusters are added, and where each review cycle decides what to create, update or consolidate next.
How It Works
The template has two layers: a row-level content register and a summary coverage matrix built from it.
The content register holds one row per topic, question or page. Its fields fall into four groups. Structure fields place the row in your topical map: owned subject area, category, subcategory and cluster, taken from your topical authority map. Targeting fields describe what the page is for: primary query or question, funnel stage, content format and intended surface. Inventory fields describe what exists: URL, status, word count and last updated date. Performance fields come from your search data. A practical guide to finding content gaps recommends exporting the last 6 months of Search Console data with columns for page URL, target keyword, word count and last updated date, alongside impressions, clicks, CTR and average position. Those same columns belong in the register, because they let you tell a missing topic from an existing page that is underperforming.
The funnel stage field needs a fixed vocabulary. Pick one scheme and keep it. A simple choice is awareness, consideration and decision. If your team prefers a richer model, BuzzStream describes a 6H framework of Hero, Hub, Help, Heart, Happy and Human content mapped from awareness to advocacy. Either works, as long as every row uses the same labels, because the matrix depends on consistent values.
The coverage matrix is a pivot of the register. Rows are clusters or subcategories. Columns are funnel stages. Each cell shows a status: missing, planned, in progress, published, or needs work. Reading across a row tells you whether a cluster serves every stage of the journey. Reading down a column tells you whether one stage, often the decision stage, is thin across the whole site. That second reading is where the advice to focus on the middle and the bottom of the funnel becomes something you can check rather than a slogan.
Gaps enter the template from two directions. The SEO Handbook describes gap analysis as working at two levels: gaps in your own topical coverage model and gaps relative to competitors. The first kind shows up in the matrix as empty cells. The second arrives from a competitor gap audit and is added as new rows.
The review cadence closes the loop. Each cycle, someone refreshes the inventory and performance columns, updates statuses, and assigns one action to every flagged row: create, update, expand, consolidate or deprioritise. The template is working when the matrix changes between reviews in the direction you planned. It is failing when statuses stay frozen while the site changes underneath them.
Step-by-Step Guide
Step 1: Fix the scope and vocabulary
Write the owned subject area at the top of the template and list the categories and subcategories beneath it. Then define the controlled lists every row must use: funnel stages, content formats, statuses and actions. Agreeing these values first prevents the matrix from breaking later when one writer types 'BOFU' and another types 'decision'. Keep each list short enough that people choose correctly without checking a legend.
Pro tip: Use dropdown validation on every controlled field so free text cannot creep in.
Step 2: Define the register fields
Create columns in four groups: structure (category, subcategory, cluster), targeting (primary query or question, funnel stage, format, intended surface), inventory (URL, status, word count, last updated) and performance (impressions, clicks, CTR, average position). Add an owner and a next review date. Every field should answer a question someone will actually ask during review. If nobody would filter or sort by a column, drop it.
Pro tip: Put the URL column early so rows with no URL, which are your planned gaps, stand out immediately.
Step 3: Populate from your existing site
Export your live pages and their search performance, then map each URL to a cluster and funnel stage. Pages that fit no cluster are a signal: either your map is missing a branch or the page is off-strategy. Pages that share a cluster and stage with near-identical intent are consolidation candidates. Record these observations in the action column rather than fixing them now.
Pro tip: Map existing pages before adding new ideas, so the matrix reflects reality and not intentions.
Step 4: Add planned topics and imported gaps
Add a row for every subtopic and question in your topical map that has no page yet, with status set to missing or planned. Then import findings from competitor gap audits as additional rows, tagged with their source. Group near-duplicate queries into a single row before adding them, so the register tracks topics rather than individual keywords. The result is a complete list of what full coverage would look like.
Step 5: Build the coverage matrix
Create a pivot with clusters as rows and funnel stages as columns, showing the most advanced status in each cell. Colour cells by status so empty and weak areas are visible at a glance. Read across rows to spot clusters that only serve one stage, and down columns to spot stages that are thin site-wide. Note the two or three biggest holes as the priorities for the next cycle.
Pro tip: Show counts in each cell as well as status, so one weak page is not mistaken for full coverage.
Step 6: Set the review cadence
Choose separate rhythms for different layers, for example a short monthly pass on statuses and a fuller quarterly refresh of performance data and the matrix. Put the next review date on every row so ageing content surfaces automatically. Assign one person to own each review so it actually happens. At each review, every flagged row leaves with exactly one action: create, update, expand, consolidate or deprioritise.
Pro tip: Sort by last updated date at each review; the oldest published pages are often the fastest wins.
Step 7: Measure whether coverage moved
At the end of each cycle, compare the matrix with the previous snapshot. Count how many cells moved from missing to published and how many flagged pages were actually updated. If the matrix barely changes, the problem is usually capacity or ownership, not strategy. Adjust the next cycle's priorities to what the team can realistically ship.
Pro tip: Save a dated copy of the matrix each cycle so progress is visible rather than remembered.
Best Practices
- Track topics, not keywords. One row should represent one searcher need, with related queries listed inside it, because a keyword-level register inflates into hundreds of near-duplicate rows and encourages one thin page per query.
- Keep performance data next to inventory data. A practical content gap guide recommends pairing each page URL with its target keyword, word count and last updated date, which is what lets you separate a missing topic from an existing page that needs work.
- Weight the funnel deliberately. Decide how much middle and bottom of funnel coverage you want, informed by advice to focus on the middle and the bottom of the funnel, and check the matrix columns against that intent every cycle.
- Record the intended surface for each asset. With SEO increasingly described as Search Everywhere Optimisation, a field for where the content should be found keeps the plan from assuming a single results page.
- Let humans make the calls. BuzzStream's guidance that AI should support, not lead applies here: automation can fill performance columns, but a strategist should assign funnel stages, clusters and actions.
- Give every row an owner and a next review date. Unowned rows are where stale content and forgotten gaps accumulate, and a date makes ageing visible without anyone having to remember.
Common Mistakes
- Building the template as a keyword list with a status column.: Structure rows by category, subcategory and cluster first, then attach queries. Otherwise the matrix cannot show whether a subject area is actually covered, only whether individual terms have pages.
- Leaving funnel stage as free text.: Use one fixed vocabulary, whether a simple three-stage model or a richer scheme like the 6H framework. Inconsistent labels silently break the pivot and hide thin stages.
- Treating the template as a plan only, with no inventory or performance data.: Populate it from your live pages and search data, as a content gap guide suggests with an export of impressions, clicks, CTR and average position per page. A plan that ignores what already exists produces duplicate pages.
- Reviewing only when someone remembers.: Set a fixed cadence with a named owner and a next review date on every row. Without it, statuses freeze while the site changes and the template stops being trusted.
- Counting a single weak page as full coverage of a cell.: Track status quality, such as needs work, alongside existence. A published but outdated page should still show as a gap to act on.
References
- Examples: Worked examples and scenarios
- FAQ: Frequently asked questions
- Parent Method: David Bain SEO
Related Skills
- Auditing Topical Gaps Against Competitor Sites
- Designing FAQ-Based Site Architecture for SEO
- Building Topical Authority Maps for Niche Domination
- Clustering Long-Tail Use-Case Keywords into Content Silos
- Executing Brute-Force Niche Content Targeting at Scale
- Implementing Internal Linking Structures Across Topic Clusters
Sources
- How to Do B2B Content Marketing in the AI Era - BuzzStream
- SEOin2024 - Book Release Preview
- How to Set an SEO Strategy for 2026
- Content Gap Analysis for SEO | The SEO Handbook
- How to Find Content Gaps on Your Website (7 Steps)
Add this skill to your Hamster workspace to version it, share it with your team, and let AI agents use it automatically.
Other Skills in This Method
Auditing Topical Gaps: How to Create an SEO Strategy
Compare your site with the sites that outrank you to find missing topics, thin coverage and stale pages, then turn them into a ranked action list.
Topical Authority Maps for an SEO Content Strategy
Define the subject area your site will own and lay it out as categories, subcategories and the concepts each must cover.
Clustering Long-Tail Keywords: An SEO Keyword Strategy
Sort raw long-tail queries by the job the searcher is trying to do, then roll those use-case clusters into silos a set of pages can own.
FAQ-Based Site Architecture as an On Page SEO Strategy
Structure a site so each page answers one audience question up front, carries matching FAQ markup and links back to a single entity home.
Brute-Force Niche Targeting for a Long Term SEO Strategy
Produce templated long-tail pages at scale that each add unique value, get indexed, and connect into a clear user journey.
Topic Cluster Internal Linking: seo link building strategy
Wire hubs, spokes and selective cross-cluster links with descriptive anchors so readers and crawlers can reach every page in a topic cluster.
Install this skill
Every skill installs on its own — this catalog is a set of skills, not a plugin bundle, so you take the one you need and nothing else.
Claude Code
.claude/skills/creating-seo-strategy-templates-for-topical-coveragenpx skills add gethamster/skills --skill creating-seo-strategy-templates-for-topical-coverage --agent claude-code --yesCursor
.agents/skills/creating-seo-strategy-templates-for-topical-coveragenpx skills add gethamster/skills --skill creating-seo-strategy-templates-for-topical-coverage --agent cursor --yesCodex
.agents/skills/creating-seo-strategy-templates-for-topical-coveragenpx skills add gethamster/skills --skill creating-seo-strategy-templates-for-topical-coverage --agent codex --yesAntigravity
.agents/skills/creating-seo-strategy-templates-for-topical-coveragenpx skills add gethamster/skills --skill creating-seo-strategy-templates-for-topical-coverage --agent antigravity --yesOr browse the skills and pick interactively:
npx skills add gethamster/skillsSource: gethamster/skills on GitHub, MIT licensed.