How to Create a Topical Map for SEO, With a Worked Example

A step-by-step method for building a topical map, from source context to publishing batches, with a 26-node worked map for a fictional Cardiff dental practice.

Topical map diagram with the central entity in the middle, an inner ring of core nodes, an outer ring of supporting nodes and bridge lines

You create a topical map by writing your source context, choosing your central entity and search intent, listing every entity of that type with its attributes, turning searches into query templates, deciding which queries deserve a page, and ordering those pages into core and outer sections that link and publish in batches.

Skipping the plan is expensive: posts compete for one query, and a service page ranks for questions it can’t convert. We had exactly that problem. Our own Search Console data for the 16 months to 06 August 2026 shows our topical map query cluster, led by searches such as topical map seo and what are seo topical maps, earning 12,833 impressions and 1 click at an average position of 64.9, and the only page of ours ranking for them was a product page.

Key Takeaways

  • A topical map is a build specification for every page and section your site needs, not a keyword list or a content calendar.
  • The source context comes first: who you serve, what you sell, where, and how you’re paid.
  • Query templates such as “[treatment] cost Cardiff” turn one search pattern into every variation you need.
  • A query earns its own page when it brings a new entity or pattern and real demand; the rest become H2s, rows or FAQs.
  • Commercial pages form the core section, informational pages the outer section, and links run outer to core.
  • A map is complete when every entity, root attribute and template variation has a home and a parent.
  • Pages go live in batches, parents before children.

Semantic SEO programme

Want your map built into rankings?

Our semantic SEO and topical authority programme plans the map, writes every node and links it in order, billed on KPIs, not hours.

Results for UK clients

Real client figures, two of them with a published case study behind them.

  • 200+UK clients across about 18 sectors
  • 773 to 2,300monthly organic visits, Total Books Accountants
  • 44first-page rankings, Cardiff local SEO case study

How do you create a topical map for SEO?

You create a topical map for SEO in 11 steps, and each one fills a column or settles a decision in your spreadsheet.

  1. Write your source context in one sentence.
  2. Choose the central entity all your pages will mention.
  3. Define the central search intent in the searcher’s words.
  4. List every entity of the same type you sell, such as each service, treatment or product.
  5. Sort their attributes into root, unique and rare.
  6. Turn your customers’ real searches into query templates.
  7. Decide which variations deserve a page, an H2, a table row or an FAQ.
  8. Split your nodes into a core section and an outer section.
  9. Add contextual bridges to neighbouring entity classes.
  10. Give each row a parent, link targets and an exact anchor.
  11. Group your rows into publishing batches, parents first.

Gather five inputs before step 1: your service list with margins, a full Search Console query export, the questions customers ask on calls, two or three competitor sitemaps, and a blank Google Sheet or Excel file. Paid tools speed up the listing work, but the page and link decisions stay with you.

What are the six parts of a topical map?

A topical map has six parts: source context, central entity, central search intent, core section, outer section and contextual vector. Together they make the map an ordered list of every page and section a site needs to cover one subject, with each entry’s entity, search intent, page level and internal links fixed before anyone writes. “Topical content map” means the same thing, and a website topical map is one drawn for the whole site rather than a single cluster. The finished pages form what the framework calls a semantic content network.

The six terms come from Koray Tugberk Gubur’s topical map framework and the practitioners who teach it; the plain-English definitions are ours.

  • Source context: why your site exists and how it earns money, in one sentence.
  • Central entity: the single thing every section of your site is about.
  • Central search intent: the job the visitor wants done, phrased the way they’d phrase it.
  • Core section: the commercial pages carrying the most important entities.
  • Outer section: the informational pages connecting the central entity to neighbouring topics.
  • Contextual vector: the order context flows in, heading to heading on each page and page to page in the build, so each page goes live after the page it depends on.

True SEO’s semantic SEO programme builds this map before a word is written, then writes and links every node in order, so Google judges your site on a subject it covers completely.

Six stacked bands labelled source context, central entity, central search intent, core section, outer section and contextual vector
The six named parts come from Koray Tugberk Gubur’s framework and the practitioners who teach it; the values shown are for a fictional Cardiff practice.

How is a topical map different from a keyword list or a content calendar?

A topical map decides what must exist and how it connects, a keyword list records what people type, and a content calendar says when something goes live.

Topical map versus five other planning documents
DocumentWhat it listsWhat decides the entriesPage or section?Link direction?Publishing order?
Topical mapEvery node a subject needsSource context, entities, attributes, templatesYes, per rowOuter to coreBy dependency
Keyword listSearch terms with volumeVolume and difficultyNoNoNo
Topic clusterOne pillar and its cluster pagesA chosen pillar topicPartlyCluster to pillarNo
Content siloPages grouped in foldersSite navigationNoWithin the folderNo
Content calendarPosts with datesTeam capacityNoNoBy date only
XML sitemapURLs already publishedWhat existsNoNoNo

Pillar pages and topic clusters still fit inside a topical map. Each core hub, such as a dental implants page, acts as a pillar, and the H2s, comparisons and outer questions linked to it form its cluster. The map adds what a pillar plan leaves open: page level, link direction and publishing order.

A topical map helps you rank because it shows Google that your site has one clear purpose, sections it can rank as passages, and links that show which of your pages answers which query. Google’s helpful content guidance asks site owners: “Does your site have a primary purpose or focus?”

Google’s guide to ranking systems describes passage ranking as an AI system that identifies individual sections of a page, and Google said on its Keyword blog in October 2020 that passage understanding would improve 7 per cent of search queries across all languages. Our own Search Console data fits that: answer-first H2 sections on our accountancy SEO page show up as separate passage targets at positions 11.5 to 12. So assign queries to H2s as well as URLs.

