magicshare
FeaturesPricingBlogGet startedLog in
Get started
FeaturesPricingBlogGet startedLog in
magicshare
FeaturesPricingBlogGet startedLog in
Get started
FeaturesPricingBlogGet startedLog in
magicshare
FeaturesPricingBlogGet startedLog in
Get started
FeaturesPricingBlogGet startedLog in

← blog

Topic Clusters for a 30-Post Blog: Internal Linking

2026-08-17·22 min readseointernal-linkingcontent-strategygeoai-search

If your blog has 20 to 40 posts, the highest-return change available to you is usually not post #31 — it is giving the thirty you already have a shape a machine can read. The evidence for that is sharper than it was a year ago: Ahrefs' March 2026 analysis of 863,000 keyword SERPs and 4 million AI Overview URLs found that only 37.9% of AI Overview citations came from pages ranking in the top 10 for the query, down from roughly 76% in July 2025. When citation stops tracking head-term ranking, a set of narrow, separately retrievable pages wired together with descriptive links starts to beat one sprawling guide you were never going to rank for anyway.

That comes with a caveat stated up front rather than buried: no study proves internal links cause AI citations. What the data supports is narrower and more useful — internal linking is the cheapest structural prerequisite you fully control, and at your size the lever is not link volume but anchor-text variety.

The page-count trap

Start with the number that should govern how you think about post #31. Ahrefs' study of about 14 billion pages in its Content Explorer index, published in December 2023, found that 96.55% of pages get zero traffic from Google; another 1.94% get one to ten monthly visits. Ahrefs notes its sample skews toward the quality side of the web and that traffic figures are estimates, so ultra-long-tail visits can be undercounted — but the shape of the distribution is not in doubt.

The reflex response is "publish more, some will land." Publishing a thirty-first post into an undifferentiated pile is a bet that this one draws the winning ticket, when what separates a winning page from the 96.55% is rarely that it exists. It is that a machine could find it, tell what it was about, and distinguish it from your other twelve posts on adjacent subjects.

A second number makes the same point from the other direction. When Ahrefs correlated signals against AI Overview brand visibility across 75,000 brands in May 2025, branded web mentions came top at 0.664, branded anchors at 0.527, backlinks at 0.218 — and "site pages," raw page count, came dead last at 0.170. Ahrefs stresses these are Spearman correlations, that correlation is not causation, and that every figure in the table is "moderate to very weak." Take all of that on board and one thing survives: of everything measured, page count is the weakest. Volume is the lever you reach for first and the one with the least documented pull.

So the real question is not "what do I write next." It is "what shape are these thirty posts in, and which of the next ten fix the shape rather than extend the pile."

What changed in AI search, and why it favours a small blog

For a decade the mental model was simple: rank in the top ten or you do not exist. That is what made the 6,000-word monolith rational — one enormous page, all the keywords, everything pointed at it. The monolith made sense because there was one door.

There are now many. Google's own documentation confirms that AI Overviews and AI Mode "may employ a 'query fan-out' technique — issuing multiple related searches" and surface a wider, more diverse set of links than classic Search. One prompt becomes a spray of sub-queries, each resolved against its own retrieval pass — which is the mechanism behind the collapse above. In Ahrefs' March 2026 run, 31.2% of AI Overview citations came from pages ranked 11–100 and 31.0% from pages beyond the top 100. As Ahrefs' Louise Linehan puts it, AI Overviews are "relying less on the direct search results and more on the sources showing up in fan out query SERPs."

Step outside Google and the gap widens. Ahrefs ran 15,000 long-tail queries through Google and Bing in early July 2025 and the same prompts through ChatGPT, Gemini, Copilot and Perplexity: on average only 12% of AI-cited URLs appeared in Google's top 10 for the same prompt — ChatGPT in-text citations 8%, Perplexity highest at 28.6%. Read that the way it affects your Monday: roughly four in five pages cited by an assistant do not rank anywhere for the query that produced the citation.

Two consequences follow, and they point the same way.

First, the number of slots went up. Semrush's 2026 AI Visibility Index, built on 126 million US AI search prompts from January to April 2026, found ChatGPT averages about 15 sources per response against Gemini's 3. Fifteen sources per answer, across dozens of fanned-out sub-questions, is far more room than ten blue links — and it is room a small, precise publisher can occupy without ever outranking anybody for the head term.

Second, the unit of competition shrank. If retrieval happens per sub-question, the asset that gets retrieved is a page that answers one sub-question cleanly. A 30-post blog can produce nine of those in a quarter. It cannot produce a definitive 8,000-word guide that outguns an entrenched incumbent, and it should stop trying. We covered the page-level craft of that — definitions, data tables, attributed statistics — in our guide to the on-page patterns that earn ChatGPT and AI Overview citations. This post is the layer above: how those pages relate to each other, and how you make the relationship visible.

