Honey-Doers
← Links

Compass Exteriors Merge — I12

Rendered at build time from COMPASS_EXTERIORS_MERGE.md in the repo — edit the source file and rebuild to update this page.

Compass Exteriors Merge — I12

Version 1.8 · 2026-09-05 · Status: Phase 1 shipped, Phase 3 inbound-redirect reversal shipped, roofing-insurance/claims and four-season-decking clusters triaged, all four Open items resolved — remaining Phase 2 triage (~85-post category backlog) is the gate on Phase 3's outbound side.

Objective Retire compassexteriors.com entirely and absorb its service lines, content, and traffic into honey-doers.com, with zero net loss of lead capture. Compass Exteriors as a brand fully dissolves — Honey-Doers is the surviving brand, full stop.
Nature of work One-time domain consolidation + content migration + redirect engineering. Not a recurring lever, not an experiment arm.
Blocking Unblocks I10 Item 7 (roofing FAQ), parked in Search_Strategy.md specifically because writing new roofing content ahead of this merge would likely get redone.
Progress Site audited (2026-08-21) — live source at ../ce-com (own Astro repo, same stack as honey-doers.com): 9 service pages, 88 blog posts (Dec 2023–Feb 2026), no city pages. Presented to the owner 2026-08-26, not decided that day. Decided 2026-09-04 (business priority, not just a search-strategy call): all three Phase 0 decisions resolved as full consolidation — NAP → Lakeville, GBP → merge into the Lakeville profile, brand → dissolves entirely, no "formerly Compass Exteriors" carryover anywhere. Same session, a real Ahrefs pull replaced the 2026-08-21 manual backlink scan — see Backlink audit finding below. No code execution yet.
Next action Phase 1 shipped 2026-09-04: /services/roofing/, /services/siding-windows/, and /services/decks-exteriors/ are all live in src/data/services.ts, each with a supporting blog-post refresh. Phase 3's inbound half also shipped the same day: /our-services/roofing-and-exterior/ no longer forwards to Compass, now points at /services/roofing/. Same day: the 15-post roofing-insurance/claims cluster (2 Compass + 13 HD) fully triaged — 7 duplicate HD posts retired, the 2 Compass posts' unique content ported into the HD survivor ahead of their own retirement; project-gallery CTA/carousel hidden on all 3 exterior pages until real case studies exist (ServiceData.hasProjects); placehold.co placeholders on all 3 pages replaced with real CompanyCam job photos, then the Roofing and Siding & Windows images each swapped again for a dedicated hero shot where that trade is the clear subject. 2026-09-05: the four-season-decking soft overlap also resolved — HD's how-to-build-a-deck-to-withstand-all-four-seasons refreshed as survivor with Compass's material-comparison content merged in, Compass's post marked to retire into it. Remaining: Phase 2's ~85-post category backlog (see COMPASS_REDIRECT_MAP.md for sequencing — now on a 3×/week cadence with one exterior slot) and the rest of Phase 3 (outbound Compass→HD redirect map, built once Phase 2 resolves exact blog targets).

This file is self-contained. Ledger entry: I12 in Search_Strategy.md.


Problem

Honey-Doers runs two websites for one business. compassexteriors.com (Compass Exteriors) covers roofing, siding, windows, decks, gutters, insulation, doors, and storm damage — trades honey-doers.com had no service pages for at all until Phase 1 shipped 2026-09-04. Before that, /our-services/roofing-and-exterior/ on honey-doers.com forwarded to Compass (public/_redirects lines 83 and 341, plus the matching Pages Functions catch-alls in functions/our-services/[[catchall]].ts and functions/roofing-and-exterior.ts) — reversed the same day Phase 1 shipped, now pointing at /services/roofing/ instead.

Audited 2026-08-21 against the live source repo (../ce-com, relative to this repo — same Astro/ Markdown stack as honey-doers.com, so migration is closer to a merge than a rebuild):

