Ensiteful Marketing https://ensitefulmarketing.com Home services marketing that makes your phone ring Mon, 17 Aug 2026 06:56:01 +0000 en-US hourly 1 https://wordpress.org/?v=7.1 https://ensitefulmarketing.com/wp-content/uploads/2026/07/em-logo-150x150.png Ensiteful Marketing https://ensitefulmarketing.com 32 32 Money Tree https://ensitefulmarketing.com/money-tree/ https://ensitefulmarketing.com/money-tree/#respond Mon, 17 Aug 2026 06:56:01 +0000 https://ensitefulmarketing.com/money-tree/ .mth5ilxt{color-scheme:light;--mth5ilxt-surface:#fcfcfb;--mth5ilxt-surfaceAlt:#f4f3ef;--mth5ilxt-ink:#0b0b0b;--mth5ilxt-ink2:#52514e;--mth5ilxt-ink3:#77756e;--mth5ilxt-hair:#dedcd4;--mth5ilxt-soil:#efe9df;--mth5ilxt-soilLine:#cfc4b0;--mth5ilxt-bark:#5c4632;--mth5ilxt-barkLite:#7d6248;--mth5ilxt-s1:#2a78d6;--mth5ilxt-s2:#eb6834;--mth5ilxt-s3:#1baf7a;--mth5ilxt-st-good:#0ca30c;--mth5ilxt-st-warning:#fab219;--mth5ilxt-st-serious:#ec835a;--mth5ilxt-st-critical:#d03b3b;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;background:var(--mth5ilxt-surface);color:var(--mth5ilxt-ink);border:1px solid var(--mth5ilxt-hair);border-radius:16px;padding:26px 20px 8px;margin:34px 0;width:min(1240px,96vw);max-width:96vw;margin-left:calc(50% - min(620px,48vw));box-sizing:border-box}@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .mth5ilxt{color-scheme:dark;--mth5ilxt-surface:#1a1a19;--mth5ilxt-surfaceAlt:#242422;--mth5ilxt-ink:#ffffff;--mth5ilxt-ink2:#c3c2b7;--mth5ilxt-ink3:#9b998f;--mth5ilxt-hair:#3a3a36;--mth5ilxt-soil:#242320;--mth5ilxt-soilLine:#4a453c;--mth5ilxt-bark:#a98a68;--mth5ilxt-barkLite:#c0a084;--mth5ilxt-s1:#3987e5;--mth5ilxt-s2:#d95926;--mth5ilxt-s3:#199e70;--mth5ilxt-st-good:#0ca30c;--mth5ilxt-st-warning:#fab219;--mth5ilxt-st-serious:#ec835a;--mth5ilxt-st-critical:#d03b3b;}}:root[data-theme="dark"] .mth5ilxt{color-scheme:dark;--mth5ilxt-surface:#1a1a19;--mth5ilxt-surfaceAlt:#242422;--mth5ilxt-ink:#ffffff;--mth5ilxt-ink2:#c3c2b7;--mth5ilxt-ink3:#9b998f;--mth5ilxt-hair:#3a3a36;--mth5ilxt-soil:#242320;--mth5ilxt-soilLine:#4a453c;--mth5ilxt-bark:#a98a68;--mth5ilxt-barkLite:#c0a084;--mth5ilxt-s1:#3987e5;--mth5ilxt-s2:#d95926;--mth5ilxt-s3:#199e70;--mth5ilxt-st-good:#0ca30c;--mth5ilxt-st-warning:#fab219;--mth5ilxt-st-serious:#ec835a;--mth5ilxt-st-critical:#d03b3b;}.mth5ilxt *{box-sizing:border-box}.mth5ilxt-hd{margin:0 6px 4px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--mth5ilxt-ink3);font-weight:700}.mth5ilxt-h{margin:2px 6px 6px;font-size:23px;line-height:1.24;font-weight:750;color:var(--mth5ilxt-ink)}.mth5ilxt-sub{margin:0 6px 18px;font-size:15px;line-height:1.55;color:var(--mth5ilxt-ink2);max-width:74ch}.mth5ilxt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mth5ilxt-svg{min-width:880px}.mth5ilxt-svg{display:block;width:100%;height:auto;max-width:1180px;margin:0 auto}@media (max-width:1000px){.mth5ilxt-hint{display:block}}@media (max-width:760px){.mth5ilxt{width:auto;max-width:none;margin-left:0}}.mth5ilxt-cta{margin:26px 4px 8px;border-top:1px solid var(--mth5ilxt-hair);padding-top:24px}.mth5ilxt-doors{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 8px}@media (max-width:720px){.mth5ilxt-doors{grid-template-columns:1fr}}.mth5ilxt-door{border:1px solid var(--mth5ilxt-hair);border-radius:14px;padding:20px 20px 18px;background:var(--mth5ilxt-surfaceAlt);display:flex;flex-direction:column}.mth5ilxt-door2{border-color:var(--mth5ilxt-s2);box-shadow:inset 0 0 0 1px var(--mth5ilxt-s2)}.mth5ilxt-dnum{margin:0 0 8px;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--mth5ilxt-ink3)}.mth5ilxt-dh{margin:0 0 8px;font-size:17.5px;font-weight:750;line-height:1.3;color:var(--mth5ilxt-ink)}.mth5ilxt-dp{margin:0 0 16px;font-size:14.5px;line-height:1.6;color:var(--mth5ilxt-ink2)}.mth5ilxt-btn{display:inline-block;text-align:center;font-size:14.5px;font-weight:700;line-height:1.25;padding:13px 18px;border-radius:10px;text-decoration:none;margin-top:auto;transition:filter .12s ease}.mth5ilxt-btn:hover{filter:brightness(1.08)}.mth5ilxt-btn:focus-visible{outline:3px solid var(--mth5ilxt-s1);outline-offset:2px}.mth5ilxt-btn1{background:var(--mth5ilxt-s2);color:#fff}.mth5ilxt-btn2{background:var(--mth5ilxt-s2);color:#fff}.mth5ilxt-dlinks{list-style:none;margin:14px 0 0;padding:0}.mth5ilxt-dlinks li{font-size:13.5px;line-height:1.55;margin:0 0 5px;padding-left:15px;position:relative;color:var(--mth5ilxt-ink2)}.mth5ilxt-dlinks li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:0 60% 0 60%;background:currentColor;opacity:.45}.mth5ilxt-dlinks a{color:var(--mth5ilxt-ink);text-decoration:none;border-bottom:1px solid var(--mth5ilxt-hair);font-weight:600}.mth5ilxt-dlinks a:hover{border-bottom-color:currentColor}.mth5ilxt-dlinks span{color:var(--mth5ilxt-ink3)}.mth5ilxt-trh{margin:26px 0 10px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--mth5ilxt-ink3);font-weight:700}.mth5ilxt-tw{overflow-x:auto}.mth5ilxt-tr{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}.mth5ilxt-tr th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mth5ilxt-ink3);font-weight:700;padding:0 12px 8px 0;border-bottom:1px solid var(--mth5ilxt-hair)}.mth5ilxt-tr td{padding:11px 12px 11px 0;border-bottom:1px solid var(--mth5ilxt-hair);color:var(--mth5ilxt-ink2);vertical-align:top;line-height:1.5}.mth5ilxt-tr td strong{color:var(--mth5ilxt-ink)}.mth5ilxt-tr a{color:var(--mth5ilxt-s1);text-decoration:none;font-weight:650;border-bottom:1px solid transparent}.mth5ilxt-tr a:hover{border-bottom-color:currentColor}.mth5ilxt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px}.mth5ilxt-det{margin:22px 0 6px;border:1px solid var(--mth5ilxt-hair);border-radius:12px;background:var(--mth5ilxt-surfaceAlt)}.mth5ilxt-det summary{cursor:pointer;padding:14px 18px;font-size:14px;font-weight:650;color:var(--mth5ilxt-ink);list-style-position:inside}.mth5ilxt-pre{margin:0;padding:0 18px 18px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--mth5ilxt-ink2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-height:520px;overflow:auto}.mth5ilxt-hint{display:none;font-size:12px;color:var(--mth5ilxt-ink3);margin:0 6px 8px}.mth5ilxt-svg text{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.mth5ilxt-name{font-size:15.5px;font-weight:700;fill:var(--mth5ilxt-ink)}.mth5ilxt-chip{font-size:9.5px;font-weight:700;letter-spacing:.07em}.mth5ilxt-price{font-size:11.5px;font-weight:650;fill:var(--mth5ilxt-ink2)}.mth5ilxt-cnt{font-size:11.5px;fill:var(--mth5ilxt-ink3)}.mth5ilxt-hl{font-size:10px;font-weight:650;letter-spacing:.04em;fill:var(--mth5ilxt-ink3)}.mth5ilxt-cntbig{font-size:19px;font-weight:750;fill:var(--mth5ilxt-ink3);opacity:.72}.mth5ilxt-bare{font-size:11px;font-weight:650;font-style:italic;fill:var(--mth5ilxt-ink3)}.mth5ilxt-root{font-size:12.5px;font-weight:600;fill:var(--mth5ilxt-ink2)}.mth5ilxt-off{fill:var(--mth5ilxt-ink3)}.mth5ilxt-zone{font-size:10px;font-weight:700;letter-spacing:.13em;fill:var(--mth5ilxt-ink3)}.mth5ilxt-crown{font-size:19px;font-weight:750;fill:var(--mth5ilxt-ink)}.mth5ilxt-crownsub{font-size:11.5px;fill:var(--mth5ilxt-ink3)}.mth5ilxt-node{cursor:pointer}.mth5ilxt-node rect{transition:filter .12s ease}.mth5ilxt-node:hover rect:first-of-type{filter:brightness(0.97)}.mth5ilxt-node:focus-visible rect:first-of-type{outline:3px solid var(--mth5ilxt-s1);outline-offset:2px}.mth5ilxt-lg{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 8px 4px;font-size:12.5px;color:var(--mth5ilxt-ink2)}.mth5ilxt-lg b{font-weight:700;color:var(--mth5ilxt-ink)}.mth5ilxt-sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:-1px}.mth5ilxt-out{margin:22px 4px 6px;border-top:1px solid var(--mth5ilxt-hair);padding-top:20px}.mth5ilxt-out h4{margin:0 0 14px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--mth5ilxt-ink3);font-weight:700}.mth5ilxt-out ul{list-style:none;margin:0;padding:0}.mth5ilxt-limb{margin:0 0 22px}.mth5ilxt-limbh{font-size:15px;font-weight:750;color:var(--mth5ilxt-ink);margin:0 0 2px;display:flex;align-items:center;gap:9px}.mth5ilxt-limbw{font-size:13px;color:var(--mth5ilxt-ink3);margin:0 0 12px 20px}.mth5ilxt-br{margin:0 0 12px 20px;padding-left:14px;border-left:2px solid var(--mth5ilxt-hair)}.mth5ilxt-brh{font-size:14.5px;font-weight:700;line-height:1.4}.mth5ilxt-brh a{color:var(--mth5ilxt-ink);text-decoration:none;border-bottom:1.5px solid var(--mth5ilxt-hair)}.mth5ilxt-brh a:hover{border-bottom-color:currentColor}.mth5ilxt-meta{font-size:12.5px;color:var(--mth5ilxt-ink3);margin:3px 0 6px}.mth5ilxt-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-left:8px;vertical-align:1px}.mth5ilxt-lf{list-style:none;margin:0;padding:0}.mth5ilxt-lf li{font-size:13.5px;line-height:1.5;margin:0 0 3px;padding-left:16px;position:relative;color:var(--mth5ilxt-ink2)}.mth5ilxt-lf li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:0 60% 0 60%;background:currentColor;opacity:.45}.mth5ilxt-lf a{color:var(--mth5ilxt-ink2);text-decoration:none;border-bottom:1px solid var(--mth5ilxt-hair)}.mth5ilxt-lf a:hover{color:var(--mth5ilxt-ink);border-bottom-color:currentColor}.mth5ilxt-note{font-size:13px;color:var(--mth5ilxt-ink3);margin:4px 0 0 0;font-style:italic}.mth5ilxt-fin{margin:18px 6px 14px;font-size:12.5px;color:var(--mth5ilxt-ink3);line-height:1.6}@media (max-width:760px){.mth5ilxt{padding:20px 12px 6px}.mth5ilxt-h{font-size:20px}}