Google’s link best practices call links a relevance signal and add: “Every page you care about should have a link from at least one other page on your site.” Give every row in your map a parent, and no page is left orphaned.

AI search runs on the same foundations. Google’s AI features documentation says AI Overviews and AI Mode may issue several related searches across subtopics, which it calls query fan-out, and need no special optimisation beyond foundational SEO. Your map is the list of subtopics those searches can land on. Semrush’s 2026 study of 1,094 US ChatGPT categories found brands cited in 74% of appearances in categories close to their expertise, against 50% in distant ones.

Does a small or new website need a topical map?

A small or new website needs a topical map once it plans more than a handful of pages, and only the size of the map changes. New sites, sites adding a service line and sites with flat traffic gain most, because each is deciding what to build next.

Build your map from the source context first, then fit your existing posts into it. A map drawn around the posts you already have only records old guesses.

How do you build a topical map, step by step?

You build a topical map by working the 11 steps in order, since each step’s output feeds the next. Every example uses one fictional business, Example Dental, Cardiff.

Step 1: Write the source context

Write one sentence that answers five questions: who you are, who you serve, what you sell, where, and how you’re paid. That sentence is your source context, and it decides which topics belong on the map before any keyword research starts. Koray set out source context, alongside brand identity and contextual bridges, in his Holistic SEO study “How to Expand a Topical Map for Higher Topical Authority?”.

Fill the five slots first, then join them into one sentence. Test it by reading a topic idea against it: a topic that contradicts any slot stays off the map.

Step 1: Five slots,one sentenceExample Dental fills each slotbefore it plans a single page.WHOIndependentprivate practiceSERVESAdults onlyRules out children’s orthodonticsSELLSCosmetic, restorativeand emergency dentistryWHERECardiff and theVale of GlamorganPAIDPer treatment,monthly financeMakes a finance page part of the mapOne sentence nowfilters every topic.
Step 1 for Example Dental: the five slots of its source context, and the two decisions they settle straight away.

Worked example: Example Dental, Cardiff

Example Dental’s source context reads: “Example Dental is an independent private dental practice in Cardiff that provides cosmetic, restorative and emergency dentistry to adults across Cardiff and the Vale of Glamorgan, paid per treatment with monthly finance available.”

  • In the mapImplants, clear aligners, composite bonding, veneers, whitening, emergency care, monthly finance
  • Off the mapChildren’s orthodontics, because the practice treats adults
  • Kept only as a questionNHS treatment, because patients ask about it before they choose private care

Map so far: No nodes yet. One sentence that rules topics in or out.

Boss check: Could someone who has never met the practice reject a topic using this sentence alone?

Step 2: Choose the central entity

Choose the one entity every planned page can name naturally, because it’s the thread that ties the whole map together. Write down two or three candidates, then test each one against the pages you expect to publish: a candidate that is too broad lets unrelated pages in, and a candidate that is too narrow shuts real services out.

Step 2: Testthree candidatesThe central entity has to fit everypage and nothing outside the business.CANDIDATE 1DentistryToo broad: a toothbrushreview would fitCANDIDATE 2Dental implantsToo narrow: bondingand whitening fall outCANDIDATE 3Private dentaltreatment in CardiffFits every service,place and paymentCandidate 3 becomesthe central entity.
Step 2 for Example Dental: three candidate central entities and why only one fits the whole map.

Worked example: Example Dental, Cardiff

Example Dental’s central entity is “private dental treatment in Cardiff”, because it is the only candidate every planned page can name without forcing it.

  • PassesA page on what to do when a tooth is knocked out, because it ends at an emergency appointment
  • PassesA page comparing implants abroad with implants in the UK, because it ends at the Cardiff implants page
  • FailsA toothbrush review, because nothing on it leads to a treatment the practice sells

Map so far: No nodes yet. One central entity that every page must name.

Boss check: Does every page you plan name the central entity without stretching it?

Step 3: Define the central search intent

Define the job your visitor wants done, in their own words, by joining the source context to the central entity. Break that job into its verbs. Each verb is a search behaviour, and each behaviour needs a different kind of node, so matching keyword intent to the stage a searcher has reached decides which node each query lands on.

Step 3: One job,three verbsEach verb becomes a searchbehaviour and a kind of node.CHOOSE[treatment] vs [treatment]Comparison pages and problemguides: rows 6, 8 and 16PRICE[treatment] cost CardiffPrice tables and thefinance page: rows 3 and 11BOOK[treatment] CardiffTreatment pages that take thebooking: rows 2, 5, 7, 9 and 10Every node must serveone of the three verbs.
Step 3 for Example Dental: the central search intent split into choose, price and book, with the node each verb produces.

Worked example: Example Dental, Cardiff

Example Dental’s central search intent is “choose, price and book the right private dental treatment in Cardiff”, which gives the map three search behaviours to serve.

  • Choose“clear aligners vs fixed braces” needs a comparison page (row 6)
  • Price“dental implant cost Cardiff” needs a price table on the implants page (row 3)
  • Book“emergency dentist Cardiff” needs a page that takes the booking (row 10)

Map so far: No nodes yet. Three behaviours every future node must serve.

Boss check: Can you name the verb each planned page serves: choose, price or book?

Step 4: List the entities of the same type

List every member of the entity class you sell, then list the neighbouring classes your customers search on the way to buying. Find members in your price list, the Knowledge Panel, Wikipedia categories, competitor menus and Search Console. No fixed count, such as 5 to 10 categories, applies: the right number is what you sell and what your customers search.