Compass Exteriors honey-doers.com
Service pages 9 (roofing, siding, windows, decks, gutters, insulation, doors, storm-damage, free-inspection) 4 (kitchen, bath, basement, whole-home)
City×service pages 0 104 (I11)
Blog posts 88 (src/content/blog/*.md, Dec 2023 – Feb 2026, steady ~2/week cadence) 232
Address Elko/New Market, MN Lakeville, MN
Phone (952) 457-0894 (952) 985-5383
License # BC857474
FAQ schema, refresh cadence, GTM lead tracking None found I5t, I6, I1

Blog volume changes the shape of this project. 88 posts is closer to honey-doers.com's own 232-post archive than the earlier 3-post estimate (a WebFetch summary of the live /blog page badly undercounted — corrected here from the source repo) — dupe-checking, quality-triaging, and migrating 88 posts against TOPIC_MAP.md is Phase 2's real weight, not a side task. Some fraction of these are plausibly thin/dated (e.g., 2024 seasonal-tips posts) and better retired than migrated; that triage needs its own pass, not a blanket port.

This is a split NAP (different address, different phone, on top of a different domain) — a known source of local-pack confusion — and a second, untracked lead-capture surface: Compass's contact form isn't in the lead-log instrument at all, so B1–B3 (contract value, close rate, margin by service) have a blind spot for exteriors work regardless of how the rest of that program resolves.


Opportunity

Compass's service-page footprint is small (9 pages, no city pages) but its content archive is not — 88 blog posts is real inventory, actively maintained on a near-weekly cadence through at least Feb 2026. Folding both into a system that already runs 104 remediated city pages, live FAQPage schema, a decay-triggered refresh queue, and (once I1 ships) GTM lead tracking is still cheaper than building that machinery for Compass standalone — but the blog side means this is a genuine content-migration project (triage, dedupe, refresh-to-standard for whatever's kept), not a light lift. The honey-doers.com system is the one getting ongoing investment (I6, I11, E-series); every session spent improving or adding to Compass in place — including its own blog — is investment in a site that's going away.


Strategy

Absorb into the existing structure, don't bolt on a subdomain. A subdomain or a lightly-styled subdirectory would preserve Compass's page structure (9 thin, single-topic pages) — the opposite of what I11 spent a phase fixing on the city-page side. Exterior services should become first-class entries in src/data/services.ts, in the same one-deep-page-per-service pattern as kitchen/bath/ basement/whole-home, not a re-import of Compass's thinner structure.

Three decisions needed the business owner, not just engineering judgment, before Phase 1 starts — all three resolved 2026-09-04:

  1. NAP consolidation — decided: Lakeville. Exteriors work is listed under the Lakeville address/ phone. The Elko/New Market address does not persist for exteriors specifically.
  2. GBP handling — decided: merge into the Lakeville profile. Compass's Google Business Profile does not remain a legitimately separate service-area listing and is not retired-and-orphaned; it consolidates into the existing Lakeville profile.
  3. Brand persistence — decided: none. "Compass Exteriors" does not survive anywhere post-merge — no byline, no "formerly Compass Exteriors" continuity note. Honey-Doers is positioned as the superior, surviving brand. Migrated page copy and any customer-facing announcement should reflect a clean absorption, not a rebrand-with-legacy-mention.

Content & technical SEO strategy — how this folds into what's already running

Written 2026-09-04, alongside the redirect map (COMPASS_REDIRECT_MAP.md). The short version: mostly a merge into existing machinery, not a parallel system — but "adding services" is real added surface area, concentrated in three places below, not evenly distributed.

1. Service-page structure — decided, see the redirect map. Roofing, Siding & Windows, and Decks & Exteriors become first-class pages in src/data/services.ts, same one-deep-page-per-service pattern as kitchen/bath/basement/whole-home — not Compass's thinner 9-page structure. FAQ schema (the I5t pattern, 75dfbc9) and the responsive-image standard apply at launch, not retrofitted later — these three pages should ship already meeting the bar every other service page meets, not join the site below standard because the content already existed elsewhere.

2. City depth — do NOT build a city×service matrix for exteriors. I11 already collapsed the city×service model to two levels (location hub only, per LOCAL_PAGE_REMEDIATION.md §Level 2 collapse) — building a third, brand-new trade into the old three-level pattern would be re-adding the exact structure I11 spent a phase retiring. Exteriors should surface inside the existing location hub pages (a section or service-card entry, same shape kitchen/bath/basement/whole-home already get) once that hub work resumes, not as standalone /locations/<city>/roofing/ pages. This is already Phase 4 in the Action Plan below, sequenced after E1's 2026-10-14 read — no change, just reaffirming it now that the merge itself is unblocked.

3. Content migration is a third concurrent content stream — budget it deliberately. Two content programs already run on the standing Tue/Thu cadence: I6's legacy-refresh queue and I15's Ahrefs-gated basement push (currently paused on new moves until the 2026-09-23 read). Compass's 88-post triage adds a third. Don't let it silently eat I15's or I6's slots — same warning already on record for I6 vs. E1 in the Next section below. Practically: budget migrated/rebuilt exterior posts as their own allocation within the cadence (e.g., one exterior slot per week) once Phase 2 triage starts, rather than letting the largest backlog win by default.

4. The roofing-insurance/claims cluster is the single highest-value target — treat it as a real I15-style content-gap project, not a copy-merge. The redirect map's dupe-check found HD already has ~11 loosely-related roofing/insurance posts and Compass has 2 more, but neither is anchored by an actual roofing service page today (HD's /our-services/roofing-and-exterior/ currently just forwards to Compass; Compass's own roofing content is dated and generic). This is a genuine content gap, not a duplication problem to solve by picking a survivor — worth an Ahrefs pull (site-explorer-organic- keywords + keywords-explorer-overview against the merged keyword set, same method as I15's basement work) once Phase 1's /services/roofing/ page exists, to find the actual highest-value angle rather than defaulting to "keep the better of the two old posts." Window-installation (2 Compass + 1 HD post) and four-season-deck-materials (1 each) were smaller versions of the same call, lower priority — both resolved 2026-09-04 and 2026-09-05 respectively, see Version history.

5. New content created for the merged services (not migrated) goes through the I15 gate, same as any other new post — Ahrefs-validated demand/difficulty before drafting, per Search_Strategy.md's I15 entry. The migration itself doesn't bypass this discipline just because it's driven by a business deadline rather than a content-strategy choice.

6. E1 collision guard. None of the roofing/siding/decks work touches E1-treated pages, cities, or links (basement cluster only) — no special handling needed, flagged here only so a future session doesn't have to re-derive that it's clear.

7. Redirect implementation — Pages Functions, not public/_redirects. At ~100-URL scale, and given this repo's own documented _redirects reliability findings (REDIRECTS.md), implement the map in COMPASS_REDIRECT_MAP.md as Cloudflare Pages Functions at the Compass domain/hosting level, with scripts/functions-redirects.json updated to match and check-redirects.mjs re-run post-launch — same pattern the rest of this repo already uses.


Action plan

Phase 0 — Inventory & decisions

Phase 1 — Structural buildout

Phase 2 — Content migration

Phase 3 — Redirect engineering

Backlink audit finding — updated 2026-09-04 with real Ahrefs data

Method: Ahrefs MCP access (Site Explorer) pulled directly against compassexteriors.com, mode: subdomains, 2026-09-04. Supersedes the 2026-08-21 manual scan below — that scan's method (web-search + direct-fetch spot-checks) badly undercounted, the same failure pattern as this doc's own v1.0→v1.1 blog-post-count correction.

Headline numbers:

Metric Compass Exteriors Honey-Doers (E5 baseline, 2026-08-22)
Domain Rating 10 31
Live referring domains 475 (735 all-time) 444 (1.3K all-time)
Live backlinks 843 (1,873 all-time) 1.5K (7K all-time)
Organic keywords ranking 13
Organic traffic (est.) 8 visits/mo
Organic traffic value ~$27/mo (2,736¢)

The referring-domain count is deceptive — mostly nofollow syndication noise, not editorial links. The top 30 referring domains by DR include real mastheads (yahoo.com DR94, marthastewart.com DR88, southernliving.com DR86, thespruce.com DR90, apartmenttherapy.com DR87, bbb.org DR93, aol.com/aol.co.uk), but nearly all of them show dofollow_links: 0 and cluster tightly around first-seen dates of 2025-08-20 through 2025-08-22 — the signature of a syndicated PR/content-distribution placement (e.g. a HARO-style pickup or a wire release), not organic editorial linking. Real dofollow links exist but are modest: livingetc.com (DR78, 11 dofollow), fixr.com (DR78, 8), homebuilding.co.uk (DR75, 7), connectively.us (DR80, 4), apartmenttherapy.com/homesandgardens.com/gobankingrates.com/ housedigest.com (DR75–87, 2 each). A handful of the high-DR-looking domains are Ahrefs-flagged spam (pages.dev, za.com, itxoft.com, rankyour.website, factmags.com) and contribute nothing.

Organic footprint is negligible. 13 total ranking keywords, nearly all zero-to-low volume (top terms: "how to repair a broken window" 900/mo at position 26, "deck skirting ideas" 600/mo at position 23 — neither converting real traffic). Top page (what-happens-if-my-insurance-estimate-is- different-from-my-contractor) draws 4 estimated visits/mo. The domain's own branded query ("compass exteriors," 10/mo) ranks position 3. There is no meaningful non-brand organic presence to preserve.

What was previously found (BBB profile, Owens Corning contractor-profile page, bidroom.io directory listing) is confirmed as real but immaterial in the fuller picture — those are 3 of 475 referring domains, and not among the ones actually carrying dofollow link equity.

Read for Phase 0's purpose (sizing the stakes): the DR-10 site brings a much larger raw referring-domain count than the manual scan suggested, but a real Ahrefs pull confirms — with harder numbers, not just directionally — that link consolidation is not a meaningful reason to prioritize I12. The organic-traffic case is even weaker than the link case: 8 visits/mo and $27/mo in traffic value is not an asset worth engineering around. The case for I12 continues to rest entirely on the NAP/lead-funnel/content-management reasons in Outcomes — reinforced, not weakened, since there's no meaningful authority or traffic to protect through a careful redirect, which lowers the risk of the migration rather than raising the stakes.

Superseded: 2026-08-21 manual scan (kept for record per doc versioning rules)

Method: No Ahrefs/Moz/Semrush API access and no GSC credentials for the compassexteriors.com property (this repo's fetch-analytics-data.yml workflow is scoped to honey-doers.com only), so E5's two prescribed methods (GSC links report, free-tier checker) weren't directly available. Substituted a manual web-search scan for external pages mentioning or linking to compassexteriors.com, with spot-verification by fetching the candidate pages directly.

What was found, confirmed by direct fetch:

Referring domain Type Confirmed link to compassexteriors.com?
bbb.org BBB business profile Yes — fetched directly. A+ rating, but not BBB-accredited (the site's own "BBB A+ Accredited" claim conflates the two — worth a citation-accuracy fix regardless of merge timing)
owenscorning.com Manufacturer contractor-profile page (245368) Plausible — profile exists under "Compass Exteriors LLC," standard OC profile pages link out, but the fetched excerpt didn't render the outbound link to confirm
bidroom.io General-contractor directory listing Found via search, not independently verified — looks like a low-authority auto-generated directory

What was searched for and not found: no Minnesota-specific Compass Exteriors listing surfaced on Angi, HomeAdvisor, Houzz, Yelp, or Nextdoor. Site claims GAF/CertainTeed/Velux/IKO partnerships and "Google Guaranteed" status — not backlinks, relevant to Phase 4 citation cleanup only.

One data-accuracy flag, still relevant to the NAP-consolidation work: BBB lists the LLC's start date as 2023-05-05 while the site markets "20+ years" of experience (presumably principal experience predating the LLC — worth confirming before folding into honey-doers.com's own "founded 1996" framing in siteConfig.ts). Also: services.ts-adjacent audit notes recorded license BC857474; BBB and search results consistently show BC807474one of these two is a transcription error and needs verifying against the MN DLI license lookup before it's used in any migrated citation.

Phase 4 — City depth (deferred, not blocking the merge)

Phase 5 — Cutover & monitoring

Phase 6 — Retirement


Outcomes

Conceptual only — no dated source exists yet for any of these, per the house rule against ranking claims without one. This is what the work is for, to size whether it's worth doing, not a result.


Open items

All four resolved by the owner 2026-09-05 — see v1.7 for detail:


Version history

v1.8 — 2026-09-05

Four-season-decking soft overlap resolved (item 4's second, lower-priority half). HD's how-to-build-a-deck-to-withstand-all-four-seasons refreshed as the survivor with Compass's richer 5-material comparison table merged in; Compass's counterpart marked to retire into it — per-post disposition in COMPASS_REDIRECT_MAP.md. This was the last individually-flagged overlap cluster; all remaining Phase 2 work is the undifferentiated ~85-post category backlog (roofing/gutters/insulation/storm-insurance → /services/roofing/, windows/siding/doors → /services/siding-windows/, decks-patios/general-exterior/garage → /services/decks-exteriors/), worked in category rotation per COMPASS_REDIRECT_MAP.md's sequencing, 3×/week cadence with one exterior slot. No more individual cluster triage remains to be discovered — the next session should go straight to that backlog.

v1.7 — 2026-09-05

Owner resolved all four remaining Open items: license number is BC857474 (not BC807474); no fixed domain-retirement date — tied to Phase 5/6 completion instead; "BBB A+ Accredited" is an accurate claim to keep, not a citation-accuracy fix; the "20+ years" experience claim folds into honey-doers.com's existing "founded 1996" framing in siteConfig.ts rather than standing as its own exteriors-specific line. No code changes yet — these resolve what migrated content should say, applied when Phase 2 migration and any citation updates actually happen.

v1.6 — 2026-09-04

Phase 3's inbound half shipped: /our-services/roofing-and-exterior/'s Compass forward reversed to /services/roofing/ (public/_redirects both lines, functions/roofing-and-exterior.ts, functions/our-services/[[catchall]].ts, scripts/functions-redirects.json). Same day, the 15-post roofing-insurance/claims cluster (2 Compass + 13 HD) fully triaged — see COMPASS_REDIRECT_MAP.md's roofing-cluster table for the per-post disposition; the 2 Compass posts' unique content was ported into storm-damaged-roof-3-things-you-should-do-next before their own retirement, which is a Phase 3/Compass-domain action, not yet live. Also: project-gallery CTA and carousel hidden on all 3 new exterior service pages (ServiceData.hasProjects: false, ServicePageLayout.astro) — none of the three categories have tagged entries in src/data/projects.ts yet, and the carousel was silently falling back to unrelated kitchen/bath projects instead of showing nothing. Image polish on the same 3 pages: placehold.co placeholders swapped for real CompanyCam job photos (Shakopee roof/siding job, a fall-2022 deck build), then Roofing and Siding & Windows each swapped again for a dedicated hero shot where that trade is the clear subject (the original photo stayed in use on the other page). Blog cadence moving to 3×/week (one exterior slot) to start working the Phase 2 backlog — see COMPASS_REDIRECT_MAP.md's version history for the sequencing plan (resolve four-season-deck overlap first, then rotate roofing/siding-windows/decks-exteriors, quality-filtering before scheduling rather than porting the category lists in order). Outbound Compass→HD redirect map still unbuilt.

v1.5 — 2026-09-04

Phase 1 shipped: all 3 service pages (roofing, siding-windows, decks-exteriors) built in src/data/services.ts and wired into nav/blog categories, each paired with one supporting blog-post refresh (storm-damaged-roof-3-things-you-should-do-next, how-to-plan-a-window-installation-for-your-home, best-deck-designs-for-your-home) chosen via the primary-query gate against TOPIC_MAP.md and logged in CONTENT_VALUE_REGISTER.md. Targeting for each page grounded in Ahrefs keywords-explorer-overview pulls (roofing: storm-damage/insurance terms; siding-windows: "window replacement" at 68K vol/mo, difficulty 3; decks-exteriors: "how much does it cost to build a deck" at 2K vol, difficulty 22). COMPASS_REDIRECT_MAP.md updated to mark all 3 slugs live. Deliberately did not touch: /our-services/roofing-and-exterior/'s redirect target (Phase 3 concern), the remaining 87-post Phase 2 blog triage, or the two flagged HD-overlap clusters beyond the one post each that anchored the new pages.

v1.4 — 2026-09-04

Added COMPASS_REDIRECT_MAP.md: top-level pages and all 9 service pages mapped (3-page consolidation — Roofing, Siding & Windows, Decks & Exteriors — decided), all 88 blog posts categorized by target page, and a real dupe-check against HD's own 235-post archive (not just Compass-internal) surfaced two genuine overlap clusters (roofing-insurance/claims, window-installation) that Phase 2 needs to resolve first. Added a Content & technical SEO strategy section: no city× service matrix for exteriors (aligns with I11's already-collapsed 2-level model), migration is a third concurrent content stream needing deliberate cadence budgeting alongside I6/I15, the roofing-insurance cluster is a real content-gap opportunity worth an Ahrefs pull rather than a copy-merge, and new exterior content goes through the same I15 Ahrefs-gate as anything else.

v1.3 — 2026-09-04

All three Phase 0 decisions resolved by the business owner: full dissolution. NAP → Lakeville, GBP → merge into Lakeville profile, brand → Compass Exteriors disappears entirely, Honey-Doers positioned as the superior surviving brand. Unblocks Phase 1. Same session, the 2026-08-21 manual backlink scan was superseded with a real Ahrefs pull: DR 10 (vs. Honey-Doers' DR 31), 475 live referring domains but overwhelmingly nofollow syndication placements rather than editorial links, and only 8 organic visits/mo (~$27/mo traffic value) — confirms with hard numbers that link/traffic consolidation is not a meaningful reason to prioritize this initiative; the NAP/lead-funnel/content-management case stands on its own. Downgraded "Open items" — removed the now-resolved Phase 0 decisions, added two citation- accuracy flags (BBB-accreditation wording, "20+ years" vs. LLC start date) surfaced by the original audit but not yet actioned.

v1.2.1 — 2026-08-26

Phase 0 plan and the three open decisions (NAP, GBP, brand persistence) presented to the owner at the 2026-08-26 meeting (see MEETING_NOTES.md). None decided that day — still open, still blocking Phase 1.

v1.2 — 2026-08-21

Phase 0 backlink audit run (manual citation scan — no Ahrefs/Moz/Semrush API access, no GSC credentials for the Compass property). Finding: modest citation footprint (BBB, Owens Corning contractor profile, one low-authority directory), no meaningful link-equity asset found. Downgraded "Consolidated authority" in Outcomes from a leading justification to a minor one; flagged a license number discrepancy (BC857474 vs. BC807474) and a BBB-accreditation-claim inaccuracy on the live site as side findings, unrelated to the merge decision itself.

v1.1 — 2026-08-21

Corrected blog-post count from 3 to 88, after the user pointed to the live source repo (../ce-com) rather than relying on a WebFetch summary of the rendered /blog page, which undercounted badly. Content migration (Phase 2) and the redirect map (Phase 3) rescoped accordingly — this is now the largest piece of the merge, not a minor step. Superseded figure: "3 blog posts" throughout v1.0.

v1.0 — 2026-08-21

Initial scoping. Site audited via WebFetch against the live compassexteriors.com site (9 services, 3 posts — later found incorrect, see v1.1 — no city pages, separate NAP).