The Ensitefulmarketing money tree

Every money page and hub on ensitefulmarketing.com, and the posts that feed each one

Drawn from the live internal links across 4 published posts and 8 pages, crawled 16 August 2026. Nothing is hand-placed: a branch is thick because posts link to it, and bare because none do.

Read it bottom-up.Roots — off-site proofTrunk — the domainHow we do it — the method hubsWhat we sell — the money pagesBare or broken — needs a leafBranch thickness = posts feeding it

Swipe the diagram sideways, or read the same tree as text below it.

The Ensitefulmarketing money treeA tree diagram of ensitefulmarketing.com. The trunk is the domain, each branch is a money page or definitive hub, and each leaf is a blog post that links up to it. The full structure is repeated as a text outline directly below this diagram.ON YOUR SITE — what you controlOFF YOUR SITE — what the market says (the roots)3PAGEAbout Ethan Van De Hey —Founder of EnsitefulThin3 posts feed this3PAGEFree Home ServicesMarketing AuditThin3 posts feed this3PAGEClient Results — ProofBeats PromisesThin3 posts feed this3PAGEContact EnsitefulMarketingThin3 posts feed this3PAGEIndustries We Serve —Built for the Home-ServiceThin3 posts feed thisbare — no posts link herePAGESample PageBare0 posts feed this3PAGEWhat We Do — Google Ads,Content, Dollar-a-Day forThin3 posts feed thisensitefulmarketing.com4 posts · 8 pages