The class you sell feeds the core section. The neighbouring classes feed the outer section and, later, the contextual bridges.

Step 4: One class,four neighboursThe class you sell is the core.Its neighbours become outer pages.CORE CLASS: TREATMENTS6 membersImplants, clear aligners, bonding,veneers, whitening, emergency careNEIGHBOUR: DENTAL PROBLEMS4 membersMissing, knocked-out andchipped teeth, gum diseaseNEIGHBOUR: FUNDING ROUTES3 membersNHS in Wales, monthlyfinance, treatment abroadNEIGHBOUR: LIFE EVENTS1 memberA wedding smile planNEIGHBOUR: TRUST CHECKS1 memberChecking a dentist is registered15 entities from the pricelist and real searches.
Step 4 for Example Dental: the treatment class it sells and the four neighbouring classes its patients search before booking.

Worked example: Example Dental, Cardiff

Example Dental’s core class is its six treatments, and four neighbouring classes surround it: dental problems, funding routes, life events and trust checks.

  • Treatments (core)Dental implants, clear aligners (Invisalign is one brand), composite bonding, porcelain veneers, teeth whitening, emergency appointments. Source: the practice price list
  • Dental problems (outer)Missing tooth, knocked-out tooth, chipped tooth, gum disease. Source: People Also Ask and call notes
  • Funding routes (outer)NHS treatment in Wales, monthly finance, treatment abroad. Source: Search Console queries
  • Life events and trust (outer)Wedding smile plan; checking a dentist is registered. Source: patient questions at consultation

Map so far: 15 entities across 5 classes. Still no pages.

Boss check: Is every treatment on the list, including the ones that sell least?

Step 5: Find root, unique and rare attributes

Sort the attributes of your entities into three tiers, because each tier ends up in a different place on the map. The split into root, unique and rare comes from Koray’s framework, as explained by practitioners such as James Dooley at FatRank.

Root attributes belong to every member of the class: cost, lifespan, suitability. Unique attributes belong to one member. Rare attributes apply to a small subset and show expertise that most competitors never write about.

Step 5: Threetiers of attributeEach tier lands somewheredifferent on the map.ROOT: EVERY TREATMENTCost, lifespan,suitabilityBecomes table rows and H2s repeatedacross the treatment pagesUNIQUE: ONE TREATMENTDaily wear hoursfor alignersBecomes an H2 on thattreatment, or a comparison pageRARE: A SMALL SUBSETImplants forsmokers, sedationBecomes an expert sectionthat competitors skipRare attributes arewhere expertise shows.
Step 5 for Example Dental: root, unique and rare attributes, and where each tier lands on the finished map.

Worked example: Example Dental, Cardiff

Example Dental sorts the attributes of dental implants into three tiers, then repeats the exercise for each of the other five treatments.

  • RootCost, lifespan and suitability. Cost becomes the price table H2 on the implants page (row 3); lifespan becomes its own outer page (row 14)
  • UniqueBone grafts before implants, which only implants have. Becomes an H2 on the implants page (row 4)
  • RareImplants for smokers and sedation for nervous patients. Become an H2 and an FAQ row in batch 3 (rows 12 and 13)

Map so far: Every treatment now has root, unique and rare attributes listed.

Boss check: Does every attribute have a future home: a table row, an H2 or a page?

Step 6: Turn searches into query templates

Turn each search pattern your customers repeat into a template with a slot, then fill the slot with every entity from step 4. Collect the patterns from Search Console, Google Autocomplete, People Also Ask boxes and call notes; a question tool such as AnswerThePublic lists them in bulk. Koray’s Search Engine Land article on query templates puts the choice plainly: “There are two main methodologies for building topical authority: covering every entity and its attributes within a topic or covering every variation of a query template.” A good map uses both.

Google holds a patent, “Automatic query pattern generation”, describing patterns such as “[weather in X]”. A patent isn’t proof of use. Write templates as full questions where you can: in our own Search Console data, queries of 13 or more words average position 20.9, against 52.2 for one and two word queries. Our keyword research checklist for filling every template slot covers the volume checks that follow.

Step 6: Fill every slotSix treatments crossedwith six templates.TREATMENTS6From step 4TEMPLATES IN THE GRID6Six of the practice’s ten templatesPOSSIBLE VARIATIONS366 treatments multipliedby 6 templatesVARIATIONS WITH DEMAND15The rest stay blankuntil demand appears15 real variations goforward to step 7.
Step 6 for Example Dental: how six treatments and six templates produce 36 possible variations, of which 15 show demand.

Worked example: Example Dental, Cardiff

Example Dental uses ten query templates, and filling them with its entities turns a short list of services into a full set of search variations.

  • Template[treatment] Cardiff
  • Filleddental implants Cardiff, clear aligners Cardiff, composite bonding Cardiff, teeth whitening Cardiff
  • Template[treatment] vs [treatment]
  • Filledclear aligners vs fixed braces, composite bonding vs veneers
  • Templatewhat to do if [dental problem]
  • Filledwhat to do if a tooth is knocked out

Map so far: 10 templates and 15 variations with demand, ready for the page decision.

Boss check: Is every slot either filled or marked “no demand yet”?

Six by six grid of dental treatments against query templates, with cells marked as own page, H2 section or blank
QDP keeps only the variations that earn a level; blanks are reviewed each quarter against Search Console.

Step 7: Decide which queries deserve their own page

