Rule referencelinks/cluster-connectivity

Cluster Connectivity — When a Directory of Pages Becomes a Topic Silo

links/cluster-connectivity groups every crawled URL by its parent directory, and for each cluster of 2 or more pages it checks whether a single internal crawl link enters from another cluster or leaves toward one — firing a warning when neither exists, because Google cannot diffuse authority into a directory that no other section of your site references or is referenced by.

Test your site for cluster connectivity — when a directory of pages becomes a topic silo

Loading bot check… if this doesn't resolve in a few seconds, refresh the page.

We'll surface findings tagged with `links/cluster-connectivity`.

What it detects

The rule keys every crawled URL to its parent directory using the same cluster logic the link family shares: /cheese/affinage/ and /cheese/rind/ collapse to the /cheese/ parent, so a cluster is simply the set of pages that live under one folder. It builds that map first, then only looks at clusters that hold 2 or more pages, because a lone page is an orphan question, not a connectivity one.

For each multi-page cluster it asks two narrow questions against the set of URLs the crawl actually knows about. First, outbound: does any page in the cluster carry a resolved internal href whose target resolves to a different cluster? Second, inbound: does any page outside the cluster link to any URL inside it? A link that stays within the same parent directory does not count for either test — internal-to-cluster links keep the silo sealed.

When a cluster of 2 or more pages has neither a cross-cluster outbound link nor a cross-cluster inbound link, it is a sealed silo and the rule emits one warning naming the directory, the page count, and the affected URLs. A cluster with even a single link crossing its boundary in either direction passes.

Why it matters

Internal links are how PageRank-style authority flows through a site. A directory that no other section links to, and that links to nothing outside itself, is a closed loop: whatever authority lands on it stays trapped, and whatever authority the rest of the site has cannot reach it. The pages can be individually excellent and still underperform because they sit in a pocket Google has no strong path into.

This is a warning, not an error, because a silo is a missed opportunity rather than a spam signal. A 12-page guide to washed-rind cheeses that no recipe, no shop category, and no blog post ever links to is not penalised — it is simply starved. The fix is cheap and additive: one contextual link from a related section into the cluster, and one back out, breaks the seal and lets authority diffuse both ways.

The rule deliberately requires total isolation in both directions before it fires. A cluster that receives even one inbound link, or sends even one outbound link to another section, is considered connected, because that single edge is enough for a crawler to find and credit the directory. The bar is set at sealed, not merely sparse.

A page that fails

A specialty fromagerie ships a /cave-aged/ directory with 9 deep guides — affinage timelines, washed-rind humidity, raw-milk safety. Every link inside those pages points only to other /cave-aged/ guides, and nothing in the shop's /shop/ catalog, its /recipes/ pairings, or its /journal/ posts ever links into the directory. The cluster is sealed in both directions, so the rule warns: 'Cluster /cave-aged/ (9 pages) has no crawl links to or from other clusters.' The guides took 6 weeks to write, yet draw barely 4% of the site's organic sessions, because Google has no internal path into the silo.

A page that passes

The same fromagerie adds two contextual links. The /shop/ page for its flagship cave-aged gruyere — a $42 wheel aged 18 months in the cave — links into /cave-aged/affinage-timeline, giving the cluster an inbound edge from the catalog; and each /cave-aged/ guide closes with a 'shop this wheel' link out to the matching /shop/ product, giving it outbound edges. One inbound link plus outbound links is more than enough — the seal is broken in both directions, authority diffuses between the curd-to-counter sections, and the rule stays silent on a directory that now sits inside the site's link graph instead of beside it.