The same tree in text — every node is a live link

How we do it — the method hubs

The definitive articles. Each one owns a concept, and every post that demonstrates that concept links up to it.

Sample PageBare

page · 0 posts link here

No posts link here yet.

What we sell — the money pages

The pages where someone books, buys or enrols. These are the branches the whole tree exists to feed.

Method: every published post and page was fetched through the WordPress REST API and its outbound internal links extracted from the rendered body. A leaf counts once per post, only when that post links to the branch URL. Redirects were followed and reported rather than silently merged. Crawled 16 August 2026.

Findings — each defect names a department

Defect Where Routes to
Bare branch Sample Page Content — one customer story per bare offer
Shallow roots ensitefulmarketing.com Entity / authority — Knowledge Panel and sameAs

Action list — 16 August 2026

Run this on your own site

Two doors, one diagnosis

This tree is a scan, and a scan is only worth running if it tells you which department to walk to. Both doors below start from the same diagnosis. Take the skill file and run it yourself, or have us run it and hand you the findings — either way the routing table underneath says where each finding goes.

1 · Do it yourself

Take the skill file and run it

A complete, runnable skill file — the five layers, the seven-step method, the six defects, and the nine-check QA gate. Hand it to Claude, ChatGPT, Gemini or any agent with read access to your site. Apache-2.0: copy it, fork it, ship it inside your own product.