Which is exactly where a sceptical reader should push back. If the engines are that good at retrieval, why does structure matter at all?

The honest limits: what internal linking is not

Say the counter-arguments before your reader does, because this audience will find them anyway.

Google explicitly says you do not need AI-specific formatting. Its guide to optimizing for generative AI features, last updated 10 July 2026, is blunt: "You don't need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search" — creating them "will neither harm nor help." The same page says there is "no requirement to break your content into tiny pieces for AI to better understand it" and "no ideal page length." And to appear in AI Overviews or AI Mode a page need only be indexed and snippet-eligible: "There are no additional requirements… nor other special optimizations necessary." If you were about to spend a weekend shipping an llms.txt on the strength of a LinkedIn thread, Google's position is that it will be ignored. (That statement is Google-specific; other engines have not made the same commitment.)

Crawl budget is not your problem. Google's crawl budget guide is scoped to sites with more than 1 million unique pages, or more than 10,000 pages with daily-changing content, and tells everyone else that if pages are crawled the same day they're published, they don't need the guide. A 30-post blog gets crawled fine. Clusters are not a crawl fix at your size.

URL structure is not link structure. John Mueller has been clear that Google "does not count the number of slashes in your URLs" and that "you don't have to have kind of an artificially flat directory structure." Renaming /blog/internal-linking/ to /blog/seo/internal-linking/ buys nothing inherent and costs you a redirect map — the change with the most downside risk and the least evidence behind it. Leave your slugs alone.

And nobody has proven the causal claim. No controlled study shows that adding internal links produces AI citations, and the correlation table above puts off-site brand mentions far ahead of anything inside your own HTML.

So what is left? Something smaller and more defensible. Google's link best practices say plainly that "Every page you care about should have a link from at least one other page on your site," that a link is only crawlable as "an <a> HTML element with an href attribute," and that anchor text should be descriptive and specific — "Click here" and "Read more" are named as bad examples. The SEO Starter Guide adds that "the vast majority of the new pages Google finds every day are through links." Mueller called internal linking "one of the biggest things that you can do on a website to kind of guide Google and guide visitors to the pages that you think are important" — and added that structured data is no substitute for "normal HTML links between the different parts of your website."

That is the honest pitch. Internal linking is not an AI growth hack. It is a Search fundamental Google endorses in its own documentation, it is free, it is entirely under your control, and — unlike backlinks or brand mentions — you can finish it on a Tuesday.

What the link data says, and what doesn't transfer to thirty posts

The best public dataset on internal links is Cyrus Shepard's Zyppy study, which analysed 23 million internal links across 1,800 websites covering roughly 520,000 URLs, matched against Google Search Console data. Three findings matter here, and one of them is a trap.

The famous one first. URLs receiving 0–4 internal links averaged about 2 Google clicks; URLs receiving 40–44 internal links got roughly four times that. Past 45–50 links, traffic declined as link count rose. It is a tidy curve and it is the number everyone quotes.

It is also the one you should ignore. Those counts are site-wide inbound links including navigation and sitewide modules — volume a large site generates structurally, not editorially. A 30-post blog cannot manufacture 40 inbound links per post, and Zyppy's own data suggests it shouldn't want to: sitewide links behaved differently from unique body links, often pointing at lower-traffic URLs, and small-to-medium sites saw less benefit from navigation links than large high-traffic sites did.

Here is the finding that does transfer. Pages with at least one exact-match internal anchor — where the anchor text is the exact phrase the destination targets — had at least five times more traffic than pages without one. And the strongest, most consistent correlate in the whole study was not link count but anchor text variety: the number of distinct anchor phrases pointing at a page. Shepard's team found the relationship so strong they ran the analysis three times to check it, and it held regardless of site size. The explanation is intuitive — a navigation link can only ever carry one anchor phrase, so variety signals genuinely distinct editorial decisions.

One more detail is trivially fixable: empty anchor text — an <a> wrapping an image or icon with nothing readable in it — accounted for over 6% of all links and made "no difference whatsoever" to clicks. If your post cards are image-wrapped links with no text, that is a chunk of your linking layer contributing nothing. Shepard is candid about the limits here: "Twenty-three million sounds like a lot of links, but it's only a small portion of the trillions of links across the internet," and the analysis is correlational.

Put it together and the strategy for your size writes itself. You cannot compete on link volume. You can trivially compete on distinct, descriptive, exact-match-inclusive anchors — and the structure that produces those naturally, without a spreadsheet of phrasings, is a cluster.