Give a query its own page only when it brings a different entity or pattern and its demand clears your threshold; otherwise it becomes an H2, a table row or an FAQ on the parent. Koray calls the metric Query Deserves a Page, writing in Search Engine Land that “Some queries deserve representation at the page level”, and credits Query Deserves Freshness, introduced by former Google engineer Amit Singhal, as its inspiration. Our working rule gives four outcomes:

  1. Own page: a new entity or entity pair, a new template, and visible demand.
  2. H2 on the parent: a root attribute of the same entity.
  3. Table row: a value that compares across members, such as price or lifespan.
  4. FAQ: a short answer with low demand.

Ahrefs and Semrush supply the volume and difficulty for each variation, but this rule does the grouping: keywords sharing one entity and one intent land on one node, never one article each. Google’s ranking systems guide says its site diversity system generally shows no more than two listings from one site in the top results.

Step 7: Four queries,four outcomesThe same rule sorts everyvariation on the map.DENTAL IMPLANTS CARDIFFOwn pageNew entity, clear demand: row 2DENTAL IMPLANT COST CARDIFFH2 with price tableRoot attribute of implants: row 3CLEAR ALIGNERS VS FIXED BRACESOwn pageEntity pair, new template: row 6CAN SMOKERS GET DENTAL IMPLANTSFAQ rowLow demand, short answer: row 13Result: 26 nodes, 18pages and 8 sections.
Step 7 for Example Dental: four variations run through the page decision, and the level each one earns.

Worked example: Example Dental, Cardiff

Example Dental runs every variation through the four outcomes, and the map settles at 26 nodes: 18 pages and 8 sections or rows.

  • Own page“dental implants Cardiff”: a new entity with demand, so it gets the implants page (row 2)
  • H2 on the parent“dental implant cost Cardiff”: cost is a root attribute of implants, so it sits on the implants page with a price table (row 3)
  • Own page“clear aligners vs fixed braces”: a pair of entities and a new template (row 6)
  • FAQ“can smokers get dental implants”: low demand and a short answer, so it is an FAQ row on the implants page (row 13)

Map so far: 26 nodes: 18 pages and 8 sections or rows.

Boss check: Could two pages on the map rank for the same query? The answer must be no.

Flowchart from a new query variation through two yes or no decisions to an own page, an H2 section or an FAQ outcome
Query Deserves a Page is the metric Koray Tugberk Gubur describes in Search Engine Land; the four outcomes are True SEO’s working rule.

Step 8: Split the nodes into core and outer sections

Put your commercial nodes in the core section and your informational nodes in the outer section. Koray’s query templates article defines both: “The core section is mostly commercial, and it carries the most important concepts and entities.” And: “The outer section is mostly informational, and it bridges the central entity to the other main entities of the topical map.”

We add one rule of our own: an outer page never targets a money query its core page owns, so your outer pages answer and hand the booking to the core.

Step 8: 13 core, 13 outerCore pages sell. Outer pagesanswer, then hand over.CORE SECTION: 13 NODESCommercialHomepage, 5 treatmentpages, 2 comparison pages,finance page, 4 sectionsOUTER SECTION: 13 NODESInformationalLifespan, NHS, problem,trust, life event and costpages, plus 4 sectionsTHE HAND-OVEROuter answers, core booksRow 14 answers how long implantslast, then links to row 2No outer page targetsa money query.
Step 8 for Example Dental: how the 26 nodes split into 13 commercial core nodes and 13 informational outer nodes.

Worked example: Example Dental, Cardiff

Example Dental’s 26 nodes split evenly: 13 core nodes that take bookings and 13 outer nodes that answer questions first.

  • CoreRows 1 to 13: the homepage, the five treatment pages, the two comparison pages, the finance page and four sections on cost, suitability, sedation and smokers
  • OuterRows 14 to 20 plus six more: implant lifespan, NHS implants in Wales, missing tooth options, knocked-out teeth, dentist registration, a wedding smile plan and implants abroad
  • The rule in action“How long do dental implants last?” (row 14) never targets “dental implants Cardiff”. It answers the lifespan question and links to the implants page (row 2)

Map so far: 13 core nodes and 13 outer nodes.

Boss check: Does any outer page target a query that a core page should own?

Step 9: Add contextual bridges

Add bridge nodes that connect each neighbouring entity class to your core. A contextual bridge is the framework’s term for a connection that lets a map reach a nearby topic without drifting: it starts in a neighbouring class and always ends on a core page.

Build one bridge per neighbouring class at minimum, and check that each one carries the reader from their question to a service you sell.

Step 9: Six bridgesinto the coreEach bridge starts outside andends on a page that books.FUNDINGNHS implants in WalesRow 15 links to implants(2) and finance (11)PROBLEM TO TREATMENTMissing tooth optionsRow 16 links to implants (2)EMERGENCYKnocked-out toothRow 17 links to theemergency page (10)LIFE EVENTWedding smile planRow 19 links to aligners,bonding, whiteningTRUSTIs my dentist registered?Row 18 links to the homepage (1)COSTImplants abroad vs UKRow 20 links to rows 2, 3 and 11Every bridge ends on a core page.
Step 9 for Example Dental: the six contextual bridges that carry patients from a question to a treatment page.

Worked example: Example Dental, Cardiff

Example Dental builds six contextual bridges, one for each route patients take from a neighbouring topic to a treatment.

  • Problem to treatment“Missing tooth: implant, bridge or denture” (row 16) compares the options and links to the implants page (row 2)
  • Funding“Can you get dental implants on the NHS in Wales?” (row 15) answers honestly, then links to implants (row 2) and monthly finance (row 11)
  • Life event“Wedding smile plan” (row 19) links to aligners, bonding and whitening (rows 5, 7 and 9)