Download map-your-money-tree.skill.md

2 · Have it run for you

Have an agent run it with you

The scan is only worth running if it tells you which department to walk to. Start at Free Home Services Marketing Audit — we crawl ensitefulmarketing.com, draw the tree, name the defects with the exact URLs and counts, and route you to whichever of the things below you actually need.

Go to Free Home Services Marketing Audit

What the scan finds, and which department it routes to

What your tree shows What it means Where it goes
A bare branch A live money page with zero posts linking to it. Nothing you have published has ever pointed a visitor at the thing you sell. Free Home Services Marketing Audit
A split URL Two live pages for one offer — usually a page and a post. Internal links divide between them and neither ranks as well as one would. Free Home Services Marketing Audit
Redirect tax Dozens or hundreds of internal links pointing at a URL that 301s somewhere else. It works, so nobody fixes it. Free Home Services Marketing Audit
A broken target Internal links pointing at a 404. Invisible in analytics, because nobody clicks a link they cannot see. Free Home Services Marketing Audit
An inverted tree Leaf counts fall as price rises. The cheapest offer carries the most proof and the most expensive carries none. Free Home Services Marketing Audit
A canopy with no branches Hundreds of posts linking to each other and almost nothing structural. Looks productive, converts nothing. Personal Brand Site Builder
Shallow roots No Knowledge Panel, no consistent sameAs, no third-party corroboration. The canopy is fine; the soil is loose. Knowledge Panels
map-your-money-tree.skill.md — the full skill file, verbatim (for agents and for copy-paste)
---
name: map-your-money-tree
description: Draw any website as a money tree — trunk (domain), limbs (offer groups), branches (money pages and definitive hubs), leaves (posts that link up to them) — measured from the site's real internal links, then diagnose the six defects a sitemap hides and output a dated publishing plan. Use when someone asks "which of my pages actually make money", "why isn't my content converting", "map my site", "audit my internal links", or when a monthly MAA needs a structural section.
author: Dennis Yu — BlitzMetrics / Local Service Spotlight
license: Apache-2.0
version: 1.0 (2026-08-15)
references:
  - https://blitzmetrics.com/money-tree/
  - https://blitzmetrics.com/seo-tree/
  - https://blitzmetrics.com/money-pages-vs-blog-posts/
  - https://blitzmetrics.com/maa/
  - https://blitzmetrics.com/9-triangles-framework-scalable-home-service-businesses/
  - https://localservicespotlight.com/quick-audit/
---

# Map Your Money Tree

**Use this when** you need to know which pages on a site actually earn, and which of the
content already published is feeding them. Not "how much traffic does this page get" —
*what is connected to what, and in which direction.*

