How I Plan and Create SEO Topic Clusters

Written on 07 February 2019

When I learned about the SEO concept of topic clusters, I decided to try it on the Buffer blog. Our articles on Instagram marketing were doing well then. So I tried to build a topic cluster around Instagram marketing.

Here's the result:

Organic traffic growth from topic cluster

I started interlinking our articles on Instagram marketing in September 2017, and we moved our main page from to on 13 December 2017[^1].

The weekly organic traffic to our articles on Instagram marketing grew 48 percent from about 27,000 to about 40,000 in six months[^2].

By organizing our articles on Instagram marketing into a topic cluster, we saw a significant increase in organic traffic to the articles.

While there are many guides on how to do topic clusters well, the concept still seems too profound on the surface. I would love to see if I can explain it in simpler terms. I'll also be walking you through my process for creating a topic cluster, which I recently did for Buffer.

What is a topic cluster?

Traditionally, to get organic traffic from search, marketers would research and come up with a list of keywords they want their articles to rank for. Each article would be optimized for a particular keyword. Whenever they are writing a new article, they would link to relevant existing articles on their blog. Those who know a little about SEO would also go to their existing articles and link to the new article where relevant.

The end result is usually a blog of many articles that are optimized for a set of keywords.

If we were to visualize such a blog of articles and the interlinks, it'll look something like that:

Visualization of most blogs

Please pardon my sketch. It has been a while since I drew by hand.

Pretty messy in my opinion. And likely Google's, too.

The idea of topic clusters is essentially to organize your articles into neat clusters on your blog. Each cluster should have one main page that covers the main topic (often a competitive short-tail keyword like Instagram marketing) and several supporting articles that cover sub-topics (or long-tail keywords)[^3]. The main page has many names — pillar page, hub page, or cornerstone piece. And to "organize" simply means linking the main page and supporting articles in a topic cluster to one another.

Here's a visualization of a blog with neat topic clusters:

Visualization of a blog with topic clusters

The larger circles in the center of each cluster represent the main pages while the smaller circles around them represent the supporting articles.

What are the benefits of this?

Creating topic clusters of articles allows readers to easily navigate to all the relevant articles on a topic on your blog. This also lets Google's bot easily find all the articles on that topic on your blog and determine how well to rank them — both the main page and the supporting articles.

The combination of the main page and its supporting articles signals to Google that your blog is an authority on that topic and has comprehensive information on that topic. The ideal result of this combination is that your main page would rank higher for the competitive short-tail keyword and its supporting articles will rank higher for their respective long-tail keywords.

In other words, more organic traffic.

(This also means that having only the main page or a single article alone is often insufficient to rank for a competitive short-tail keyword, especially if your competitors have written a cluster of articles on that topic.)

How to create topic clusters

In the steps below, I'll be focusing on creating one topic cluster. I'll use the topic of Instagram marketing as an example because that's one I've worked on recently. You can repeat the steps to create as many topic clusters as you want for your blog.

1. Plan the topic clusters

The first thing to do is to determine a topic to work on.

For me, I already knew that Instagram marketing can be a great topic cluster because we have done the keyword research, have written many articles on it, and knew that there are many things to cover under the topic.

You want to choose a topic that meets the following criteria:

  • It's relevant to your business, and your target audience searches for it. Ranking for the topic should have a meaningful impact on your business, beyond getting traffic[^4].
  • It is broad enough for you to write several articles on it. If you can cover everything on the topic in a single 3,000-word article, the topic is likely too narrow.

Next, write down the topic and sub-topics (and even sub-sub-topics if there is sufficient information for several articles). I'm a visual person so I wanted a visual map of the topic cluster. I found MindMaster, an online mind mapping tool, to help me easily create such maps.

An example structure of a topic cluster

There are people who plan their topic clusters using a spreadsheet instead. Whatever floats your boat.

To list out the sub-topics, you'll want to research the keywords.

2. Research keywords

As we already have several articles that are ranking for many keywords around Instagram marketing, I started by taking stock of the articles that we have written for Instagram marketing.

To do that, I entered our blog URL into Ahrefs' site explorer, went to the organic keywords section, and filtered for instagram. Ahrefs showed me the keywords that include instagram and the keywords that articles with instagram in their URL are ranking for.

Ahrefs keyword research

You can also do something similar with Google Analytics and Google Search Console for free.

Next, I plugged in my competitors' blog to find relevant keywords that they are ranking for and we are not. For example, I also took a look at the blogs of HubSpot and Later. (This is a good starting point if you don't already have articles ranking for the topic in mind.)