Map so far: 6 contextual bridges connect every neighbouring class to the core.

Boss check: Does each bridge end on a core page, not on another outer page?

Give every row in your sheet a parent, its link targets and the exact anchor text before anyone writes a page. Koray’s article sets the direction: “Internal links always flow from the outer section toward the core section to transfer ranking signals.” Core parents also link down to their own child pages. Google’s link guidance asks for descriptive, concise anchors.

Zyppy’s study of 23 million internal links across 1,800 websites found URLs with 0 to 4 internal links averaged 2 clicks from Google Search, while URLs with 40 to 44 received four times that, a correlation rather than a proven cause.

Step 10: Links run inwardEvery row gets a targetand an exact anchor.ROW 14 TO ROW 2Outer to coreAnchor: dental implanttreatment in CardiffROW 16 TO ROW 2Outer to coreAnchor: replacing a missingtooth with an implantROW 17 TO ROW 10Outer to coreAnchor: an emergencydental appointmentROW 5 TO ROW 6Core parent to childAnchor: clear alignerscompared with fixed bracesNo anchor used morethan three times.
Step 10 for Example Dental: four rows from its link sheet, showing direction and the exact anchor text.

Worked example: Example Dental, Cardiff

Example Dental’s link sheet gives each row a direction and an anchor, so the writers never guess where a link goes.

  • Outer to coreRow 14, implant lifespan, links to row 2 with the anchor “dental implant treatment in Cardiff”
  • Outer to coreRow 17, knocked-out tooth, links to row 10 with the anchor “an emergency dental appointment”
  • Core parent to childRow 5, clear aligners, links down to row 6 with the anchor “clear aligners compared with fixed braces”
  • No link neededRow 3, implant cost, is an H2 on row 2, so it needs a jump link, not a new page link

Map so far: Every row has a parent, link targets and an anchor.

Boss check: Do links run from outer to core, with no anchor repeated more than three times?

Step 11: Order the pages into publishing batches

Publish your pages in batches by dependency, and never publish a child before its parent. Within a batch, publish the nodes with the highest margin and demand first. New domains should keep batches small and push the core live first.

Step 11: Four batches,parents first26 nodes released in the orderthey depend on each other.BATCH 1: CORE HUBS7 nodesHomepage, 5 treatmentpages, implant cost H2BATCH 2: CORE SUPPORT7 nodesComparisons, finance, suitabilityH2, lifespan, NHS, missing toothBATCH 3: RARE AND BRIDGES6 nodesSedation, smokers, knocked-outtooth, registration, 2 outer pagesBATCH 4: WIDER BRIDGES6 nodesWedding plan, implantsabroad, 4 outer H2s7 + 7 + 6 + 6 = 26 nodes.
Step 11 for Example Dental: the four publishing batches, with every parent page scheduled before its children.

Worked example: Example Dental, Cardiff

Example Dental releases its 26 nodes in four batches, so every page goes live after the parent it depends on.

  • Batch 1Rows 1, 2, 3, 5, 7, 9 and 10: the homepage, the five treatment pages and the implant cost price table. Implants go first because they carry the highest fee
  • Batch 2Rows 4, 6, 8, 11, 14, 15 and 16: the comparisons, finance, suitability, lifespan, NHS and missing tooth pages
  • Batch 3Rows 12, 13, 17 and 18, plus two outer pages on bonding safety and chipped teeth
  • Batch 4Rows 19 and 20, plus four outer H2s on aligner wear, bonding lifespan, whitening sensitivity and gum disease

Map so far: 4 batches. The map is ready to brief and publish.

Boss check: Is any child page scheduled before its parent?

What does a finished topical map look like? A worked example for a Cardiff dental practice

A finished topical map is a table of nodes, and Example Dental’s has 26: 18 pages and 8 sections or rows, 13 core and 13 outer, across four batches. The practice is invented and the map is illustrative.

Example Dental, Cardiff (fictional) topical map, 20 of 26 nodes
#NodeSectionQuery template or canonical queryAttributePage levelLinks toBatch
1Private dentist in Cardiff (homepage)Coreprivate dentist CardiffRoot: location and servicePage2, 5, 7, 9, 101
2Dental implants in CardiffCore[treatment] CardiffRootPage3, 11, contact1
3Dental implant cost in CardiffCore[treatment] cost CardiffRoot: priceH2 on 2 with price tableParent 21
4Implant suitability and bone graftsCorecan I have [treatment] if [condition]UniqueH2 on 2Parent 22
5Clear aligners in CardiffCore[treatment] CardiffRootPage6, 111
6Clear aligners vs fixed bracesCore[treatment] vs [treatment]Unique: entity pairPage52
7Composite bonding in CardiffCore[treatment] CardiffRootPage8, 111
8Composite bonding vs veneersCore[treatment] vs [treatment]Unique: entity pairPage72
9Teeth whitening in CardiffCore[treatment] CardiffRootPage11
10Emergency dentist in CardiffCoreemergency dentist CardiffRootPage2, 71
11Dental finance and paying monthlyCorepay monthly dentist CardiffRoot: paymentPage, plus H2 on 2, 5, 72, 5, 72
12Sedation for nervous patientsCore[treatment] for nervous patientsRareH2 on 2 and 10Parent 23
13Implants for smokersCorecan smokers get dental implantsRareFAQ row on 2Parent 23
14How long do dental implants last?Outerhow long does [treatment] lastRoot: lifespanPage22
15Can you get dental implants on the NHS in Wales?Outer bridgecan I get [treatment] on the NHS in WalesUnique: fundingPage2, 112
16Missing tooth: implant, bridge or dentureOuter bridge[dental problem] optionsRoot: problemPage22
17What to do when a tooth is knocked outOuter bridgewhat to do if [dental problem]Root: problemPage103
18How to check a dentist is registeredOuter trusthow to check a dentist is registeredRoot: trustPage13
19Wedding smile planOuter bridgesmile makeover before weddingRare: life eventPage5, 7, 94
20Dental implants abroad vs in the UKOuter bridge[treatment] abroad vs UKUniquePage2, 3, 114