This is the structural half of [MAA](https://blitzmetrics.com/maa/). The leaf counts are
the Metrics. The bare and split branches are the Analysis. The publishing list at the end
is the Action. Redraw it monthly and the delta is the report.

## The one idea

**A leaf counts only when it actually links.**

Not when it is topically related. Not when it sits in the right category. Not when someone
meant to link it. The link is the measurement; everything else is a plan. Every number this
skill produces must be reproducible by re-running the crawl.

---

## The five layers

| Layer | What it is | How you know |
|---|---|---|
| **Root** | Off-site proof of the entity: Knowledge Panel, Wikidata, LinkedIn, YouTube, podcast appearances, press, review profiles. | It is not on the domain and you cannot edit it directly. |
| **Trunk** | The domain and its home page — the entity home. | It is the URL you would put on a business card. |
| **Limb** | A group of branches sharing an audience or a job — the offers, the method, a vertical. | It is how the site's own services page already groups things. |
| **Branch** | A money page, or a definitive article that owns a concept. | Someone converts on it, or it is the one canonical page for a topic. |
| **Leaf** | A post that links **up** to a branch. | It is dated, it flows through a feed, and its body contains a link to its branch. |

Roots and trunk are **Why**. Limbs and method branches are **How**. Money branches are
**What**. Leaves are **Proof**. A stranger — or a language model — should be able to read
all four off one page.

---

## Inputs

- The domain.
- Read access to every published URL and its **rendered** body (not raw — page-builder and
  shortcode markup must be expanded so the links inside are visible).
- The site's own services page and main navigation, for the branch list and its grouping.
- Optional: the previous run's tree, for the delta.

---

## Procedure

### 1. Inventory every published URL
Posts and pages both, with id, URL, title, publish date, and rendered body.

On WordPress:
```
GET /wp-json/wp/v2/posts?per_page=100&page=N&status=publish&_fields=id,link,title,content,date
GET /wp-json/wp/v2/pages?per_page=100&page=N&status=publish&_fields=id,link,title,content,date
```
Page until the `X-WP-TotalPages` header runs out. On any other stack, use a crawler that
returns rendered HTML. De-duplicate by (type, id) — retried requests double-count silently.

### 2. Extract internal links from every body
Match `href` values on the site's own host. Normalise: drop the query string and fragment,
force a trailing slash, lower-case the host. **Make the set unique per source page** — a
post linking to the same branch five times is one leaf, because the first link is the one
that carries the value.

```js
const RX = /href="https?:\/\/(?:www\.)?example\.com(\/[^"#?]*)/g;
const outs = [...new Set([...html.matchAll(RX)].map(m => m[1].replace(/\/+$/,'') + '/'))];
```

For a personal brand site, also match the company domains — its money pages usually live
on another host, and they still count as branches.

### 3. Build the inbound index
Invert the map: for every URL, the list of posts and the list of pages that link to it.
Count them **separately**. Theme headers and footers are pages linking to pages; only body
links from posts are leaves.

### 4. Name the branches from the site, not from memory
Take the money pages off the services page and the main navigation, in the grouping those
pages already use. Add the definitive articles — the pages that own a concept. Do not
invent a tidier taxonomy than the one the site presents to a visitor: if your tree
disagrees with the navigation, the tree has just found its first defect.

### 5. Resolve redirects and duplicates before counting
Request each branch URL and follow the chain. Merge redirected URLs into one branch and
**report the merge** rather than hiding it. Two live 200s for one offer is a split branch,
not two branches. This is the step everyone skips and where most findings are.

### 6. Draw it to scale
Branch thickness and foliage density from the leaf count on a **square-root** scale, so a
300-leaf branch does not visually annihilate a 30-leaf one. Bare branches drawn bare.
Nothing placed by hand — if the drawing is prettier than the site, the drawing is lying.

### 7. Publish it on the site it maps
As a live page with every node a real link — never a screenshot. Ship three synchronised
forms on the same URL: the diagram (inline SVG), the identical structure as a **visible**
text outline, and `ItemList` JSON-LD naming each branch, its role, its content type and its
inbound count. The picture is for humans; the other two are for agents.

---

## The six defects — and where each one routes

Diagnosis is worthless without a destination. This is a scan that names the department.

| # | Defect | What it looks like | What it costs | Routes to |
|---|---|---|---|---|
| 1 | **Bare branch** | A live money page with zero posts linking to it | Nothing on the site has ever pointed a visitor at the thing you sell | Content — one customer story per bare offer |
| 2 | **Split branch** | Two live URLs for one offer (usually a page and a post) | Internal links divide; neither ranks as well as one would | Plumbing — pick one, 301 the other, consolidate |
| 3 | **Redirect tax** | Many internal links pointing at a URL that 301s | Every link takes the slow road; often includes the main nav | Plumbing — rewrite links to the destination |
| 4 | **Broken target** | Internal links pointing at a 404 | Invisible in analytics, because nobody clicks a link they cannot see | Plumbing — restore or repoint |
| 5 | **Inverted tree** | Leaf counts fall as price rises | The cheapest offer carries the most proof; the most expensive carries none | Strategy — decide what you are actually selling |
| 6 | **Canopy with no branches** | Hundreds of posts linking to each other and almost nothing structural | Looks enormously productive, converts nothing | Personal brand — wire the proof to an offer |

Also check the roots. A tree with no off-site proof — no Knowledge Panel, no consistent
`sameAs`, no third-party corroboration — is standing in loose soil no matter how good the
canopy looks. That routes to entity/authority work.

---

## The QA gate — nine checks, all must pass

A wrong tree is worse than no tree, because people act on it.

1. **Every node resolves.** Status recorded for each branch; no 404s; every 301 shown as a redirect rather than silently followed.
2. **Counts are reproducible.** Re-run the crawl; identical numbers. Drift means the extractor is matching something other than links.
3. **Counts are unique per source.** One post linking three times counts once.
4. **Navigation excluded.** Only body links from posts are leaves.
5. **No branch invented.** Every branch appears in the site's own navigation, services page, or definitive-article set.
6. **No money page missing.** Cross-check against the services page and main menu. A money page absent from the tree is the worst error — an invisible bare branch reads as a branch that does not exist.
7. **Duplicates consolidated.** Split URLs appear as one branch, flagged, with both URLs named.
8. **Text outline matches the diagram.** Same nodes, counts and order — that is what agents and screen readers read.
9. **Date and method stated.** A tree without a crawl date is a claim, not a measurement.

---

## Output

1. **The diagram** — inline SVG, every node an anchor, light/dark, no runtime JS.
2. **The text outline** — visible, nested, live links, counts, health flags.
3. **The schema** — `ItemList` JSON-LD, one entry per branch.
4. **The findings** — the defects above, each with the specific URLs and counts.
5. **The action list** — dated, ordered by cost-to-fix, one line per bare branch.
6. **The delta** — versus the previous run. Any branch still bare after a redraw is a branch nobody has decided to sell.

## Definition of done

- Every branch on the services page and main nav appears in the tree.
- Every count is reproducible and every URL resolves or is flagged.
- The page carries diagram + outline + schema on one URL.
- Every defect names a destination, not just a problem.
- The next publishing action is unambiguous to someone who did not run the audit.

## Cadence

Monthly on an active site. The value is in the delta, not the snapshot. A metric you look
at once is a screenshot.

---

*Method: <https://blitzmetrics.com/money-tree/> · Framework: <https://blitzmetrics.com/seo-tree/> ·
Page-versus-post rule: <https://blitzmetrics.com/money-pages-vs-blog-posts/> ·
Want it run for you: <https://localservicespotlight.com/quick-audit/>*

]]>
https://ensitefulmarketing.com/money-tree/feed/ 0
The Dennis Yu Method We Run: Dollar-a-Day, E-E-A-T, and the Content Factory https://ensitefulmarketing.com/dollar-a-day-eeat-content-factory/ https://ensitefulmarketing.com/dollar-a-day-eeat-content-factory/#respond Thu, 16 Jul 2026 22:26:09 +0000 https://ensitefulmarketing.com/?p=19 .wp-block-template-part,.wp-site-blocks>header,.wp-site-blocks>footer{display:none!important}body{margin:0!important;background:#F5F7FA}.wp-site-blocks,.entry-content,.wp-block-post-content,main.wp-block-group,.wp-block-group{padding:0!important;margin:0!important;max-width:none!important}.entry-content>*,.wp-block-post-content>*,.is-layout-constrained>*{max-width:none!important;margin-left:0!important;margin-right:0!important}.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important;margin-left:0!important;margin-right:0!important}h1.wp-block-post-title{display:none!important}.em-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#13293D;line-height:1.6;-webkit-font-smoothing:antialiased}.em-wrap *{box-sizing:border-box}.em-wrap a{text-decoration:none}.em-container{max-width:1120px;margin:0 auto;padding:0 22px}.em-nav-links a{color:#13293D;font-weight:600;font-size:14.5px;margin:0 11px}.em-nav-links a:hover{color:#0E8C8C}.em-grid{display:flex;flex-wrap:wrap;gap:18px}.em-card{background:#fff;border-radius:14px;padding:26px 22px;box-shadow:0 6px 24px rgba(11,37,69,.07);flex:1;min-width:240px}.em-chip{background:#fff;border:1.5px solid #DCE5EF;border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:#13293D}.em-btn{display:inline-block;background:#E76F51;color:#fff!important;padding:15px 32px;border-radius:10px;font-weight:800;font-size:16px}.em-btn:hover{background:#d45f42}.em-btn-ghost{display:inline-block;border:2px solid #0B2545;color:#0B2545!important;padding:13px 28px;border-radius:10px;font-weight:700;font-size:15px}.em-h2{font-size:30px;line-height:1.25;color:#0B2545;margin:0 0 10px;padding-left:14px;border-left:5px solid #0E8C8C}.em-kicker{font-size:12.5px;font-weight:800;letter-spacing:1.6px;color:#0E8C8C;text-transform:uppercase;margin-bottom:8px}@media(max-width:860px){.em-hero-flex{flex-direction:column}.em-nav-inner{flex-direction:column;gap:10px}.em-h2{font-size:24px}}

