Uncategorized – Leo Pohlmann https://leopohlmann.com AI websites, visuals & automation — Cologne Sun, 06 Sep 2026 22:37:21 +0000 en-US hourly 1 https://wordpress.org/?v=7.1.2 Money Tree https://leopohlmann.com/money-tree/ Sun, 16 Aug 2026 11:39:07 +0000 https://leopohlmann.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-ink);color:var(--mth5ilxt-surface)}.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 Leopohlmann money tree

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

Drawn from the live internal links across 8 published posts and 12 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 hubsBare or broken — needs a leafBranch thickness = posts feeding it

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

The Leopohlmann money treeA tree diagram of leopohlmann.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)bare — no posts link herePAGEXmlrpc.PhpBare0 posts feed thisleopohlmann.com8 posts · 12 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.

Xmlrpc.PhpBare

page · 0 posts link here

No posts link here yet.

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 Xmlrpc.Php Content — one customer story per bare offer
Shallow roots leopohlmann.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 Xmlrpc.Php — we crawl leopohlmann.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 Xmlrpc.Php

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. Xmlrpc.Php
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. Xmlrpc.Php
Redirect tax Dozens or hundreds of internal links pointing at a URL that 301s somewhere else. It works, so nobody fixes it. Xmlrpc.Php
A broken target Internal links pointing at a 404. Invisible in analytics, because nobody clicks a link they cannot see. Quick Audit
An inverted tree Leaf counts fall as price rises. The cheapest offer carries the most proof and the most expensive carries none. Xmlrpc.Php
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://leopohlmann.com/money-tree/feed/ 0
Ein Ribeye im Timberjacks: Justin Sonnenreich trifft Dennis Yu https://leopohlmann.com/justin-sonnenreich-trifft-dennis-yu/ Mon, 27 Jul 2026 23:35:51 +0000 https://leopohlmann.com/?p=88

Ein Ribeye im Timberjacks: Justin Sonnenreich trifft Dennis Yu

Von Leo Pohlmann · 10. Juli 2026

Manche Vorstellungen passieren per Handschlag in einer Hotel-Lobby. Diese passierte über einem Ribeye — serviert in Gusspfannen, in einem Laden namens Timberjacks, einem amerikanischen Steakhouse mitten in Deutschland. Zwei Amerikaner, die sich zum ersten Mal auf dem falschen Kontinent treffen, mit mir und einem Tisch voller Steaks und Kölsch dazwischen.

Zwei Amerikaner in Deutschland

Timberjacks ist genau das, wonach es klingt: Beef, Beer und ein bisschen Rock ’n’ Roll, gebaut wie ein amerikanisches Blockhaus. Ribeye, Tomahawk, Burger — die Art Essen, die zwei Typen aus den Staaten ein paar tausend Kilometer von zu Hause heimisch fühlen lässt. Dennis Yu flog aus Las Vegas ein; Justin Sonnenreich kommt aus Washington, DC. Setz die beiden an einen Tisch, und das Gespräch startet praktisch von selbst.

Wer ist Justin Sonnenreich

Justin ist ein Seriengründer. Er startete Boosted Notify, eine Beratung, die Leuten half, an seltene Sneaker zu kommen, und verkaufte sie 2019. Dann gründete er Mission: Mentor mit, eine Bildungs-NGO, deren kostenloser virtueller Studienberater über zehntausend Schülern half, Stipendien zu finden — 2022 übernommen. Zwei Exits, bevor die meisten überhaupt entschieden haben, was sie machen wollen. Heute führt er Markit Advertising, eine Marketing- und PR-Agentur, die Marken und Gründern die Aufmerksamkeit verschafft, die sie sich verdient haben.

Warum dieser Tisch zählte

Da saßen sich also zwei Menschen zum ersten Mal gegenüber, die in derselben Welt leben — Reputation, Aufmerksamkeit, Dinge bauen, die den Launch überdauern. Dennis macht seit Jahren aus Personal Brands Motoren, die Google und Käufer wirklich sehen. Justin hat seine damit verbracht, Firmen rund um Online-Aufmerksamkeit zu bauen und zu verkaufen. Die Schnittmenge ist offensichtlich — und die erste Version dieses Gesprächs beim Steak mitzuerleben, war genau der Grund, dabei zu sein.

Die Website

Mein Teil daran ist kleiner und konkret: Ich habe Justins Personal-Brand-Website gebaut, justinsonnenreich.com. Dieselbe Idee wie hier — ein echtes Zuhause im Netz, mit KI gebaut und veröffentlicht, das die Geschichte eines Gründers dorthin bringt, wo die richtigen Leute (und die richtigen Maschinen) sie finden. Vorstellungen wie diese sind genau das, wofür solche Seiten da sind.