The other six nodes are outer: two batch 3 pages (“Is composite bonding bad for your teeth?” and chipped tooth repair options) and four batch 4 H2s on aligner wear hours, bonding lifespan, whitening sensitivity and gum disease.

The finished ExampleDental topical map26 nodes, 13 core and 13 outer, 4 batchesPrivatedentaltreatmentin Cardiff1234567891011121314151617181920212223242526PageH2Row or FAQOuterLink inwardContextual bridgeCORE SECTION, INNER RING1Homepage: private dentistPage, B12Dental implantsPage, B13Implant costH2, B14Implant suitabilityH2, B25Clear alignersPage, B16Aligners vs bracesPage, B27Composite bondingPage, B18Bonding vs veneersPage, B29Teeth whiteningPage, B110Emergency dentistPage, B111Dental financePage, B212Sedation, nervous patientsH2, B313Implants for smokersRow, B3OUTER SECTION, OUTER RING14Implant lifespanPage, B215NHS implants in Wales?Page, B216Missing tooth optionsPage, B217Knocked-out toothPage, B318Check dentist registrationPage, B319Wedding smile planPage, B420Implants abroad vs UKPage, B421Is bonding bad for teeth?Page, B322Chipped tooth optionsPage, B323Aligner wear hoursH2, B424Bonding lifespanH2, B425Whitening sensitivityH2, B426Gum disease and implantsH2, B4SIX CONTEXTUAL BRIDGESFunding15 to 2 and 11Problem to treatment16 to 2, 22 to 7Emergency17 to 10Life event19 to 5, 7 and 9Trust18 to 1Cost20 to 3 and 11
Example Dental’s 26-node map: core treatments inside, outer questions and bridges outside, links flowing inward.

Six contextual bridges tie the outer section to the core: funding, problem to treatment, emergency, life event, trust and cost, each drawn as a dashed line on the map above. Our local SEO for dental practices builds this map around the treatments and locations you sell, so each treatment search lands on the page that books it.

Why is each node a page, a section or a row?

Each node’s level comes from the step 7 rule. Row 3, implant cost, is an H2 because cost is a root attribute and the searcher wants the implants page anyway. Row 6, aligners versus braces, is a page because it adds a second entity and a new template. Row 13, implants for smokers, is an FAQ row: low demand, short answer. Row 12, sedation, stays an H2 until Search Console shows that query group growing.

How do you turn the map into content briefs?

Turn each page row of your map into a brief with five fields: the H1, answer-first H2s drawn from its templates, the entities it must name, its parent, and the anchor that links to it. Layout belongs in the brief too: Koray’s Search Engine Land article on visual semantics reports clicks up 30.5% and impressions up 98.6% on a converter site of more than 100,000 pages after its calculator moved from the bottom of the page to the top, so a cost row should specify its price table.

Topical Map for SEO

Get a map like Example Dental’s for your business

A fixed-price £500 ex VAT map with keyword clusters, content hierarchy, internal linking, competitive gaps, topic suggestions and a phased publishing plan.

Get my topical map built

How do you get a competitor’s topical map?

You get a competitor’s topical map by reading their sitemap, grouping the URLs into entity classes, and reading query templates from their titles. The free route needs a browser and a crawler:

  1. Open /sitemap.xml or /sitemap_index.xml and export every URL.
  2. Group URLs by folder, since folders such as /treatments/ reveal entity classes.
  3. Crawl them with Screaming Frog SEO Spider and export titles and H1s.
  4. Tag each URL core or outer: does it sell, or explain?
  5. Build a gap matrix of entity against attribute.

Paid tools go faster: Surfer’s Topical Map tool compares competitor coverage, and Ahrefs or Semrush show which pages earn traffic. None of them can judge which gaps fit your source context. Our guide to finding the keywords and pages your search competitors win covers the gap analysis that sits beside this.

A competitor’s topical mapin 5 movesFree route: a sitemap, a crawlerand a sheet1STEP ONEOpen /sitemap_index.xmlor /sitemap.xml2STEP TWOGroup URLs by folderFolders reveal entity classes3STEP THREECrawl titles and H1sTitles reveal query templates4STEP FOURTag core or outerDoes the page sell, or explain?5STEP FIVEBuild the gap matrixEntity against attributeENTITYYOUCOMPETITORImplants: costMissingPageAligners vs bracesH2PageKnocked-out toothMissingMissingPaid route: Surfer, Ahrefs or Semrush
Five moves turn a competitor’s sitemap into a gap matrix you can act on.
Competitor gap matrix for Example Dental, entity against attribute
Entity and attributeYour siteCompetitor ACompetitor BAction
Implants: costMissingPageH2Add H2 with price table
Implants: lifespanMissingMissingPagePublish outer page
Aligners vs bracesH2PageMissingUpgrade to own page
Bonding vs veneersMissingPagePagePublish in batch 2
Knocked-out toothMissingMissingMissingPublish in batch 3

How do you map an existing website onto a topical map?

