Dennis Yu teaches websites as trees, an idea he lays out in full in the SEO Tree. The domain is the trunk, the pages where people actually buy are the branches, and the blog posts are the leaves. Leaves gather light, which in a website means attention, search traffic, and clicks off a boosted post. Branches turn that light into revenue. A leaf that is attached to nothing is just a leaf on the ground.
Most companies never draw their own tree. They publish posts, add pages, and assume the structure is fine because the site map looks tidy. Drawing it exposes what a site map hides: which branches are being fed, and which are hanging there bare.
Here is Local Service Spotlight’s tree, built from the seven offers on our services page and the live internal links across all 240 posts on this site. Every node is a link, so any of it can be checked.
Twelve vertical money pages hang off this same branch. No blog post links to any of them, so every one of these sub-branches is bare.
No blog post links here.
The AI Builder Program is the healthiest branch
Fifty posts on this site link up to the AI Builder Program page. They are case studies of individual builders, process posts explaining how the work actually gets done, and answers to the objections that come up before someone enrolls. Cam Hazzard’s story, George Paladichuk building a 100+ client agency at 22, Taylor James taking control of his own SEO: each one is proof, and each one ends at the single page where a reader can act.
That is what a healthy branch looks like. The leaves are not filler written to hit a publishing quota. Every one of them has a job, and the job is to send a qualified reader to a page that sells.
The branches thin out as the price goes up
That is the part worth staring at. The Knowledge Panel Package carries eight posts and the Maps Visibility System carries six, which is respectable. Spotlight carries three, and one of those is a post explaining how to request access to Google Analytics — useful to a client mid-onboarding, invisible to a prospect deciding whether to buy.
The Conversion Engine Package is the sharpest example. At $3,500 a month it is the largest recurring offer on this site, and exactly two posts link to it: an internal write-up of our client tracker and a how-to on setting up Rank Math Pro. Both are good posts. Neither was written for someone searching for predictable lead generation for a home service business. Speaking Engagements and the book have no posts pointing at them at all.
Content tends to follow enthusiasm rather than revenue. The tree makes that visible, because the branch that should be thickest is nearly bare.
Twelve vertical pages with nothing pointing at them
Hanging off the Quick Audit branch are twelve vertical money pages, one each for HVAC, roofing, plumbing, law firms, real estate, concrete, painting, pressure washing, landscaping, auto dealers, young athletes and personal brands. Every one of them is built to convert a specific kind of business.
Not one blog post on this site links to any of them.
In a site map that looks like twelve healthy pages. In a tree it is obvious: twelve branches, zero leaves. Anyone searching for an HVAC SEO audit or a roofing SEO audit lands on a page with no supporting content pointing at it and no internal authority flowing into it.
What this changes about what gets published next
The tree turns a vague content plan into an obvious one, and it puts them in order. The Conversion Engine Package needs customer-facing proof before it needs anything else, because it is the biggest recurring offer with the emptiest branch. After that come the verticals: a real audit of a named HVAC company that links to the HVAC page, a roofing teardown that links to the roofing page, a plumbing spotlight that links to the plumbing page. The Spotlight posts already do this well for the main Quick Audit page. The rest of the tree needs the same treatment.
Draw your own tree
This exercise takes an afternoon and it is worth doing for any site. Start with the page that lists what you sell, because that is your branch list. Then find every blog post that links to each offer. Where a branch has many leaves, the content engine is working. Where a branch is bare, either the posts are missing or the posts exist and forgot to link up, which is the more common and more frustrating case.
The full explanation of why money pages must stay pages, what breaks when one gets converted into a blog post, and the same tree drawn for BlitzMetrics is in the definitive article: Money Pages vs. Blog Posts: When Something Should Be a Page, Not a Post.
Two related reads if you want to go deeper. The SEO Tree is the framework this whole exercise comes from, and The Skill Pack Pages That Linked to Nothing is the same bare-branch problem caught on a different part of the system.