Zwei Amerikaner, ein Ribeye, ein sehr deutsches Bier. Kein schlechter Start für eine Beziehung.

English version: read it here

Mehr: Justin Sonnenreich · Dennis Yu · Netzwerk & BlitzMetrics

]]>
https://leopohlmann.com/justin-sonnenreich-trifft-dennis-yu/feed/ 0
Eine Woche in Deutschland mit Dennis Yu https://leopohlmann.com/eine-woche-in-deutschland-mit-dennis-yu/ Mon, 27 Jul 2026 23:35:49 +0000 https://leopohlmann.com/?p=87

Eine Woche in Deutschland mit Dennis Yu

Von Leo Pohlmann · 9. Juli 2026

Dennis Yu flog diese Woche von Las Vegas nach Deutschland, aus einem Hauptgrund: um mit mir vor Ort zu arbeiten. Wenn im Kalender wörtlich „Flug zu Leo“ steht, nimmt man die Woche ernst.

So sah es tatsächlich aus.

Der Morgen beginnt beim Bäcker

Wer noch nie einen deutschen Arbeitstag in einer richtigen Bäckerei begonnen hat, verpasst etwas. Frische Brötchen, noch warm aus dem Ofen, echter Kaffee und ein Tisch zum Ausbreiten. Einige der besten Gespräche der ganzen Woche entstanden beim Frühstück, bevor wir überhaupt einen Laptop aufgeklappt hatten — was als Nächstes zu bauen ist, was funktioniert, worauf ich zu Beginn achten sollte.

Lange Arbeits-Sessions

Der Kern der Woche war das Nebeneinandersitzen und die Arbeit tatsächlich machen — Videos schneiden, Content formen und die Systeme lernen, die Dennis und das Team von Local Service Spotlight betreiben. Es ist ein Unterschied, ob man jemandem über Zoom bei der Arbeit zusieht oder daneben sitzt, während er sie macht. Kleine Dinge — wie er entscheidet, was veröffentlichenswert ist, wie schnell er von der Idee zum Fertigen kommt — lernt man kaum anders.

Menschen treffen

Zwischen den Arbeits-Sessions kamen wir raus. Am meisten in Erinnerung bleibt mir das Treffen mit Jan Koch im Motorworld Köln — ein WordPress-Veteran, der heute KI-Agenten in deutschen Unternehmen aufbaut, und ein langjähriger Freund von Dennis. Gemeinsame Essen, viel Gehen und die Art unaufgeregtes Gespräch, das nur persönlich entsteht.

Was ich lerne

Ein paar Dinge setzen sich diese Woche fest:

  • Das Handwerk. Aus Rohmaterial eine Geschichte zu machen, die Menschen wirklich ansehen, ist eine Fähigkeit — und sie belohnt Wiederholung.
  • Personal Brand ist echte Arbeit, kein Glück. Die Leute um mich herum wurden nicht zufällig gefunden — sie haben es bewusst aufgebaut, ein veröffentlichtes Stück nach dem anderen.
  • Der Standard. Liefere das fertige Ding, nicht den Plan, es zu bauen. Das bleibt hängen.

Diese Seite ist mein eigener kleiner Anfang dabei. Danke an Dennis für die Woche — und dafür, persönlich vorbeizukommen, damit sie zählt.

English version: read it here

Mehr: Dennis Yu · Netzwerk & BlitzMetrics

]]>
https://leopohlmann.com/eine-woche-in-deutschland-mit-dennis-yu/feed/ 0
Jan Koch im Motorworld Köln getroffen https://leopohlmann.com/jan-koch-motorworld-koeln/ Mon, 27 Jul 2026 23:35:47 +0000 https://leopohlmann.com/?p=86

Jan Koch im Motorworld Köln getroffen

Von Leo Pohlmann · 9. Juli 2026

Diese Woche flog Dennis Yu aus Las Vegas ein, um Zeit mit mir hier in Deutschland zu verbringen — und eines der Highlights war das Treffen mit Jan Koch im Motorworld Köln.

Wer sich im WordPress-Umfeld auskennt, braucht bei Jan keine große Vorstellung. Er hat WP Mastery aufgebaut, den WP Agency Summit veranstaltet, der Agenturinhaber aus aller Welt zusammenbrachte, und bringt seit über einem Jahrzehnt Menschen bei, wie man rund um WordPress wirklich ein Geschäft führt. Heute ist er Gründer von KoBra Dataworks und bringt überwachte KI-Agenten in echten deutschen kleinen und mittleren Unternehmen zum Einsatz — keine Folien, sondern Agenten, die die langweilige Arbeit erledigen, die wirklich getan werden muss.