You map your existing site by crawling it, assigning every URL to one row, and acting on the leftovers: merge duplicates, redirect the losers, rewrite pages sitting on the wrong level, and list the missing nodes. Two of your URLs on one row mean keyword cannibalisation; confirm it by filtering the query in Search Console and watching Google swap pages.

Your own Search Console export validates the map fastest: group queries by template and entity, then see which page Google picks. Ours showed the gap at once: “get topical map of competitor seo” had 1,675 impressions at position 50.4, the best in the cluster, and “how to complete a topical map seo” had 596 at 78.7. Every one landed on our product page, and we had no informational page to offer.

Horizontal bar chart of eight topical map queries by impressions with average position labels and a callout showing one click
True SEO Search Console data, 16 months to 06 August 2026: the queries needed an informational page, not a product page.

Our SEO audit service maps every live URL to the node it should serve, so you know what to merge and rewrite before briefing new pages.

How do you know a topical map is complete?

You know a topical map is complete when it passes six checks you can run in your spreadsheet:

  • Every member of the entity class has a row.
  • Every root attribute is covered for every member, as a page, H2, row or FAQ.
  • Every template variation has a level or has been dropped on purpose.
  • Every node has a parent and at least one link in.
  • No two rows target the same variation of the same entity.
  • Every neighbouring entity class has a bridge to the core.

Page count follows from those checks, not a target: Example Dental’s six treatments across six of its templates give 36 possible variations, and QDP plus the bridges settle the map at 26 nodes. Our 12-step guide to how many articles topical authority takes covers article volume from the authority side.

Completeness is a floor. Koray’s query templates article says covering more attributes or variations than competitors “doesn’t guarantee better rankings”. His Holistic SEO study names three ways to grow a map: more entities of the same type, more attributes of existing ones, and deeper context.

Can AI or a topical map generator build the map for you?

AI generators list entity members and template variations quickly, but they can’t write your source context, apply QDP or judge which node earns money. Use one for steps 4 and 6, and make every other decision yourself.

The risk is publishing straight from the output. Google’s spam policies define scaled content abuse as “when many pages are generated for the primary purpose of manipulating search rankings and not helping users”, and list using generative AI to create many pages without adding value as an example. We’d rather hand a writer 26 rows they can build properly than 300 they can’t.

ChatGPT prompts follow the same split. Give it your source context sentence, entity class and templates, not “a topical map for dentists”, and ask for a table of variations to judge at step 7. It can’t see your Search Console data, so check any search volume it prints.

What are the most common topical map mistakes?

The most common topical map mistakes are starting without a source context and letting the wrong page on your site answer a query. The others we meet in audits:

  • A service or product page answering how-to queries, which is our own Search Console lesson.
  • One page per keyword instead of one per entity and pattern.
  • Outer pages linking nowhere, so relevance never reaches the core.
  • Children published before parents.

An illustrative two-office law firm, with invented figures, shows the cost of one page per keyword. Eleven of its 64 posts targeted “how much does probate cost”, and Google rotated four of them, none above position 30. The firm merged all 11 into a fee-table H2 on its probate page. Four months later that page sat at position 6, and its enquiries rose from 2 to 9 a month.

How do you measure whether a topical map is working?

Measure your topical map section by section in Search Console: queries, impressions, average position, clicks and indexed pages for your core and outer sections separately. Check AI answers by hand for your top ten questions. Kevin Indig’s Growth Memo proposes “Topic Share”, the share of traffic your site captures across a topic’s keywords, which suits a map defined row by row.

Results take weeks to months, and nobody can promise you a date. Graphite’s study of 332 URLs across 12 domains found that pages with higher topical authority scores were more likely to gain visibility within their first three weeks. Our client RX Virtual Finance reached the first page for “pharmacy accountants” within about 60 days and later number one: one case, not a forecast.

An illustrative garden furniture store on Shopwired, also with invented figures, shows the method at work. Its rattan sofa category sat at 120 weekly impressions until the map added material, seat count and cover as attribute nodes plus three outer guides. Twelve weeks later that section showed 1,450 weekly impressions at an average position of 14, up from 38.

How does a topical map change for a local business or an ecommerce store?

A local business map is built on service and location pairs, while an ecommerce map is built on category and attribute pairs. Koray’s Search Engine Land article on local SEO argues that fewer, more purposeful pages can improve relevance and reduce duplication, with the most important location and service pair on the most important page. That’s why Example Dental’s homepage targets “private dentist Cardiff”.

Your entity class changes by sector; the method doesn’t:

  • Accountants: services such as VAT returns and payroll, with “[service] for [client type] in [city]” templates.
  • Solicitors: practice areas such as probate and conveyancing, with fee and timescale attributes.
  • Hotels: room types and occasions, bridged to bookings.
  • Letting agents: landlord services and area guides, bridged to valuations.
  • Shopify, Shopwired and WooCommerce stores: categories crossed with attributes such as material and size, which often become filters rather than pages.

A multi-location business repeats a core page per location only where demand differs by place.

What should a topical map template include?

Your topical map template needs 13 columns, and you can build it in Google Sheets or Excel.

Topical map template columns and what each one records
ColumnWhat it records
NodeThe page or section name
SectionCore or outer
EntityThe entity the node covers
Query templateThe pattern with its slot
Canonical queryThe variation the node targets
Attribute typeRoot, unique or rare
Page levelPage, H2, table row or FAQ
ParentThe node above it
Links toThe nodes it links to
Anchor textThe exact anchor pointing to it
BatchPublishing batch number
StatusBriefed, written or live
Search Console baselineImpressions and position on launch day