The Dennis Yu Method We Run: Dollar-a-Day, E-E-A-T, and the Content Factory

By Ethan Van De Hey, Founder

Ensiteful Marketing runs the methodology our CTO Dennis Yu has documented publicly for years. Nothing proprietary, nothing hidden — the edge is in the execution discipline, not a secret.

Dollar-a-Day

Dollar-a-Day is simple: put one dollar a day behind your best-performing content to reach your exact service area, repeatedly, for pennies. Local trades don’t need reach — they need the right 5,000 homeowners to see proof of competence twelve times.

E-E-A-T: the trust ledger

Google’s quality guidelines reward Experience, Expertise, Authoritativeness, and Trust. For a fence company, that isn’t a blog written by an intern — it’s your crew’s real installs, your reviews, your licenses, and your owner’s face, structured so both Google and AI assistants can verify who you are. That’s why our sites carry real schema, real bios, and real photos — never stock.

The Content Factory

Produce, process, post, promote. You produce reality: film the job, capture the review, answer the customer’s question on camera. The factory — increasingly staffed by AI agents Dennis builds — processes that footage into articles and clips, posts them where your customers look, and promotes the winners with Dollar-a-Day. One hour of your reality becomes a month of your marketing.

Why we show the playbook

Because the playbook was never the moat. Consistency is. Most businesses read this, nod, and never run week twelve. We run every week and put the score in writing — here’s exactly what that report looks like.