The shape: three pillars, nine spokes, links both ways

A content hub, in Ahrefs' definition, is an interlinked collection of content about a similar topic: a hub or pillar page, cluster subpages, and reciprocal links. The reciprocity is stated as a rule — the hub links to all subpages, each subpage links back to the hub. Ahrefs is also clear that hubs are not for everyone; they fail when there aren't enough real subtopics, and the workable range is roughly 5 to 20.

Search Engine Land's topic cluster guide, last updated 31 December 2025, makes placement explicit rather than leaving it to taste: link from the pillar to each spoke early in the content; link back from each spoke to the pillar near the top; cross-link related spokes directly. Anchor text should be descriptive and varied, and the links belong in body content — not footers. It suggests planning 10–15 spokes as a validation threshold before committing to production.

Now the arithmetic for exactly thirty posts. The following is my calculation from those published rules, not a sourced statistic — but it is the number that decides what you actually do next.

Three pillars, each with one hub page and nine cluster posts, is 30 pages exactly. Each cluster sits comfortably inside Ahrefs' 5–20 viability range and just under Search Engine Land's 10–15 spoke threshold. Wire it as specified:

  • Pillar → spoke: 27 links. Spoke → pillar: 27 links. 54 contextual links.
  • Three sibling cross-links per cluster post: 81 links.
  • Total: roughly 135 contextual internal links, or about 4–5 outbound internal links per post — right in line with the 3–5 contextual links per article that Ahrefs suggests as a baseline, and nowhere near any "too many links" threshold.

And now the number that should reset your expectations: inbound contextual links per cluster post come to about four — one from the pillar, roughly three from siblings. Pillars get nine or ten, plus navigation. Even a perfectly linked 30-post blog produces about a tenth of Zyppy's 40–44 peak. That is not a failure of execution; it is arithmetic, and it confirms that raw link count is not the lever available to you. Anchor phrasing is. Aim for at least three different anchor phrasings pointing at each pillar, and give every post one exact-match anchor for its target keyword somewhere on the site.

Which topics deserve a cluster, and which don't

The failure mode here is building a shape and then filling it. Search Engine Land lists when not to build a cluster: when the head term needs dozens of supporting pages to compete, when the SERP is owned by entrenched authorities maintaining constantly-updated guides, when every angle overlaps another so you'd be forcing differentiation, or when intent is fragmented. Its named failure modes are worth pinning above your desk: orphaned pages, shallow pillars, cannibalization from overlapping subtopics, thin supporting content, and no maintenance. Two deserve a note for this audience specifically.

Thin supporting content is the dangerous one, because writing three filler posts to complete a nine-spoke shape is precisely the behaviour Google's scaled content policies exist to catch. The shape is not the goal; it's a way of noticing which real questions you haven't answered yet. If you find yourself inventing a subtopic to fill slot seven, the cluster is telling you it has five spokes, not nine. Our closer read of what Google's scaled content abuse policy actually bans covers why volume-without-value, not authorship, is the thing being measured.

Cannibalization is the one clusters are supposed to prevent and often cause. Grouping posts by the question they answer, rather than by the tag you happened to assign, surfaces near-duplicates immediately — and near-duplicates are what scatter your internal links across competing URLs so no single page accumulates the anchors. We went through detection and triage in why a third post on one topic hurts the first two; the short version is that a topic record checked before writing costs minutes, and a consolidation audit afterwards costs a weekend.

One failure is specific to small static blogs: relying on tag or category archives as your linking layer. Archive pages are commonly noindexed, and Google eventually treats a persistent noindex page as a soft 404 — while, as Dan Taylor's analysis notes, the real value of category pages is often as internal crawl paths to older content. If the only route from post A to post B is /tags/seo/, you don't have a cluster. You have a tag cloud.

Assume you get the grouping right. Where on the page does the link actually go?

Where the link goes on the page

This is the part most people get wrong, because "Related posts" widgets are a solved UI problem and contextual links are manual work.

Kevin Indig's citation study, reported in Search Engine Land, isolated 18,012 verified citations and matched them to source passages using sentence-transformer embeddings. The distribution is stark: 44.2% of ChatGPT citations came from the first 30% of a page, 31.1% from the middle, and 24.7% from the final third, with a sharp drop near the footer. And 78.4% of citations tied to questions came from headings — H2s specifically, suggesting models read an H2 as a prompt and the paragraph beneath it as the answer.

