What is a topical map?
A topical map is a structured blueprint of every content entity your site needs to establish authority on a subject. It is not a keyword list or a sitemap. It is a graph — a set of nodes (pages, sections, FAQs) and edges (links and relationships) that defines:
What is a concept map?
A concept map is an entity relationship graph that shows how the key concepts, entities, conditions, processes, and attributes related to a seed topic connect to each other. Where a topical map answers "what pages do I need to build?", a concept map answers "what does Google need to understand about this subject?"
| Property | Topical Map | Concept Map |
|---|---|---|
| Nodes represent | Pages, sections, FAQs | Entities, concepts, conditions |
| Edges represent | Internal links | Semantic relationships |
| Edge labels | Anchor text | Relationship type (Is A, Causes…) |
| Primary question | What pages do I build? | What does Google need to understand? |
| Output drives | URL architecture, content plan | Semantic depth, entity coverage |
Topical node types
Every entity in a topical map is one of six node types. Each type has a fixed position in the hierarchy, its own color in the editor, and a default URL role.
| Type | Tier | Color | Default URL role | Purpose |
|---|---|---|---|---|
| Macro | 0 | Rose-red | Standalone + Hub | The broad category the seed belongs to |
| Seed | 1 | Violet | Standalone + Hub | The primary topic the entire map is built around |
| Topic | 2 | Cyan | Standalone (Hub if children > 2) | Main pillar area under the seed |
| Subtopic | 3+ | Emerald | Standalone or Section | Supporting content under a topic |
| FAQ | 2–4 | Orange | Section (rarely Standalone) | Question-based content attached to a parent page |
| Comparison | 2–3 | Fuchsia | Standalone | Versus or comparison content |
Concept node types
Concept map nodes are classified into seven types based on the role the entity plays in the subject domain. Node size scales with label length so all text fits inside the circle. Color is consistent with the type regardless of which layout is active.
| Type | Color | Role in the graph | Example |
|---|---|---|---|
| Core | Soft rose | The central subject — always the graph root | Golden Retriever |
| Entity | Cyan | Named real-world entity — org, person, standard | AKC, OFA, Lord Tweedmouth |
| Condition | Red | Medical condition, risk, or problem | Hip Dysplasia, Canine Cancer |
| Process | Green | Activity, method, or behaviour | Positive Reinforcement, Daily Exercise |
| Attribute | Purple | Physical or behavioural characteristic | Double Coat, Friendly Temperament |
| Category | Orange | Classification or group membership | Sporting Dog, Gun Dog |
| External | Slate | External context — location, origin, time period | Scotland, Victorian Era |
Concept edge relationship types
Every edge in a concept map carries one of eleven relationship types. Each type has its own color so relationships are visually distinguishable at a glance.
| Type | Color | Meaning | Example |
|---|---|---|---|
| 0 — Is A | Classification / taxonomy | Golden Retriever is a Sporting Dog | |
| 1 — Has Part | Composition / anatomy | Golden Retriever has Double Coat | |
| 2 — Causes | Causal relationship | Genetics causes Hip Dysplasia | |
| 3 — Affects | Impact / susceptibility | Golden Retriever is prone to Cancer | |
| 4 — Requires | Dependency / need | Golden Retriever requires Daily Exercise | |
| 5 — Diagnosed By | Screening / diagnosis | Hip Dysplasia is screened by OFA | |
| 6 — Treated By | Treatment / remedy | Hip Dysplasia is treated by Surgery | |
| 7 — Performed By | Agency / role | Golden Retriever is registered by AKC | |
| 8 — Associated With | General association | Golden Retriever originated in Scotland | |
| 9 — Opposite Of | Contrast / antonym | Aggressive opposite of Gentle | |
| 10 — Custom | User-defined relationship | Any custom label |
URL roles — page vs section vs hub
Every topical node is classified with a URL role that determines whether it gets its own page in the site architecture.
Edge types
Edges are the relationships between nodes. Every edge carries metadata that drives the internal linking plan in topical mode and semantic relationships in concept mode.
Every topical edge also carries: recommended anchor text, alternate anchor phrases, placement hint, weight (0–1), and required vs optional status. Concept edges carry a relationship label and relationship type rendered visually on the connecting line.
1 Normalize the seed
The pipeline begins by normalizing the macro and seed inputs into a consistent internal format before any topic discovery begins.
- Creates a deterministic node ID from the seed label
- Generates a URL-safe slug
- Records the macro and seed context for all downstream nodes
- Sets the site URL base for URL generation later
Seed: "Golden Retriever"
↓
id: "seed-golden-retriever"
slug: "golden-retriever"
2 Discover candidate topics
The core discovery stage. The pipeline expands the seed into a broad set of candidate topics using multiple data sources.
3 Canonicalize topics
The raw candidate list from Stage 2 contains duplicates, near-duplicates, and wording variants. Canonicalization resolves them into a clean, non-redundant topic set.
Candidate: "Golden Retriever Hip Problems"
Candidate: "CHD in Golden Retrievers"
↓
Canonical: "Golden Retriever Hip Dysplasia"
Aliases: ["hip dysplasia in golden retrievers", "CHD golden retriever"]
4 Classify each topic
Each canonical topic is classified into one or more content roles.
5 Assign hierarchy and generate URLs
Each classified node is placed in the hierarchy and assigned a tier. Canonical URLs are then generated for all Standalone nodes.
Tier 1 — Seed (primary topic)
Tier 2 — Topics (main pillars under seed)
Tier 3 — Subtopics (supporting pages under topics)
Tier 4+ — Deep subtopics (thin coverage, often Section only)
/dog-breeds/
/dog-breeds/golden-retriever/
/dog-breeds/golden-retriever/health/
canonicalUrl field
is empty string. parentUrl points to
the page where the section lives.
6 Generate internal linking
The internal linking stage creates all edges in the graph. Every edge represents a real internal link that should exist on the published site.
- Every parent → child link (hierarchy)
- Every hub summary section → child page
- Every FAQ → its parent page
- Related sibling topic links
- Comparison page cross-links
- Contextual body links between close topics
7 Assemble the final graph
All nodes and edges are assembled into the final graph output. The structure is graph-ready — directly importable into Neo4j, D3.js, or any graph database.
"Metadata": { "macro": "...", "seed": "...", "mapType": "topical" },
"Nodes": [ { "Id": "...", "Label": "...", ... } ],
"Edges": [ { "Id": "...", "SourceId": "...", ... } ]
}
- Load into the visual editor immediately
- Export PNG/SVG for client presentations
- Export CSV for content calendar spreadsheets
- Import into Neo4j for graph database analysis
- Feed into CMS automation or internal linking tools
MapType field in Metadata determines
whether the editor opens in Topical or Concept mode.
Map modes — Topical vs Concept
The editor operates in two modes. The active mode is detected
automatically from the MapType field when a JSON
file is loaded. You can switch mode at any time using the
Mode dropdown in the toolbar. Switching mode
does not clear the graph — it changes how nodes and edges are
rendered and which fields appear in the Properties panel.
- Nodes colored by node type (Macro, Seed, Topic…)
- Section-only nodes shown with dashed border
- Hub nodes shown with gold ring
- Properties panel shows URL, URL Role, Hub Role, Tier
- Stats bar shows Topics, Subtopics, FAQs, Hubs, Pages, Sections
- All four layouts available
- Nodes colored by concept type (Core, Entity, Condition…)
- Node size scales to fit label text inside the circle
- Edge labels shown on connecting lines with color-coded type
- Macro and Seed retain their topical colors as structural anchors
- Properties panel shows Concept Type, Description, Group
- Stats bar shows Groups and average Confidence
- Force layout defaults — top-down with seed at apex
Metadata.MapType first, then falls back to
node-level MapType fields, then inspects which fields
are populated (ConceptType vs NodeType).
If detection is ambiguous the editor defaults to Topical mode.
Graph layouts
The editor renders the node-edge graph in four layouts. All four show the same data from a different perspective. Press F at any time to fit the full map in the viewport.
Node style options
Node data model
Every node carries a full data profile. All fields are editable through the Node Properties panel. The editor shows topical or concept fields depending on the active mode and node type.
Shared fields — both modes
| Field | Type | Description |
|---|---|---|
id |
string | Unique node identifier |
label |
string | Display name shown in the graph |
slug |
string | URL-safe version of the label |
parentId |
string | ID of the parent node |
confidence |
0.0–1.0 | AI pipeline confidence score |
entities |
string[] | Named entities associated with this node |
aliases |
string[] | Keyword variants and search intent phrases |
Topical-only fields
| Field | Type | Description |
|---|---|---|
nodeType |
0–5 | Macro / Seed / Topic / Subtopic / FAQ / Comparison |
tier |
0–n | Hierarchy depth (0 = Macro) |
urlRole |
0 or 1 | 0 = Section Only, 1 = Standalone page |
hubRole |
0 or 1 | 1 = Hub page (gold ring in editor) |
canonicalUrl |
string | Full canonical URL (auto-generated or manual) |
Concept-only fields
| Field | Type | Description |
|---|---|---|
conceptType |
0–6 | Core / Entity / Condition / Process / Attribute / Category / External |
description |
string | One-sentence definition shown in the tooltip |
group |
string | Category group label (e.g. Health Conditions) |
Editing and re-parenting
Export formats
The editor supports five export formats. All image exports account for node width and label overhang so nothing is clipped at the edges. Press F to fit the full map in view before exporting.
topical-map-[seed]-full.svg
Which format for which purpose
| Goal | Layout | Format |
|---|---|---|
| Client presentation image | Radial Tree → F | PNG — Full Map |
| Org-chart style image | Vertical Tree → F | PNG — Full Map |
| URL depth review | Horizontal Tree → F | PNG — Full Map |
| Concept relationship overview | Force → F | PNG — Full Map |
| Print-quality deliverable | Any → F | SVG — Full Map |
| Figma or Illustrator editing | Any | SVG — Full Map |
| Content calendar handoff | Any | CSV |
| Reload or continue editing | Any | JSON — Save |
| Neo4j or D3.js import | Any | JSON — Copy |
What the finished map contains
A complete topical map for a seed like Golden Retriever contains:
Full node inventory
Every Macro, Seed, Topic, Subtopic, FAQ, and Comparison as a structured node with ID, label, slug, tier, entities, aliases, and confidence score.
URL architecture
Canonical URL for every Standalone page, derived from the parent-child hierarchy. Section-only nodes have no URL.
Internal linking plan
Every required and optional link as a graph edge with anchor text, placement hint, weight, and required status.
Concept map (optional)
Entity relationship graph showing how the key concepts, conditions, organisations, and attributes of the subject connect to the Core node with labelled relationship types.
What this is — and isn't
- Not a keyword rank tracker: the map defines architecture and intent — it does not track daily SERP positions.
- Not content writing: the generator produces a structural blueprint. You brief and write the actual content.
- AI classification is probabilistic: topic classification (Standalone vs Section, hub detection) is based on language model inference. Review and override classifications in the editor before briefing content.
- Concept map relationships are inferred: relationship labels and types on concept edges are generated by the AI pipeline. Verify that the relationship direction and type accurately reflect the real-world relationship before using the map as a semantic reference.
- Confidence scores are relative: scores below 0.70 are a signal to review — not an absolute quality threshold. Context matters.
- URL patterns are suggestions: the generated URLs follow a logical hierarchy but may need to be adjusted for your CMS, existing site structure, or URL conventions.
- 3 maps per month (beta): the Generator is limited to 3 maps per month per account during the beta. The visual editor has no generation limits.
- No Google ranking guarantees: building a topical map does not guarantee rankings. It provides a structured foundation — execution, content quality, and authority still determine outcomes.