See the method applied to your business →

ENSITEFUL MARKETING

Home services marketing that makes your phone ring. Founded by Ethan Van De Hey, with Dennis Yu as Chief Technology Officer. Part of the Local Service Spotlight network.

Greater Milwaukee, Wisconsin · (920) 850-7156

© Ensiteful Marketing. All rights reserved.Privacy Policy · Terms · Built by BlitzMetrics AI agents
]]>
https://ensitefulmarketing.com/dollar-a-day-eeat-content-factory/feed/ 0
What a Weekly Google Ads Report Should Tell a Home-Service Owner https://ensitefulmarketing.com/what-a-weekly-google-ads-report-should-tell-you/ https://ensitefulmarketing.com/what-a-weekly-google-ads-report-should-tell-you/#respond Thu, 16 Jul 2026 22:26:09 +0000 https://ensitefulmarketing.com/?p=18 .wp-block-template-part,.wp-site-blocks>header,.wp-site-blocks>footer{display:none!important}body{margin:0!important;background:#F5F7FA}.wp-site-blocks,.entry-content,.wp-block-post-content,main.wp-block-group,.wp-block-group{padding:0!important;margin:0!important;max-width:none!important}.entry-content>*,.wp-block-post-content>*,.is-layout-constrained>*{max-width:none!important;margin-left:0!important;margin-right:0!important}.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important;margin-left:0!important;margin-right:0!important}h1.wp-block-post-title{display:none!important}.em-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#13293D;line-height:1.6;-webkit-font-smoothing:antialiased}.em-wrap *{box-sizing:border-box}.em-wrap a{text-decoration:none}.em-container{max-width:1120px;margin:0 auto;padding:0 22px}.em-nav-links a{color:#13293D;font-weight:600;font-size:14.5px;margin:0 11px}.em-nav-links a:hover{color:#0E8C8C}.em-grid{display:flex;flex-wrap:wrap;gap:18px}.em-card{background:#fff;border-radius:14px;padding:26px 22px;box-shadow:0 6px 24px rgba(11,37,69,.07);flex:1;min-width:240px}.em-chip{background:#fff;border:1.5px solid #DCE5EF;border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:#13293D}.em-btn{display:inline-block;background:#E76F51;color:#fff!important;padding:15px 32px;border-radius:10px;font-weight:800;font-size:16px}.em-btn:hover{background:#d45f42}.em-btn-ghost{display:inline-block;border:2px solid #0B2545;color:#0B2545!important;padding:13px 28px;border-radius:10px;font-weight:700;font-size:15px}.em-h2{font-size:30px;line-height:1.25;color:#0B2545;margin:0 0 10px;padding-left:14px;border-left:5px solid #0E8C8C}.em-kicker{font-size:12.5px;font-weight:800;letter-spacing:1.6px;color:#0E8C8C;text-transform:uppercase;margin-bottom:8px}@media(max-width:860px){.em-hero-flex{flex-direction:column}.em-nav-inner{flex-direction:column;gap:10px}.em-h2{font-size:24px}}

What a Weekly Google Ads Report Should Tell a Home-Service Owner

By Ethan Van De Hey, Founder

A weekly Google Ads report should tell you four things in plain English: how many calls you got and what each cost, what’s working, what needs your decision, and what your agency actually did. If your current report doesn’t answer those in two minutes, it’s hiding something.

1. The bottom line, first

Ours opens like this: “Ten calls this week at about $26 each, up from six last week and right back to the best pace of the month. Spend stayed essentially flat, so this is more calls for the same money.” One paragraph. No login required, no dashboard safari.

2. Rank loss versus budget loss

When you miss auctions, Google records why: your ad quality was too low, or your budget cap was hit. Those need opposite fixes. Quality problems are fixed with better ads and tighter keyword-to-ad relevance — free. Budget problems are fixed with money. An agency that can’t tell you which one is your constraint is guessing with your wallet. In one client account we cut rank-based losses from 66% to 44% in a month of quality work — before recommending a single extra dollar of budget.

3. The waste ledger

Every week we list the junk searches we blocked: TV repairs hitting an appliance campaign, carpet shampooers, people hunting a manufacturer’s warranty line. Small dollars weekly, big dollars yearly. If nobody is running negative-keyword rounds on your account, you are sponsoring strangers’ confusion.

4. The question back to you

The report should end with a CRM check: were those ten calls real jobs that booked? Ad platforms count conversions; only your schedule counts revenue. Closing that loop weekly is what lets the account learn what a good call looks like.

Want to see your account through this lens? The free audit includes an ads waste check.

ENSITEFUL MARKETING

Home services marketing that makes your phone ring. Founded by Ethan Van De Hey, with Dennis Yu as Chief Technology Officer. Part of the Local Service Spotlight network.

Greater Milwaukee, Wisconsin · (920) 850-7156