The practical translation: the passage that gets lifted is usually in the top third of your page, and the links inside that passage are the ones a retrieval system meets in context. A footer "Related reading" block sits in the region that draws the fewest citations, detached from any claim it could support. So put the spoke→pillar link near the top, inside the sentence that establishes what the post is part of, exactly as Search Engine Land prescribes — not because a widget is bad for readers, but because the widget does nothing for the machine while a contextual link does both jobs at once.

The same study points at how those passages should read. Cited passages were about twice as likely to use definitive language and ran an entity density of 20.6% against a typical 5–8% — denser in named things. The GEO paper from KDD 2024, which tested content methods across 10,000 queries against a GPT-3.5-turbo generative engine and Perplexity, found the same shape from a different direction: adding quotations lifted relative visibility about 41%, adding statistics about 33%, citing sources 28% — while keyword stuffing scored −9%. Write the paragraph a machine could quote whole: one claim, one number, one scope, one link, in the same place.

That is the page. Now the harder problem — keeping the structure true six months from now.

Make cluster membership a build-time constraint

Here is the finding that should genuinely change what you ship this week. Vercel and MERJ analysed roughly a month of crawler traffic across nextjs.org and Vercel's network — 4.5 billion Googlebot fetches, 569 million from GPTBot, 370 million from ClaudeBot — and reported that "none of the major AI crawlers currently render JavaScript." GPTBot fetched JS files in 11.50% of requests and ClaudeBot in 23.84%, but neither executed them. Googlebot and AppleBot do render. The same study found 404s accounted for 34.82% of ChatGPT's fetches and 34.16% of Claude's, against 8.22% for Googlebot.

Sit with what that means for a static-site blog. A "Related posts" component rendered by a client:only island, a cluster nav hydrated after load, a link list built from a client-side fetch — all of it is invisible to GPTBot and ClaudeBot. You would ship it, see it in your browser, see it in Googlebot's rendered view, and never know that the crawlers feeding two of the most-used assistants saw a page with no outbound links at all.

This is not hypothetical. Uproer's case study of IFTTT describes crawling the site the way a searchbot does — Screaming Frog, text-only, JavaScript execution off — and finding only 59 pages discoverable via internal links on a site with hundreds of thousands of indexable pages, because the links were JavaScript-rendered. An HTML sitemap page produced nearly three times more indexed pages within two weeks; server-side rendering and content-embedded linking followed, and the engagement reported 33% year-over-year organic traffic growth. Scale that down and it is the bug a solo developer-marketer ships without noticing.

The one-minute check: fetch your post as text with JavaScript off and count the <a href> elements. Screaming Frog's free tier crawls up to 500 URLs — a 30-post blog is roughly 40 — and JS rendering is a paid feature, so the free crawl conveniently is the AI-crawler view. Anything missing from it is missing for them.

Then make the relationship data rather than intention. Astro's content collections support reference() inside a collection schema, so a post's frontmatter can declare pillar: reference('blog') and relatedPosts: [reference('blog')], resolved at build time through getEntry() and getEntries(). A bad ID fails the build. That converts "we should really link these" into a constraint that cannot silently rot — and it renders server-side by default, solving the crawler problem in the same stroke. If you already run a pull-request publishing workflow with CI checks on frontmatter and internal links, cluster membership is a small addition to something you maintain anyway.

It is the same instinct behind Magic Share refusing to save a draft until every cited URL resolves and the frontmatter passes schema validation: a relationship that isn't checked is a relationship that decays. Given that a third of ChatGPT's fetches already hit 404s, the cost of an unchecked link has gone up.

Planning the next ten posts against the map

You now have a map. The next ten posts should be chosen against it rather than against a keyword list. Here is a split — this is opinion, not a sourced recommendation — that fits the arithmetic above:

Roughly two hubs. If your thirty posts fall into three themes but only one has a pillar, the fastest structural win is writing the missing hubs. A hub is not a 6,000-word monolith; it is the page that makes the relationship between nine posts legible to something that arrived on one of them. Ahrefs points to Drift's chatbot hub — over 500 backlinks and around 6,400 estimated monthly organic visits — as one that earned its keep. Big-site numbers, so treat them as proof the artifact does something, not as a forecast.

Roughly six fan-out gap posts. These are the narrow sub-questions your cluster implies but nobody wrote, and you do not have to guess which. Bing shipped a tool for exactly this on 10 February 2026: AI Performance in Bing Webmaster Tools, in public preview. Its Grounding Queries report shows "the key phrases the AI used when retrieving content" — a free readout of the fan-out sub-questions your pages are being pulled for. Write against the phrases you are being retrieved for but answering badly.

Roughly two merges. Two thin posts on the same sub-question compete for the same anchors and split their inbound links. Merging them into one page that deserves a spoke slot removes a cannibalization problem and strengthens a cluster in a single edit. It costs zero new research, which is why it never gets done — schedule it like a post.

