Topic clusters in your blog: how to build SEO content without cannibalisation
How we plan topic clusters, divide them into individual blog posts, link them properly and check for cannibalisation in Search Console, with real examples from client projects.


What is a topic cluster, and why is a single article not enough?
A topic cluster is a clearly defined subject area that you cover comprehensively through several pieces of content: a central overview article (hub) plus several detailed articles (spokes), each answering exactly one specific question. Google has long stopped assessing individual pages in isolation and instead considers how well a domain covers a topic as a whole.
The classic mistake: you write five articles that all cover “something to do with web design". Each addresses 70 per cent of the same search needs. Google has to decide which article is the best match for the query, finds no clear answer and gives all five mediocre rankings. This is keyword cannibalisation: your own pages compete with each other instead of complementing one another.
| Approach | Structure | Result after 6 months |
|---|---|---|
| Standalone articles without a plan | 10 posts, all broad | Many pages in positions 20 to 50 |
| Topic cluster | 1 hub + 6 spokes, each with 1 search intent | Hub ranks for the head keyword, spokes for long-tail queries |
| Long-tail only, without a hub | 8 detailed posts, no centre | Traffic, yes, but no topical authority |
How do you divide a topic cluster into individual blog posts?
At Maluure, we always follow four steps.
- Define the subject area. A subject linked to a service. For example: “having a website built". Not “marketing", which is not a subject area but a continent.
- Gather search intents. Keyword research plus the actual questions raised in client conversations. What matters is the intent behind the keyword, not search volume alone: finding information, comparing options, asking about prices, intending to buy.
- Group the intents. Everything that calls for the same answer belongs in ONE article. “How much does a website cost" and “website prices" do not warrant a second post. They are the same post with two keywords.
- Define the hub and spokes. The hub answers the broad question and links to the details. Each spoke explores exactly one aspect in depth that the hub only touches on.

How many articles belong in a topic cluster?
In our experience: one hub and four to eight spokes. Fewer than four feels thin and does not build authority. More than eight almost always means you have packed two clusters into one, or that intents overlap.
We do not write an article unless we can say in one sentence which question it answers and which other article does NOT answer that question. If we cannot do that, it is not a new article, but a missing paragraph in an existing one.
How do you prevent keyword cannibalisation in practice?
Cannibalisation does not arise from similar topics, but from identical search intents on two URLs. These are the rules we follow:
- One focus keyword per URL. Secondary keywords are fine, but only those that call for the same answer.
- Clearly differentiated titles and H1s. If two titles sound interchangeable, you have one article too many.
- Regular checks. Use
site:deinedomain.de keywordto check which URL Google selects for a keyword. If the URL keeps changing, you have a cannibalisation problem. - Consolidate overlaps rather than deleting. Incorporate the weaker article into the stronger one and set up a 301 redirect. Link equity is preserved.
- Do not let category or tag pages be indexed if they show the same content in a different order.