Search Console supplies demand, Screaming Frog crawls sites, and a mind-map tool such as Miro draws the result. Draw it as hub and spoke rings: central entity in the middle, core nodes inside, outer pages, FAQs and how-to guides outside, arrows pointing inward. Keep the spreadsheet as the master, since a diagram can’t hold anchors or batches.

Should you build a topical map yourself or pay for one?

Build the map yourself when you know your services and have time for the 11 steps. Pay for one when your entity class is large, your site already has cannibalisation, or nobody on your team can defend a page or section decision. A good paid map shows its working: a written source context, a level and anchor on every row, batches and competitor gap evidence.

Our Topical Map for SEO delivers that plan at a fixed price of £500 ex VAT: keyword clusters, a content hierarchy roadmap, internal linking, competitive gap analysis, topic suggestions and a phased publishing plan, so your writers start with decisions made.

Self-check quiz

Which part of the topical map does this query belong in?

Eight queries from the Example Dental map; pick the best home for each.

Question 1 of 8“dental implants Cardiff” belongs in:

Question 2 of 8“dental implant cost Cardiff” should be:

Question 3 of 8“Invisalign vs braces” should be:

Question 4 of 8“can I get implants on the NHS in Wales” is:

Question 5 of 8“can smokers get dental implants” with low demand should be:

Question 6 of 8Internal links in a topical map should mainly flow:

Question 7 of 8Which page should go live first?

Question 8 of 8Your product page ranks for “how to create a topical map”. The fix is:

Show the answer key
  1. “dental implants Cardiff” belongs in: Core section, its own page. It is the root commercial query for a core entity.
  2. “dental implant cost Cardiff” should be: An H2 with a price table on the implants page. Cost is a root attribute of the same entity.
  3. “Invisalign vs braces” should be: Its own page. It adds a second entity and a new template.
  4. “can I get implants on the NHS in Wales” is: An outer bridge page. It connects a funding entity to the commercial core.
  5. “can smokers get dental implants” with low demand should be: An FAQ row on the implants page. A rare attribute with a short answer and little demand.
  6. Internal links in a topical map should mainly flow: Outer to core. Outer pages pass relevance to the commercial core.
  7. Which page should go live first? Emergency dentist in Cardiff. A parent page must exist before its children, and batch 1 holds the core hubs.
  8. Your product page ranks for “how to create a topical map”. The fix is: Publish a blog that answers it and links to the product page. The query deserves an informational page; this is our own Search Console lesson.

Frequently asked questions

Who created the topical map method?

Koray Tugberk Gubur, founder of Holistic SEO, developed the topical map framework used here and published it through Holistic SEO, OnCrawl and Search Engine Land. His OnCrawl case study gives the original formula as “Topical Authority = Topical Coverage * Historical Data”. Our founder, Mohammad A Mahmud, trained in the method.

How long does a topical map take to build?

A short local map takes us days by hand and a large ecommerce map takes weeks, because the page level and link decisions are slow.

How often should you update a topical map?

Update a topical map when you add a service, a new template appears in Search Console, or a core update moves rankings. Review your sections quarterly.

Backlinks still matter, because a map organises relevance and links add authority. Koray has written that an aligned source context helps outside authority turn into rankings.

Is a topical map the same as a topic cluster?

A topical map is not the same as a topic cluster: a cluster is one pillar with its supporting pages, while a map covers every cluster with levels, link direction and order.

Does a topical map need a new URL structure?

A topical map doesn’t need a new URL structure: keep the URLs that already rank and show hierarchy through parents and internal links.

How does a topical map fit into the rest of semantic SEO?

A topical map is the first deliverable in semantic SEO: the map becomes briefs, briefs become answer-first pages, and pages link outer to core until the network earns authority. We bill that work on KPIs, not hours.

True SEO Consultants Ltd works from Startup Stiwdio, University of South Wales, 86-88 Adam Street, Cardiff, CF24 2FN, led by Mohammad A Mahmud, ACCA qualified, and Julie Williams, a fractional finance director with more than 30 years’ experience. Mohammad wrote Research Report TSC-2026-01, our audit of 494 UK accountancy practice websites, whose most common measured fault was no page for a high-fee service, a missing core node. We’ve worked with more than 200 UK clients across about 18 sectors. We serve businesses across the UK through remote digital onboarding and delivery. Start with your source context sentence today.

Free 30-minute strategy call

Find out whether you need a map or a fix

We look at your Search Console queries with you and tell you which pages your site is missing.

Book my free strategy callSee how the programme runs

Credit and acknowledgement

Credit: Koray Tuğberk Gübür

The method in this guide comes from Koray Tuğberk Gübür, founder of Holistic SEO & Digital, who developed the topical map and topical authority framework and gave it the names we use throughout: source context, central entity, central search intent, core and outer sections, contextual bridges and Query Deserves a Page.

We decoded the step-by-step process from his YouTube videos, then checked each step against his published articles on Holistic SEO, OnCrawl and Search Engine Land. Our founder, Mohammad A Mahmud, trained in his semantic SEO method, and the Example Dental walkthrough is our own worked application of it.

This guide is True SEO’s interpretation of his framework. He hasn’t reviewed or endorsed it, and any mistakes in it are ours.

Share your love
Mohammad A Mahmud
Mohammad A Mahmud

I founded True SEO Consultants in Cardiff and run it with Julie Williams. I've worked in search since 2010 and trained in accountancy alongside it, completing the ACCA professional examinations and an MSc in Applied Accounting. Since then I've helped more than 200 small and medium businesses, including accountancy practices, get found on Google and in AI answers. In 2026 I published an audit of 494 UK accountancy practice websites. Read my full profile.

Articles: 42