Er und Dennis kennen sich seit Jahren. Jan war eine der frühen Stimmen, die für Dennis’ Dollar-a-Day-Ansatz einstanden, als die meisten noch glaubten, man brauche ein riesiges Budget, um online zu zählen.

Warum Motorworld

Das Motorworld Köln ist ein alter Flughafenhangar, der zur Kathedrale der Autokultur wurde — Oldtimer, Kaffee und viel Glas und Stahl. Eine passende Kulisse für die Art Gespräch, das wir hatten: weniger über Tools, mehr darüber, wo KI wirklich nützlich ist und wo sie nur Lärm ist.

Was mir hängen blieb, war, wie ähnlich Jan und Dennis klingen, wenn sie darüber sprechen. Beide kommen immer wieder auf denselben Gedanken: Ein Agent ist nur dann etwas wert, wenn er echte Arbeit liefert. Keine Demo. Kein Plan. Das fertige Ding. Jan beweist das in deutschen Unternehmen; Dennis beweist es über eine ganze Flotte von Personal-Brand-Seiten (diese eingeschlossen — sie wurde von einem Claude-Agenten gebaut und veröffentlicht).

Was ich mitgenommen habe

Ich stehe ganz am Anfang. Zwischen zwei Menschen zu sitzen, die seit Jahren bauen, hieß für mich vor allem: zuhören — und filmen. Die Lektion, die ich mitnehme, ist einfach: Die, die bleiben, sind nicht die Lautesten in Sachen KI, sondern die, die sie still in Arbeit verwandeln, für die es sonst ein ganzes Team gebraucht hätte.

Danke an Jan für die Zeit und an Dennis für die Vermittlung. Mehr von der Reise in meiner Woche in Deutschland mit Dennis.

English version: read it here

Mehr: Jan Koch · Netzwerk & BlitzMetrics

]]>
https://leopohlmann.com/jan-koch-motorworld-koeln/feed/ 0
A Ribeye at Timberjacks: Justin Sonnenreich Meets Dennis Yu https://leopohlmann.com/justin-sonnenreich-meets-dennis-yu/ Fri, 10 Jul 2026 19:30:00 +0000 https://leopohlmann.com/justin-sonnenreich-meets-dennis-yu/ Leo Pohlmann with Dennis Yu and Justin Sonnenreich over ribeye steaks at Timberjacks
Ribeye at Timberjacks — with Dennis Yu and Justin SonnenreichRibeye im Timberjacks — mit Dennis Yu und Justin Sonnenreich

A Ribeye at Timberjacks: Justin Sonnenreich Meets Dennis Yu

By Leo Pohlmann · 10 July 2026

Some introductions happen over a handshake in a hotel lobby. This one happened over a ribeye — served in cast-iron pans at a place called Timberjacks, an American steakhouse dropped into Germany. Two Americans, meeting for the first time on the wrong continent, with me and a table full of steak and Kölsch between them.

Two Americans in Germany

Timberjacks is exactly what it sounds like: beef, beer, and a bit of rock ’n’ roll, built to look like an American blockhouse. Ribeye, tomahawk, burgers — the kind of food that makes two guys from the States feel at home a few thousand miles from it. Dennis Yu flew in from Las Vegas; Justin Sonnenreich is out of Washington, DC. Put them at the same table and the conversation basically starts itself.

Who is Justin Sonnenreich

Justin is a serial builder. He started Boosted Notify, a consulting business that helped people get their hands on rare sneakers, and sold it in 2019. Then he co-founded Mission: Mentor, an edtech nonprofit whose free virtual college counselor helped more than ten thousand students find scholarships — acquired in 2022. Two exits before most people finish deciding what they want to do. Today he runs Markit Advertising, a marketing and PR agency that gets brands and founders the attention they’ve earned.

Why this table mattered

So you had two people who live in the same world — reputation, attention, building things that outlast the launch — sitting across from each other for the first time. Dennis has spent years turning personal brands into engines that Google and buyers actually see. Justin has spent his building and selling companies around online attention. The overlap is obvious, and watching the first version of that conversation happen over steak was the whole point of being there.

The website

My part in it is smaller and concrete: I built Justin’s personal-brand site, justinsonnenreich.com. Same idea as this one — a real home on the internet, built and published with AI, that puts a founder’s story where the right people (and the right machines) can find it. Introductions like this are exactly what those sites are for.

Two Americans, one ribeye, one very German beer. Not a bad way to start a relationship.

Deutsche Fassung: hier lesen