How do we structure each blog post?
In short: a brief answer at the top, clear H2 questions, tables and lists for featured snippets, genuine quotes and practical examples as trust signals, and sources for figures. We deliberately do not cover this here, but in a separate article, because it fills an entire chapter on its own: E-E-A-T, quotes, evidence, structure and tone. It will be the next spoke in this topic cluster.
For this article, one rule is enough: the post answers its own question completely, but does not answer another article’s question along the way.
What is the best way to present articles on your website?
Content alone is not enough. How it is delivered matters too. Our standard approach:
- Server-side rendering. The full article text is in the HTML before JavaScript loads. Crawlers and AI systems see the content immediately.
- One H1 per page, taken from the article title. All subheadings are H2 or H3.
- A short answer block right at the top. LLMs such as ChatGPT or Perplexity tend to cite compact answer blocks at the start of a text.
- Structured data: Article, FAQPage and BreadcrumbList as JSON-LD, generated automatically from the article data.
- A table of contents with anchor links, which Google can display as sitelinks.
- WebP images with meaningful alt text and fixed dimensions to prevent layout shifts.
- An author box with the person’s name, role and subject expertise as an E-E-A-T signal.
- A correct canonical tag and a sitemap containing only published articles.
How do you link the articles to each other?
Internal linking is the glue that holds a topic cluster together. Without it, you have a collection, not a cluster.
| Link | Direction | Purpose |
|---|---|---|
| Hub to spoke | Downwards | Distributes authority to the detailed articles |
| Spoke to hub | Upwards | Tells Google which URL leads the topic |
| Spoke to spoke | Sideways | Only where the topics are genuinely related |
| Article to service | Commercial | Guides readers to the next step |
Practical rules: two to five internal links per article, anchor text that describes the destination and contains its focus keyword, never “click here". Every new spoke immediately gets at least one link from an existing, already indexed article. Otherwise, it remains an orphan that Google finds late or not at all.
Practical example: our own “having a website built" topic cluster
We tested this structure on our own blog. The hub is How much does a website really cost. It connects to spokes such as A fixed-price website, Website leasing and website subscriptions, Web designers for small businesses and Having a website built in Cologne. Each of these articles serves a distinct intent: pricing model, financing, target audience, region. All link back to the hub and onwards to our Maluure-Page™ service.
The effect is exactly as described: the hub attracts the broad pricing query, the spokes capture long-tail searches, and none of the articles displaces another because the questions do not overlap.
Which SEO practices should be part of every post?
- A meta title under 60 characters with the focus keyword at the start, a meta description under 160 characters with a specific benefit.
- A short, descriptive slug, without a date or filler words, which you never change afterwards.
- Update rather than write from scratch. A revised article with an updated modification date almost always gains traction faster than a new one.
- An FAQ at the end with six to ten genuine questions, also output as FAQ schema.
- Keep an eye on Core Web Vitals: load time, layout stability and response time are measurable ranking factors [1].
- Take accessibility seriously: contrast, alt text, focus states. What works well for screen readers also works well for crawlers.
- Do not publish thin articles just to maintain a publishing frequency. Google assesses helpful content, not publishing schedules [2].
How do you make sure the articles get indexed?
The most commonly overlooked step: a published article is not automatically an indexed article. We work through this list after every publication.
- Check the sitemap. The new article must appear in
sitemap.xml, with the correct absolute URL. - Use URL Inspection in Google Search Console. Enter the specific article URL in the search field at the top and run the live test.
- Request indexing. If you see “URL is not on Google", click “Request indexing". This is no guarantee, but it significantly speeds up discovery.
- Add internal links before requesting indexing. Google follows links, not intentions.
- Check again after seven to fourteen days. If the URL still shows “Discovered, currently not indexed", this is almost always a quality or duplicate-content signal, not a technical error.
- Monitor the performance report. As soon as impressions appear, you can see which queries Google associates with the article. If they do not match the planned intent, the article’s scope is not clearly defined.
How do you check for cannibalisation in Google Search Console?
Cannibalisation is not guesswork. It is measurable. The process takes ten minutes, and we run it once a quarter for every client blog.
- Open the performance report and set the date range to the last three months.
- Filter by a search query that belongs to your topic cluster.
- Switch to the “Pages" tab. You can now see which URLs appear for that exact query.
- Two or more URLs with impressions? Your pages are competing. One URL with impressions is the norm; anything above that is a signal.
- Review positions over time. If the ranking URL switches back and forth over the weeks, Google is unsure which page provides the best answer.
- Make a decision and document it so that nobody writes the same article again in six months.

| Finding | Decision | Implementation |
|---|---|---|
| Two articles, one search intent, one significantly stronger | Merge | Incorporate the content into the stronger article and 301-redirect the weaker one |
| Two articles, two clearly different intents, poorly separated | Split | Sharpen the scope of both articles, remove overlaps, clearly differentiate titles and H1s |
| Old URL with no purpose of its own, little content | 301 | Redirect to the appropriate hub or spoke without creating a replacement |
| Both articles weak, neither ranks | Redefine scope | Replan the topic cluster and turn two thin articles into one substantial piece |
What does a topic cluster look like in practice?
Two examples from our ongoing work: one from content operations, one from technical implementation.
Practical example: ZOO Event, local visibility for event venues in Cologne
For our client ZOO Event, the catering and events partner at Kölner Zoo, we continually expand the blog around pillar topics. The cluster is not called “blog", but “events in Cologne". The hub covers the broad question of event planning in Cologne, while the spokes break it down into the exact searches people actually enter: planning a Christmas party in Cologne, a team event at the zoo, a corporate event in Cologne.
Each of these articles has its own intent and target audience. The Christmas party is seasonal and emotional, the team event is HR-driven, and the corporate event is a question of budget and capacity. That is precisely why they do not cannibalise each other, even though all three contain the word “Cologne". What connects them is internal linking: each spoke links back to the hub and onwards to the specific venue or enquiry page.
The difference from a conventional company blog is the order of work. We first plan the cluster with all its spokes, then publish on a fixed schedule, rather than looking for a new topic every month. This makes editorial work predictable and ensures internal links are planned from the outset, because even before an article is written, we know where it will link and which articles will link to it.
The most expensive mistake in content marketing is not a bad article, but a good article with no place in a structure. It ranks briefly, then loses out to your next post, and nobody understands why the figures are falling.
Practical example: Korbmacher Stiftung, sound technical delivery as the foundation
Content needs a website that can deliver it. For Korbmacher Stiftung, which supports Kölner Zoo, we rebuilt the entire website with server-side rendering, a clear page hierarchy and structured data. Only then can the signals a topic cluster sends have their full effect: one H1 per page, proper breadcrumbs, a sitemap containing only published content.