For measurement, two free instruments cover the ground. Google Search Console's Links report shows top linked pages from within your site and lets you select a URL to see which of your other pages link to it — orphan check and inbound-link distribution in one screen. Bing's AI Performance adds Average Cited Pages: the average number of unique pages from your site shown as sources in AI answers per day. That is the closest thing to a public cluster KPI, because it measures the breadth of citation across your site — exactly what a cluster is supposed to increase. If it rises while total citations hold steady, the shape is working.

Set expectations honestly on the payoff. Seer Interactive's analysis of 5.47 million tracked queries across 53 brands found organic CTR of 2.36% when an AI Overview was present versus 3.82% when it wasn't, but brands cited in the AI Overview earned about 120% more clicks than non-cited brands on the same SERP — with Seer stating plainly that it "cannot claim causation." Being the cited source is worth real traffic; it is not worth the traffic the pre-AI SERP used to hand you. And much of the crawling isn't about readers at all: Cloudflare found roughly 80% of AI bot traffic is training-purpose, with user-action fetches under 5%.

Further out, publishers quoted by Digiday at the end of 2025 were already asking what a website looks like "when it's an agent, not a human, browsing" — a question nobody has data on yet. If that future arrives, your links become agent affordances rather than reader ones, which is an argument for keeping them in plain HTML rather than against.

The last constraint decides whether any of this happens: a cluster is nine or ten posts, and at weekly cadence that is a quarter of work. In bursts it never finishes, and an unfinished cluster is Search Engine Land's "no maintenance" failure mode wearing a plan. That is the unglamorous reason cadence matters more than intensity — a blog compounds when it is tended year-round rather than in bursts.

FAQ

How many posts do I need before topic clusters are worth it?

Enough real subtopics to fill one, which Ahrefs puts at roughly 5 to 20 per hub, and Search Engine Land suggests validating with 10–15 planned spokes before committing. At 30 published posts you almost certainly have one or two genuine clusters and one theme that is really three loosely related posts. Build the clusters that exist; do not write filler to complete the shape.

Does a topic cluster help with crawl budget on a small blog?

No, and you should be sceptical of anyone who says otherwise. Google's crawl budget guidance is explicitly scoped to sites with 1 million+ pages, or 10,000+ pages changing daily, and tells smaller sites they don't need to read it. The case for clusters at your size rests on anchor-text context, cannibalization prevention, and giving retrieval systems more than one door into a topic.

Do internal links actually get me cited by ChatGPT or AI Overviews?

No study demonstrates that causally, and it is worth saying so. The strongest correlation data available — Ahrefs across 75,000 brands — ranks off-site branded mentions (0.664) far above any on-site factor, with page count last at 0.170, and Ahrefs calls all of those correlations moderate to very weak. What is defensible: internal links are how pages get discovered, anchor text is documented context Google uses, and this is the cheapest part of the problem you control outright.

Where exactly should the link to my pillar page go?

Near the top of the spoke, embedded in the sentence that establishes context — which is what Search Engine Land's topic cluster guide prescribes and what the citation-position data supports, given that 44.2% of ChatGPT citations came from the first 30% of a page. A footer "Related posts" block sits in the lowest-citation region of the page and carries no claim to support.

Should I restructure my URLs to match the cluster?

No. John Mueller has said Google does not count slashes in URLs and that an artificially flat directory structure isn't required. URL structure and link structure are different things; renaming slugs carries redirect risk with no documented ranking benefit. Spend the effort on the links and the anchors.

The shape, not the pile

Thirty posts with a readable shape beat forty without one. The argument rests on three things the data supports: page count is the weakest documented signal in the table, citation no longer tracks head-term ranking, and anchor-text variety is the internal-link finding that transfers to a blog your size. Everything else is execution — group by question, wire the links both ways and near the top, keep them in server-rendered HTML, and watch whether Average Cited Pages moves.

The reason clusters go unfinished is rarely disagreement. It is that nine posts is a quarter of consistent work, and consistency is exactly what a side-of-desk blog doesn't have. Magic Share drafts on a schedule and keeps a topic ledger of everything written or planned — which, viewed sideways, is the cluster map that stops post #31 from cannibalizing post #14. If you'd rather your next ten posts arrive as verified drafts you approve than as ten weekends, see how the drafting, schema checks and link verification fit together.

Want posts like this for your site?

Magic Share researches, writes and fact-checks posts like this for any site — point it at your URL and review your first draft today.

Plant your first post
FeaturesPricingBlogGet startedLog inSign upPrivacyTerms© 2026 magicshare