More: Justin Sonnenreich · Dennis Yu · Network & BlitzMetrics

]]>
https://leopohlmann.com/justin-sonnenreich-meets-dennis-yu/feed/ 0
A Week in Germany with Dennis Yu https://leopohlmann.com/a-week-in-germany-with-dennis-yu/ Thu, 09 Jul 2026 23:39:06 +0000 https://leopohlmann.com/a-week-in-germany-with-dennis-yu/
Leo Pohlmann with Dennis Yu and Jan Koch at Motorworld in Cologne
With Dennis Yu and Jan Koch at Motorworld, CologneMit Dennis Yu und Jan Koch im Motorworld, Köln

A Week in Germany with Dennis Yu

By Leo Pohlmann · 9 July 2026

Dennis Yu flew from Las Vegas to Germany this week for one main reason: to work with me in person. When your calendar entry literally reads “Fly to see Leo,” you take the week seriously.

Here’s what it actually looked like.

Mornings start at the bakery

If you’ve never started a German workday at a proper Bäckerei, you’re missing out. Fresh Brötchen still warm from the oven, real coffee, and a table to spread out on. Some of the best conversations we had all week happened over breakfast before we’d opened a single laptop — what to build next, what’s working, what I should be paying attention to as I get started.

Long working sessions

The core of the week was sitting side by side and actually doing the work — cutting video, shaping content, and learning the systems Dennis and the Local Service Spotlight team run. There’s a difference between watching someone work over Zoom and sitting next to them while they do it. Small things — how he decides what’s worth publishing, how fast he moves from idea to shipped — are hard to pick up any other way.

Meeting people

Between the working sessions, we got out. The one I’ll remember most was meeting Jan Koch at Motorworld in Cologne — a WordPress veteran now building AI agents inside German companies, and a longtime friend of Dennis’s. Meals together, a lot of walking, and the kind of unhurried conversation that only happens in person.

What I’m learning

A few things are sinking in this week:

  • The craft. Turning raw footage into a story people actually watch is a skill, and it rewards reps.
  • Personal brand is real work, not luck. The people I’m around didn’t get found by accident — they built it deliberately, one published piece at a time.
  • The standard. Ship the finished thing, not a plan to build it. That one’s going to stick.

This site is my own small start on that. Thanks to Dennis for the week — and for showing up in person to make it count.

Deutsche Fassung: hier lesen

More: Dennis Yu · Network & BlitzMetrics

]]>
https://leopohlmann.com/a-week-in-germany-with-dennis-yu/feed/ 0
Meeting Jan Koch at Motorworld in Cologne https://leopohlmann.com/meeting-jan-koch-motorworld-cologne/ Thu, 09 Jul 2026 23:39:05 +0000 https://leopohlmann.com/meeting-jan-koch-motorworld-cologne/
Leo Pohlmann and Jan Koch in Cologne
With Jan Koch in Cologne, July 2026Mit Jan Koch in Köln, Juli 2026

Meeting Jan Koch at Motorworld in Cologne

By Leo Pohlmann · 9 July 2026

This week, Dennis Yu flew in from Las Vegas to spend time with me here in Germany — and one of the highlights was sitting down with Jan Koch at Motorworld in Cologne.

If you’ve spent any time in the WordPress world, Jan needs little introduction. He built WP Mastery, ran the WP Agency Summit that pulled agency owners together from all over the world, and has been teaching people how to actually run a business around WordPress for over a decade. These days he’s the founder of KoBra Dataworks, putting supervised AI agents to work inside real German small and mid-sized businesses — not slideware, but agents that do the boring work that actually needs doing.

He and Dennis go back years. Jan was one of the early voices who vouched for Dennis’s Dollar-a-Day approach back when most people still thought you needed a huge budget to matter online.

Why Motorworld

Motorworld Köln is an old airport hangar turned car-culture cathedral — classic cars, coffee, and a lot of glass and steel. It’s a fitting backdrop for the kind of conversation we had: less about tools, more about where AI is genuinely useful versus where it’s just noise.

What stuck with me was how similar Jan and Dennis sound when they talk about this. Both keep coming back to the same idea: an agent is only worth anything if it ships real work. Not a demo. Not a plan. The finished thing. Jan is proving that inside German companies; Dennis is proving it across a fleet of personal-brand sites (this one included — it was built and published by a Claude agent).

What I took away

I’m at the very start of this. Sitting between two people who’ve been building for years, my job was mostly to listen — and to film. The lesson I’m walking away with is simple: the people who last aren’t the loudest about AI, they’re the ones quietly turning it into work that would have taken a team.

Thanks to Jan for the time, and to Dennis for making the introduction. More from the trip in my week in Germany with Dennis.

Deutsche Fassung: hier lesen

More: Jan Koch · Network & BlitzMetrics

]]>
https://leopohlmann.com/meeting-jan-koch-motorworld-cologne/feed/ 0