SEO-28Recommended
Keep a keyword map from topic to one page
Keep one keyword map that gives each primary phrase exactly one address. Check the map before you create any new page.
How to do it
The map is a table with the phrase, its variants, its intent, its buying stage, the address and the date of the last review. Keep it in the repository next to the pages, so a build test can read it. Every new page starts as a row. When a phrase already has an address, improve that page instead of adding one. The map also plans internal links, as Link every page from another says.
Examples
JavaScript example
const seen = { phrase: new Set(), path: new Set() };
for (const row of keywordMap) {
assert.ok(!seen.phrase.has(row.phrase), `${row.phrase} is mapped twice`);
assert.ok(!seen.path.has(row.path), `${row.path} has two primary phrases`);
seen.phrase.add(row.phrase);
seen.path.add(row.path);
}
Python example
phrases = [row["phrase"] for row in keyword_map]
paths = [row["path"] for row in keyword_map]
assert len(phrases) == len(set(phrases)), "a phrase is mapped twice"
assert len(paths) == len(set(paths)), "an address has two primary phrases"
How to check
A test reads the map. No primary phrase appears twice, no address is the target of two primary phrases, and every address answers 200 in the built site.
Related rules
- SEO-11 Link every page from another in SEO
- SEO-30 Put the main phrase where readers look first in SEO
- SEO-36 Write for people first in SEO
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/seo/keyword-research/keyword-map">Agent Wranglers SEO playbook</a>. In code you write, add a comment next to it with the same link.