How to fix it

  1. 1Add at least one inbound link from a related section. A single contextual link from your catalog, blog, or navigation into the siloed directory is enough for a crawler to find and credit it.
  2. 2Add at least one outbound link from inside the cluster to another section. Linking out is half the test; a cluster that only receives links still reads as a one-way pocket until its own pages reference the rest of the site.
  3. 3Link on topical relevance, not in a footer dump. A contextual link from a genuinely related page passes far more authority and reads as editorial rather than as a sitewide boilerplate block.
  4. 4Audit your navigation for whole sections it omits. Silos usually form when a directory was built after the main nav was frozen and never got wired back into it.
  5. 5Re-crawl after adding the links. Because the rule only needs one crossing edge in each direction, a small number of well-placed links can clear several siloed clusters at once.
  6. 6Treat the warning as a discoverability prompt, not a penalty. The pages are not flagged as low quality — they are flagged as unreachable, which is usually a quick fix with outsized traffic upside.

SpamBrain context

Cluster connectivity is not a spam rule at all — it is a discoverability and authority-flow rule that happens to share the link family's plumbing. Google has said for years, most explicitly across its 2008 to 2024 internal-linking guidance, that internal links help it discover pages and understand site structure, and that important pages should be reachable from many internal links. A sealed directory contradicts both: it is hard to discover and structurally orphaned from the rest of the topic graph.

The rule ships in @pseolint/core (MIT-licensed at github.com/ouranos-labs/pseolint) at warning severity, never error, because a silo is a self-inflicted ceiling on your own pages, not a violation that draws enforcement. It pairs naturally with the rest of the link family — it asks a coarser, cluster-level version of the question that per-page reachability rules ask, catching the case where an entire folder, not just one stray URL, fell out of the link graph.

What the rule cannot see is whether the isolation was deliberate. A staging directory, a gated members area, or a deliberately noindexed section may be siloed on purpose. The rule reports the structural fact — this cluster has no crossing edges — and leaves the judgment of whether that is intended to you.

Frequently asked questions

What exactly counts as a cluster here?
A cluster is the set of crawled pages that share the same parent directory. The rule keys each URL to its parent folder — so /cheese/rind and /cheese/affinage both belong to the /cheese/ cluster — and only evaluates clusters that hold 2 or more pages. A single page under a directory is an orphan question handled elsewhere, not a connectivity one, which is why the rule needs at least two pages before it considers a directory a cluster worth testing.
Why does a link within the same directory not count?
Because links that stay inside the cluster keep the silo sealed. The whole point of the rule is to detect a directory that the rest of the site cannot reach and that reaches nothing outside itself. Nine guides that link only to each other are still a closed loop no matter how densely they interlink internally. Only an edge that crosses the cluster boundary — inbound from another section or outbound to one — proves the directory is part of the wider link graph.
Does the rule need both an inbound and an outbound link to pass?
No. The rule fires only when a cluster has neither a cross-cluster inbound link nor a cross-cluster outbound link. A single crossing edge in either direction is enough to clear it. In practice you usually want both — authority should flow into and out of a section — but the rule's bar is total isolation, so even one link entering or leaving the directory is enough to silence the warning.
It is a warning, not an error — should I still care?
Yes, because a silo is a ceiling on your own pages. The severity is warning rather than error because isolation is a missed opportunity, not a spam signal that draws a manual action. But a directory Google cannot reach internally tends to underperform regardless of page quality. The fix is one of the cheapest, highest-upside changes in the audit: a couple of contextual links can unlock a whole section that was quietly starved of authority.
My fromagerie has a /cave-aged/ directory that trips this — what do I do?
Wire it into the rest of the shop. Link your /shop/ catalog page for a cave-aged wheel into the relevant affinage guide so the cluster gains an inbound edge, and have each guide link out to the matching product or to a /recipes/ pairing so it gains outbound edges. One contextual link from the counter to the cave and one back is enough to break the seal. The 9 guides that took 6 weeks to write stop being a sealed terroir pocket and start passing authority to and from the rest of the site within a crawl or two.

Related rules

Want to know whether this rule actually fires on your site?

Run pseolint against your sitemap. The audit is free, takes about a minute, and returns a per-URL list of every rule that fired — including this one — with the exact metric values so you can prioritise the fix queue.