Author: Ethan Van De Hey

  • Money Tree

    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/>*
    

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

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

    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
  • What a Weekly Google Ads Report Should Tell a Home-Service Owner

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

    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
  • Why I Built Ensiteful Marketing for the Trades

    Why I Built Ensiteful Marketing for the Trades

    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
  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!