Read the full case study: Korbmacher Stiftung →
How do you keep a topic cluster healthy over the years?
A cluster is not a one-off project, but an ongoing content asset. Here is what we include in the editorial plan:
- A quarterly cannibalisation check following the process above, documented in a simple table with URL, focus keyword and position.
- Two updates for every new article. If you only write new content, your existing content suffers. An updated article usually gains traction faster than a new one.
- An annual intent review. Search intents shift. If Google suddenly shows comparison pages rather than guides for your keyword, the article needs to adapt.
- Consolidate rather than expand. Articles with no impressions after twelve months are merged or redirected, not left untouched.
- One person responsible for each cluster, who knows which questions are already assigned. This prevents duplication more reliably than any tool.
Conclusion: structure beats volume
Topic clusters work because they force a decision: for every question, there is exactly one best page on your domain. That makes planning harder and results more stable. Plan the cluster before writing the first article, link every new post into the existing structure immediately, and actively check indexing rather than hoping for the best.
Prefer to leave it to us?
If you do not want to plan and write topic clusters yourself, that is exactly what we do every day. As an SEO agency in Cologne, we handle cluster planning, copy, internal linking and technical delivery. For a detailed guide to structuring an individual article within a cluster, read How to structure an SEO-optimised blog post.
Frequently asked questions
What is a topic cluster in SEO?+
What does keyword cannibalisation mean?+
How do I identify cannibalisation in Google Search Console?+
How many articles does a topic cluster need?+
How many internal links should a blog post contain?+
What should I do with two overlapping articles?+
Do I need to submit every new blog post for indexing in Search Console?+
How long does it take for a topic cluster to deliver results?+
Sources
- Understanding page experience in Google Search results, Google Search Central (2025)
- Creating helpful, reliable, people-first content, Google Search Central (2025)

Josef leads the strategic and creative development of brands at Maluure. For over a decade, he has guided medium-sized businesses from brand positioning to digital delivery.
Managing Director of Maluure GmbH, Cologne. Specialising in corporate design, brand strategy and digital brand experiences.
Weiterlesen

Using a corporate film on social media: twelve weeks of content from one shoot day
A corporate film is not a one-off asset, but a bank of source material. How to turn one shoot into formats for LinkedIn, Instagram, your website and sales, with an editing plan, content calendar and practical example.

Corporate video scripts: storytelling that works in 90 seconds
The script determines whether your corporate video makes an impact or just looks good. Structure, narrative, common mistakes and a shot list that saves the shoot day.

Officially certified: Maluure is a Lovable Partner
Since 16. September 2026, Maluure has been an officially certified Lovable Partner, Expert Website Builder and Expert App Builder. What the certification involves and what it means for your project.
Explore more blog topics

Corporate film or recruitment video: What your company really needs
Both films cost a similar amount but have very different effects. This comparison shows which format suits which goal and how to produce both in a single day of filming.

LinkedIn Video: Formats, Lengths and Best Practices for Businesses
What works for LinkedIn video: formats from 1:1 to 9:16, the right length for each objective, subtitles, hooks and upload strategy. A concise guide for businesses.

Recruitment video: showing employees as they really are
How a recruitment video shows real employees rather than glossy clichés, what it costs and why authenticity brings in more applications.