© Ensiteful Marketing. All rights reserved.Privacy Policy · Terms · Built by BlitzMetrics AI agents
]]>
https://ensitefulmarketing.com/what-a-weekly-google-ads-report-should-tell-you/feed/ 0
Why I Built Ensiteful Marketing for the Trades https://ensitefulmarketing.com/why-i-built-ensiteful-marketing/ https://ensitefulmarketing.com/why-i-built-ensiteful-marketing/#respond Thu, 16 Jul 2026 22:26:08 +0000 https://ensitefulmarketing.com/?p=17 .wp-block-template-part,.wp-site-blocks>header,.wp-site-blocks>footer{display:none!important}body{margin:0!important;background:#F5F7FA}.wp-site-blocks,.entry-content,.wp-block-post-content,main.wp-block-group,.wp-block-group{padding:0!important;margin:0!important;max-width:none!important}.entry-content>*,.wp-block-post-content>*,.is-layout-constrained>*{max-width:none!important;margin-left:0!important;margin-right:0!important}.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important;margin-left:0!important;margin-right:0!important}h1.wp-block-post-title{display:none!important}.em-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#13293D;line-height:1.6;-webkit-font-smoothing:antialiased}.em-wrap *{box-sizing:border-box}.em-wrap a{text-decoration:none}.em-container{max-width:1120px;margin:0 auto;padding:0 22px}.em-nav-links a{color:#13293D;font-weight:600;font-size:14.5px;margin:0 11px}.em-nav-links a:hover{color:#0E8C8C}.em-grid{display:flex;flex-wrap:wrap;gap:18px}.em-card{background:#fff;border-radius:14px;padding:26px 22px;box-shadow:0 6px 24px rgba(11,37,69,.07);flex:1;min-width:240px}.em-chip{background:#fff;border:1.5px solid #DCE5EF;border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:#13293D}.em-btn{display:inline-block;background:#E76F51;color:#fff!important;padding:15px 32px;border-radius:10px;font-weight:800;font-size:16px}.em-btn:hover{background:#d45f42}.em-btn-ghost{display:inline-block;border:2px solid #0B2545;color:#0B2545!important;padding:13px 28px;border-radius:10px;font-weight:700;font-size:15px}.em-h2{font-size:30px;line-height:1.25;color:#0B2545;margin:0 0 10px;padding-left:14px;border-left:5px solid #0E8C8C}.em-kicker{font-size:12.5px;font-weight:800;letter-spacing:1.6px;color:#0E8C8C;text-transform:uppercase;margin-bottom:8px}@media(max-width:860px){.em-hero-flex{flex-direction:column}.em-nav-inner{flex-direction:column;gap:10px}.em-h2{font-size:24px}}

Why I Built Ensiteful Marketing for the Trades

By Ethan Van De Hey, Founder

I started Ensiteful Marketing because I kept watching great home-service businesses pay for marketing they couldn’t measure, didn’t understand, and quietly suspected wasn’t working. Usually they were right.

I’m not a career agency guy. I managed a seven-figure marketing budget at one of Wisconsin’s biggest home-services companies — billboards, local radio, paid search, CRM nurture, all of it. When a hail storm hit, I was the one whose phone had to ring. That pressure teaches you what actually matters: not impressions, not brand lift decks — booked jobs.

Before that, I was a college student in Eau Claire cold-emailing Dennis Yu for feedback on a startup. He answered. Then he kept answering — through my MBA, through a law-firm marketing job where every proposal I wrote collected dust, through the decision to bet on myself. He tells that whole story in The Rise of Ethan Van De Hey, and today he’s this agency’s Chief Technology Officer.

Why the trades

Because that is where marketing is honest. A homeowner has a problem, grabs a phone, and either you ring or your competitor does. The same system — honest tracking, waste-blocking Google Ads, authority content, Dollar-a-Day amplification — works for every trade where that phone call happens: garage doors, fencing, appliance repair, HVAC, plumbing, and beyond. Ensiteful is where that system lives.

What you can hold me to

Every client gets a weekly report in plain English: the bottom line, what worked, what needs attention, what we did. If a week is soft, you’ll read that too. Marketing built on real numbers survives hard questions — marketing built on vibes doesn’t.

My rule hasn’t changed since my first campaign: make the phone ring. Period.

Start with the free audit →

ENSITEFUL MARKETING

Home services marketing that makes your phone ring. Founded by Ethan Van De Hey, with Dennis Yu as Chief Technology Officer. Part of the Local Service Spotlight network.

Greater Milwaukee, Wisconsin · (920) 850-7156

© Ensiteful Marketing. All rights reserved.Privacy Policy · Terms · Built by BlitzMetrics AI agents
]]>
https://ensitefulmarketing.com/why-i-built-ensiteful-marketing/feed/ 0
Hello world! https://ensitefulmarketing.com/hello-world/ https://ensitefulmarketing.com/hello-world/#comments Thu, 16 Jul 2026 22:07:53 +0000 https://ensitefulmarketing.com/?p=1 Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

]]>
https://ensitefulmarketing.com/hello-world/feed/ 1