Then, I used a few keyword research methods to find keywords that neither we or our competitors are ranking for. These methods (e.g. intuition, Google's People also ask, etc.) have been widely written about so I won't go through them here.

As you are researching, put all the keywords and their search volume or potential traffic into a spreadsheet or, if there aren't too many keywords, directly into your topic cluster map. You don't need an article for every single keyword, and you shouldn't try to squeeze a bunch of keywords into an article, too. Animalz, a full-service content marketing agency, uses the “Mutually Exclusive, Collectively Exhaustive” framework to help them determine how many articles to write for each topic and what content to include in each article[^5].

Having the data in a spreadsheet lets you prioritize which topic or sub-topic to work on first, according to its potential traffic and relevance to your business.

I ended up with something like this:

Instagram marketing topic cluster

I hesitated sharing this here as it can be easily copied but oh well.

You might have existing articles that don't fit neatly under a single sub-topic. I would personally just link them to the main topic where relevant. Or you could create a sub-topic of "Others".

3. Create the main page

As we have many articles on Instagram marketing already, what I did was mostly organizing the articles (i.e. interlinking them according to the topic cluster) rather than writing the content.

If you are starting from scratch, I would recommend starting with the main page first. This is because you are trying to get your main page to rank for a competitive short-tail keyword, which is harder than trying to get your supporting articles to rank for less competitive long-tail keywords. Collecting backlinks early can help with your main page's ranking on Google. But it's quite unlikely that you'll rank well immediately unless your blog has a strong domain authority already. So marketers who have to show results quickly might choose to write the supporting articles first.

So far, I have seen two styles for the main page. The first is a pillar page — a long-form guide, often known as an "ultimate guide" that covers the topic comprehensively. The second is a hub page — something like a table of contents with a summary of each sub-topics and a call to action to read the respective supporting articles. We have tried both at Buffer (pillar page example and hub page example). To determine which style to use, I like to search for the topic on Google and see which style most of the top 10 articles use.

Pillar page or hub page

Ideally, the main page should live on your root domain, such as, because your root domain has a stronger authority than your blog (sub-domain or sub-folder). When we moved our main Instagram marketing page from our blog[^6] to, it jumped from the eighth place to the second place.

Pillar page jump in rank

And when we moved the main page back to a sub-folder...

Traffic change when pillar page was moved to subfolder

We moved it to a sub-folder because we wanted to keep all our content in the same place to improve the user experience. I'm rethinking this now.

4. Write the supporting articles

How to write an article can be an essay on its own. If there is enough interest in this, I'll write a separate essay on this.

For most companies, the supporting articles will usually be published on the blog as it's often the easiest way to publish articles. So the URLs will look something like this:

A much better way to structure the supporting articles is this[^7]:

(...if you have the technical resources or know how to implement it.)

Moz's Beginner's Guide to SEO is a great example of this:

5. Interlink the main page and the articles

Finally, the last step is to link your main page to its supporting articles and to link the supporting articles to your main page. (It's worth linking the supporting articles to one another if they are relevant.)

Ideally, you would have briefly mentioned the sub-topics on your main page. That gives you a good opportunity to link to the respective supporting articles. If you have not, a trick I like to use is to suggest articles to read.

Article suggestions

You could also build this into your theme. This saves you the manual work, though you might not be able to easily choose exactly which articles to appear.

Related articles

And there you have it! A topic cluster with a main page and its supporting articles.

How to measure results

It is a bit tricky to isolate the effect of organizing your articles into topic clusters on your organic traffic as there are many moving parts. For example, you might make changes to your blog overall, such as increasing the speed, which will help improve organic traffic. Or you might update one of the existing articles on the topic, which will give it a boost in organic traffic. So it's good to be mindful of other things that could have also increased your organic traffic.

A quick method I use to measure the results of our Instagram marketing topic cluster is to go to our Google Analytics > Behavior > Site Content > All Pages and filter for instagram. This is based on the assumption that all our Instagram marketing articles have instagram in its URL, which is a safe assumption to make. Then I would add "Organic Traffic" as a segment so that I can see the changes in organic traffic.

Google analytics: Measure a topic cluster's results

If your main page is on your root domain while your supporting articles are on a sub-domain, don't forget to also look at the organic traffic for your main page, which will likely be in a separate Google Analytics account.

Over to you

I'm sure I can improve my explanation of topic clusters. If you have any questions, please feel free to tweet me and I would love to discuss them with you.

If you are going to try this SEO strategy, it'll be great to know how it goes for you.

[^1]: We recently moved this page to because we wanted to keep all our content in the same place to improve the user experience.

[^2]: I picked this timeframe (September to February) because I updated one of our articles at the end of February, which went on to gain much more organic traffic and would affect the results. During this period, we published a few new articles on Instagram marketing, which generated about 3,000 weekly organic traffic. These figures do not include the traffic to our main page, which is on our root domain and therefore on a separate Google Analytics account. If I were to include the main page, the weekly organic traffic grew from about 28,000 to 42,000.

[^3]: I'll be using "topic" and keywords" interchangeably for the rest of the article. Short-tail keywords usually refer broad topics with many people search for them while long-tail keywords usually refer to narrow, more specific topics, which fewer people search for.

[^4]: Shout out to Jimmy Daly of Animalz for this description.

[^5]: Thanks again, Jimmy, for sharing this with me. While I have not used this method before, it's something I want to use going forward as I can see how helpful it is.

[^6]: There was an advantage to have the main page on our blog first. Many people subscribe to our RSS feed and were notified when the article was published, which generated many shares and backlinks.

[^7]: Thanks, Saijo George, for pointing this out to me.

Let's learn together

Subscribe to get my essays on my life, my startup, and startup marketing