1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png"><link rel="icon" type="image/png" sizes="192x192" href="/favicon-192.png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="manifest" href="/site.webmanifest"><meta name="theme-color" content="#0a1628"><link rel="canonical" href="https://bonsaimarketingcompany.com/services/local-seo/"><title>Local SEO Services in Sonoma County | Bonsai Marketing</title><meta name="description" content="Local SEO company for Santa Rosa, Petaluma, Rohnert Park and all of Sonoma County. We win the Google three-pack, the map and the phone: technical audit, on-page, citations, reviews and links, from a single location to a multi-location footprint."><meta property="og:title" content="Local SEO Services in Sonoma County | Bonsai Marketing"><meta property="og:description" content="Local SEO company for Santa Rosa, Petaluma, Rohnert Park and all of Sonoma County. We win the Google three-pack, the map and the phone: technical audit, on-page, citations, reviews and links, from a single location to a multi-location footprint."><meta property="og:url" content="https://bonsaimarketingcompany.com/services/local-seo/"><meta property="og:image" content="https://bonsaimarketingcompany.com/img/moss.webp"><meta property="og:type" content="website"><meta property="og:site_name" content="Bonsai Marketing"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@bonsaidigi"><meta name="twitter:title" content="Local SEO Services in Sonoma County | Bonsai Marketing"><meta name="twitter:description" content="Local SEO company for Santa Rosa, Petaluma, Rohnert Park and all of Sonoma County. We win the Google three-pack, the map and the phone: technical audit, on-page, citations, reviews and links, from a single location to a multi-location footprint."><meta name="twitter:image" content="https://bonsaimarketingcompany.com/img/moss.webp"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Inter:[email protected]&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><link rel="preload" as="image" href="/img/moss.webp" fetchpriority="high">
1<script>
vendor: 323 bytes, line 1
1(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
1GTM-TXPFRK2
vendor: 3 bytes, line 1
1');
1</script>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-3KT4C16M4V
vendor: 11 bytes, line 1
1"></script>
1<script>
vendor: 124 bytes, line 1
1window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '
1G-3KT4C16M4V
vendor: 3 bytes, line 1
1');
1gtag('config', 'AW-431756548');</script>
1<script>(function(){try{var FT='bmc_ft',LT='bmc_lt';function gc(n){var m=document.cookie.match('(?:^|; )'+n+'=([^;]*)');return m?decodeURIComponent(m[1]):'';}function sc(n,v,d){var e=new Date(Date.now()+d*864e5);document.cookie=n+'='+encodeURIComponent(v)+';expires='+e.toUTCString()+';path=/;SameSite=Lax';}var p=new URLSearchParams(location.search);var t={gclid:p.get('gclid')||'',utm_source:p.get('utm_source')||'',utm_medium:p.get('utm_medium')||'',utm_campaign:p.get('utm_campaign')||'',utm_term:p.get('utm_term')||'',utm_content:p.get('utm_content')||'',referrer:document.referrer||'',landing_page:location.pathname+location.search,ts:new Date().toISOString()};var sig=t.gclid||t.utm_source||t.utm_medium||t.utm_campaign;if(!gc(FT))sc(FT,JSON.stringify(t),90);if(sig)sc(LT,JSON.stringify(t),90);function gacid(){var m=document.cookie.match('(?:^|; )_ga=([^;]*)');if(!m)return '';var v=decodeURIComponent(m[1]).split('.');return v.length>=4?v.slice(-2).join('.'):'';}function fill(f){var r=gc(FT),ft=r?JSON.parse(r):{};function s(n,v){var el=f.querySelector('input[name="'+n+'"]');if(el)el.value=v||'';}s('gclid',ft.gclid||t.gclid);s('ga_client_id',gacid());s('utm_source',ft.utm_source);s('utm_medium',ft.utm_medium);s('utm_campaign',ft.utm_campaign);s('utm_term',ft.utm_term);s('utm_content',ft.utm_content);s('referrer',ft.referrer);s('landing_page',ft.landing_page);s('first_touch_at',ft.ts);}function init(){document.querySelectorAll('form[data-netlify="true"]').forEach(fill);}if(document.readyState!=='loading')init();else document.addEventListener('DOMContentLoaded',init);document.addEventListener('submit',function(e){var f=e.target;if(f&&f.matches&&f.matches('form[data-netlify="true"]'))fill(f);},true);}catch(e){}})();</script>
1<script>adroll_adv_id = "KKCKSBIR5NAOTNYOIBFZTV";adroll_pix_id = "QLVFP27OC5GFLPLBZ5RKWV";adroll_version = "2.0";(function(w, d, e, o, a) {w.adroll_tag_source = w.adroll_tag_source || "manual";w.__adroll_loaded = true;w.adroll = w.adroll || [];w.adroll.f = ['setProperties', 'identify', 'track', 'identify_email', 'get_cookie'];var roundtripUrl = "https://s.adroll.com/j/" + adroll_adv_id + "/roundtrip.js";var len = w.adroll.f.length;for (a = 0; a !== len; a++) {w.adroll[w.adroll.f[a]] = w.adroll[w.adroll.f[a]] || (function(n) { return function() { w.adroll.push([n, arguments]) } })(w.adroll.f[a])}e = d.createElement('script');o = d.getElementsByTagName('script')[0];e.async = 1;e.src = roundtripUrl;o.parentNode.insertBefore(e, o);})(window, document);adroll.track("pageView");</script>
1<script>
vendor: 389 bytes, line 1
1!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '
11171528413343685
vendor: 28 bytes, line 1
1');fbq('track', 'PageView');
1</script>
1<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1171528413343685&ev=PageView&noscript=1" alt="" /></noscript>
1<script nowprocket nitro-exclude type="text/javascript" id="sa-dynamic-optimization" data-uuid="2f4e8926-1c8b-4b06-8126-50a6d16a4715" src="https://digitaldojo.bonsaimarketingcompany.com/scripts/dynamic_optimization.js"></script>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"LocalBusiness","@id":"https://bonsaimarketingcompany.com/#organization","name":"Bonsai Marketing","url":"https://bonsaimarketingcompany.com","logo":"https://bonsaimarketingcompany.com/brand/logo-new.png","image":"https://bonsaimarketingcompany.com/showcase/after/home.png","description":"Bonsai Marketing is an AI search optimization and SEO agency in Santa Rosa, California, founded by Bryan Fikes. It runs local SEO and Google Business Profile programs for service businesses across Sonoma County, and generative engine optimization (GEO), answer engine optimization (AEO), national and multi-location SEO for franchise and nationwide brands, all measured on the BonsaiX platform across Google and the major AI assistants.","telephone":"+1-707-593-7539","email":"[email protected]","address":{"@type":"PostalAddress","addressLocality":"Sebastopol","addressRegion":"CA","postalCode":"95472","addressCountry":"US"},"founder":{"@id":"https://bonsaimarketingcompany.com/#person-bryan-fikes"},"foundingDate":"2021","knowsAbout":["Local SEO","Google Business Profile optimization","Google Ads","AI search optimization","AI search visibility","Generative engine optimization","Answer engine optimization","LLM visibility tracking","National SEO","Multi-location SEO","Franchise SEO","Entity authority","Content marketing","Conversion-focused web design","Internet marketing","Website design and development","Graphic design and brand identity","Software product development","Video production","AI voice and chat agents"],"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"opens":"00:00","closes":"23:59"}],"areaServed":[{"@type":"AdministrativeArea","name":"Sonoma County, California"},{"@type":"Country","name":"United States"}],"sameAs":["https://www.facebook.com/bonsaidigi/","https://www.instagram.com/bonsaimarketingcompany/","https://www.linkedin.com/company/bonsai-marketing-company","https://youtube.com/@BonsaiMarketingCompany","https://x.com/bonsaidigi","https://www.pinterest.com/bonsaidigi","https://www.tiktok.com/@bonsaimarketing","https://www.yelp.com/biz/bonsai-marketing-sebastopol"]},{"@type":"WebSite","@id":"https://bonsaimarketingcompany.com/#website","url":"https://bonsaimarketingcompany.com","name":"Bonsai Marketing","publisher":{"@id":"https://bonsaimarketingcompany.com/#organization"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://bonsaimarketingcompany.com/#person-bryan-fikes","name":"Bryan Fikes","jobTitle":"Founder & CEO","worksFor":{"@id":"https://bonsaimarketingcompany.com/#organization"},"url":"https://bonsaimarketingcompany.com/founder/","sameAs":["https://www.linkedin.com/in/bryanfikes/","https://bryanfikes.com"]}]}</script>
1<style> 2 :root { --promo-h: 2.75rem; } 3 @media (min-width: 640px) { :root { --promo-h: 3rem; } } 4 /* The nav is fixed at top-0 and floats over each page's hero, so nothing 5 reserves space for it â the promo bar can sit above it without moving 6 any page content. Two classes beats Tailwind's single .top-0. */ 7 html:not(.promo-off) .nav-bar { top: var(--promo-h); } 8 /* The bar takes real space rather than overlaying. Page content starts 9 below it, so every element already positioned relative to the nav â 10 the homepage LIVE badge at top-28, the [slug] breadcrumb at top-32 â 11 stays correct without being individually patched. Server-rendered, so 12 it costs no layout shift. */ 13 main { padding-top: var(--promo-h); } 14 html.promo-off { --promo-h: 0px; } 15 html.promo-off .promo-bar { display: none; } 16 </style> 17
17<script>(function(){try{if(localStorage.getItem('bmc_promo_bar_off')==='1')document.documentElement.classList.add('promo-off')}catch(e){}})();</script>
17<link rel="stylesheet" href="/_astro/global.Cnm5Fvxn.css"> 18<style>.svc-proof[data-astro-cid-tcy35dad]{transition:border-color .25s ease,background-color .25s ease}.svc-proof[data-astro-cid-tcy35dad]:hover,.svc-proof[data-astro-cid-tcy35dad]:focus-visible{border-color:color-mix(in srgb,var(--color-coral) 55%,transparent);background:var(--color-ink-2)}.svc-proof[data-astro-cid-tcy35dad]:focus-visible{outline:2px solid var(--color-teal-bright);outline-offset:2px}@media(prefers-reduced-motion:reduce){.svc-proof[data-astro-cid-tcy35dad] img[data-astro-cid-tcy35dad]{transition:none!important;transform:none!important}} 19</style> 20<link rel="stylesheet" href="/_astro/Layout.D0Adqy2D.css"></head> <body>
vendor: 68 bytes, line 20
20 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
20GTM-TXPFRK2
vendor: 83 bytes, line 20
20" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
20<div class="promo-bar" role="region" aria-label="Announcement" data-astro-cid-rv7bp5c7><div class="wrap promo-row" data-astro-cid-rv7bp5c7><a class="promo-link" href="https://answerslot.ai/?utm_source=bonsaimarketingcompany&utm_medium=referral&utm_campaign=bmc-answerslot-2026-08&utm_content=top-banner" aria-label="AnswerSlot â run a free AI visibility scan" data-astro-cid-rv7bp5c7><span class="promo-flag" data-astro-cid-rv7bp5c7>NEW</span><span class="promo-copy promo-copy--full" data-astro-cid-rv7bp5c7>Ask AI who to call in your trade â it names one business. <em class="promo-accent" data-astro-cid-rv7bp5c7>Is it you?</em></span><span class="promo-copy promo-copy--short" data-astro-cid-rv7bp5c7>AI names one business. <em class="promo-accent" data-astro-cid-rv7bp5c7>Is it you?</em></span><span class="promo-cta" data-astro-cid-rv7bp5c7><span class="promo-cta--full" data-astro-cid-rv7bp5c7>Free 60-second scan</span><span class="promo-cta--short" data-astro-cid-rv7bp5c7>Free scan</span><svg viewBox="0 0 16 10" width="14" height="9" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true" data-astro-cid-rv7bp5c7><path d="M1 5h13M10 1l4 4-4 4" data-astro-cid-rv7bp5c7></path></svg></span></a><button type="button" class="promo-close" data-promo-close aria-label="Dismiss announcement" data-astro-cid-rv7bp5c7><svg viewBox="0 0 12 12" width="11" height="11" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true" data-astro-cid-rv7bp5c7><path d="M1 1l10 10M11 1L1 11" data-astro-cid-rv7bp5c7></path></svg></button></div></div> <header id="site-nav" class="nav-bar fixed top-0 inset-x-0 z-50 text-[color:var(--color-paper)]"> <div class="wrap flex items-center justify-between nav-row"> <a href="/" class="flex items-center gap-4 group"> <!-- Intrinsic dimensions let the browser reserve the box before the webp 21 decodes. Without them the nav reflows on every cold load â sitewide CLS. --> <img src="/brand/logo-new.webp" alt="Bonsai Marketing" width="2500" height="2500" class="nav-logo w-auto"> <!-- Deferred to 1700px. Measured 2026-08-10: the desktop row needs 1459px 22 of content but only has (viewport â 128px padding) available, so from 23 lg (1024) to ~1690 the 8 links collided with the phone number â 24 "08 MOTION707-593-LAB 7539" â on every page. This block is 93px and 25 the phone is 101px; deferring both frees 194px, which fits 1440 with 26 room to spare. At â¥1700 the row is unchanged. --> <span class="font-mono text-xs tracking-widest uppercase opacity-60 hidden min-[1700px]:block border-l border-white/20 pl-4">Est. 2007<br>Sonoma CA</span> </a> <!-- 8 links need 1265px once the phone + Est. block defer (measured 27 2026-08-10); + 128px wrap padding = 1400px for a single clean row. 28 Below the threshold the mobile panel takes over rather than letting the 29 row wrap onto two lines. Was `lg` (1024), which produced the collision. 30 Raised 1400 -> 1420 on 2026-08-14: the Services caret adds ~14px 31 (10px glyph + 4px gap) and the old threshold left only 7px of headroom, 32 so at 1400-1413 the row would have collided again. --> <nav class="hidden min-[1420px]:flex items-center gap-6 xl:gap-8"> <a href="/work/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">01</span>Work </a><div class="relative group"> <a href="/services/" aria-haspopup="true" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">02</span>Services <svg class="w-2.5 h-2.5 opacity-50 transition-transform duration-200 group-hover:rotate-180 group-focus-within:rotate-180" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M1 1l4 4 4-4"></path></svg> </a> <!-- The pt-4 lives on the positioning wrapper, not the panel, so it 33 stays inside the hover target. Without that bridge the pointer 34 crosses dead space on the way down and the menu closes mid-travel. 35 focus-within is what makes it keyboard-reachable â tabbing into 36 any child opens it, so no JS state to keep in sync. --> <div class="absolute left-1/2 -translate-x-1/2 top-full pt-4 opacity-0 invisible translate-y-1 transition duration-200 group-hover:opacity-100 group-hover:visible group-hover:translate-y-0 group-focus-within:opacity-100 group-focus-within:visible group-focus-within:translate-y-0">
36 <div class="w-64 rounded-sm border border-white/10 bg-[#0a1628]/95 backdrop-blur-md shadow-[0_24px_48px_-24px_rgba(0,0,0,0.7)] py-2"> <a href="/services/local-seo/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">Local SEO</a><a href="/services/google-business-profile/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">Google Business Profile</a><a href="/services/ai-visibility/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">AI Visibility</a><a href="/services/paid-ads/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">Paid Ads</a><a href="/services/content-authority/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">Content & Authority</a><a href="/services/websites/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">Websites That Close</a><a href="/services/ai-communications-agent/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">AI Communications Agent</a><a href="/journal/top-national-seo-company-for-your-business-growth/" class="block px-4 py-2.5 text-sm text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)] hover:bg-white/5 transition-colors">National SEO</a> <a href="/services/" class="block mt-1 pt-3 pb-1 px-4 border-t border-white/10 font-mono text-[10px] tracking-widest uppercase opacity-60 hover:opacity-100 transition-opacity">All Services â</a> </div> </div> </div><a href="/sprints/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">03</span>Sprints </a><a href="/story/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">04</span>Studio </a><a href="/journal/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">05</span>Journal </a><a href="/team/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">06</span>Team </a><a href="/digital-dojo/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">07</span>Digital Dojo </a><a href="/motion-lab/" class="font-mono text-xs tracking-widest uppercase opacity-70 hover:opacity-100 transition-opacity flex items-center gap-2"> <span class="opacity-50">08</span>Motion Lab </a> </nav> <div class="hidden min-[1420px]:flex items-center gap-5"> <!-- Deferred to 1700px alongside the Est. block â see the note above. The 37 number stays reachable below that width: it's in the mobile panel, the 38 footer, and one tap from the adjacent CTA. --> <a href="tel:+17075937539" class="font-mono text-xs tracking-widest uppercase opacity-80 hover:opacity-100 transition-opacity hidden min-[1700px]:inline">707-593-7539</a> <a href="/#audit" class="inline-flex items-center gap-2 bg-[color:var(--color-coral)] hover:bg-[color:var(--color-coral-deep)] text-[color:var(--color-ink)] font-mono text-xs tracking-widest uppercase px-4 py-2.5 rounded-sm transition-colors"> <span class="w-1.5 h-1.5 rounded-full bg-[color:var(--color-ink)]" style="animation: pulse-dot 2s ease infinite"></span> 39Get AI Visibility Audit 40</a> </div> <button id="nav-toggle" class="min-[1420px]:hidden p-2" aria-label="Menu"> <svg class="w-6 h-6" fill="none" stroke="currentColor" stroke-width="1.5" viewB
40ox="0 0 24 24"><path d="M4 8h16M4 16h16"></path></svg> </button> </div> </header> <!-- The panel was `fixed inset-0` with no overflow rule, so on a phone the 8 41 links (text-5xl) plus the two buttons ran past the viewport and were simply 42 clipped â unreachable and unscrollable. h-[100dvh] tracks the *dynamic* 43 viewport so mobile browser chrome doesn't hide the last item, and 44 overscroll-contain stops the scroll bleeding into the page underneath. --> <div id="nav-panel" class="hidden fixed inset-0 z-40 bg-[#0a1628] text-[#e8e4d9] h-[100dvh] overflow-y-auto overscroll-contain"> <div class="wrap pt-32 pb-16"> <div class="space-y-1"> <div class="border-t border-white/10"> <a href="/work/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">01</span>Work </a> </div><div class="border-t border-white/10"> <a href="/services/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">02</span>Services </a> <!-- Always expanded rather than an accordion: the panel already 45 scrolls, and a tap-to-open row costs a tap on the one item a 46 prospect is most likely hunting for. --> 47 <div class="-mt-2 pb-5 pl-11 grid grid-cols-1 sm:grid-cols-2 gap-x-6"> <a href="/services/local-seo/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">Local SEO</a><a href="/services/google-business-profile/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">Google Business Profile</a><a href="/services/ai-visibility/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">AI Visibility</a><a href="/services/paid-ads/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">Paid Ads</a><a href="/services/content-authority/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">Content & Authority</a><a href="/services/websites/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">Websites That Close</a><a href="/services/ai-communications-agent/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">AI Communications Agent</a><a href="/journal/top-national-seo-company-for-your-business-growth/" class="block py-1.5 text-base text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]">National SEO</a> </div> </div><div class="border-t border-white/10"> <a href="/sprints/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">03</span>Sprints </a> </div><div class="border-t border-white/10"> <a href="/story/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">04</span>Studio </a> </div><div class="border-t border-white/10"> <a href="/journal/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">05</span>Journal </a> </div><div class="border-t border-white/10"> <a href="/team/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">06</span>Team </a> </div><div class="border-t border-white/10"> <a href="/digital-dojo/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">07</span>Digital Dojo </a> </div><div class="border-t border-white/10"> <a href="/motion-lab/" class="block py-5 font-display text-4xl sm:text-5xl"> <span class="font-mono text-xs tracking-widest opacity-40 mr-4">08</span>Motion Lab </a> </div> </div> <div class="mt-10 pt-8 border-t border-white/10"> <div class="eyebrow mb-4">Tools</div> <div class="grid grid-cols-1 sm:grid-cols-2 gap-2"> <a href="/founder-growth-engine/" class="block py-2.5 text-lg text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]"> Founder Growth Engine </a><a href="/agency-calculator/" class="block py-2.5 text-lg text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]"> Agency Calculator </a><a href="/bodhi-advisor/" class="block py-2.5 text-lg text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]"> Bodhi Advisor </a><a href="/foundation-assessment/" class="block py-2.5 text-lg text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]"> Foundation Assessment </a><a href="/free-audit/" class="block py-2.5 text-lg text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-paper)]"> Free AI Visibility Audit </a> </div> </div> <a href="/#audit" class="btn-solid mt-10">Get AI Visibility Audit â</a> <a href="tel:+17075937539" class="btn-outline mt-4">Call 707-593-7539</a> </div> </div>
47<script type="module">document.addEventListener("click",t=>{const e=t.target,n=document.getElementById("nav-panel");if(n){if(e.closest("#nav-toggle")){const s=n.classList.contains("hidden");n.classList.toggle("hidden"),document.documentElement.style.overflow=s?"hidden":"",document.body.style.overflow=s?"hidden":"",s&&(n.scrollTop=0);return}e.closest("#nav-panel a")&&(n.classList.add("hidden"),document.documentElement.style.overflow="",document.body.style.overflow="")}},!0);document.addEventListener("keydown",t=>{if(t.key!=="Escape")return;const e=document.getElementById("nav-panel");!e||e.classList.contains("hidden")||(e.classList.add("hidden"),document.documentElement.style.overflow="",document.body.style.overflow="")});(function(){const t=document.getElementById("site-nav");if(!t)return;const e=()=>{window.scrollY>24?t.classList.add("is-scrolled"):t.classList.remove("is-scrolled")};e(),window.addEventListener("scroll",e,{passive:!0})})();</script>
47 <main>
47<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://bonsaimarketingcompany.com/"},{"@type":"ListItem","position":2,"name":"Services","item":"https://bonsaimarketingcompany.com/services/"},{"@type":"ListItem","position":3,"name":"Local SEO","item":"https://bonsaimarketingcompany.com/services/local-seo/"}]}</script>
47
47<script type="application/ld+json">{"@context":"https://schema.org","@type":"Service","serviceType":"Local SEO","name":"Local SEO Services in Sonoma County | Bonsai Marketing","description":"Local SEO company for Santa Rosa, Petaluma, Rohnert Park and all of Sonoma County. We win the Google three-pack, the map and the phone: technical audit, on-page, citations, reviews and links, from a single location to a multi-location footprint.","provider":{"@type":"LocalBusiness","name":"Bonsai Marketing","url":"https://bonsaimarketingcompany.com","telephone":"+1-707-593-7539"},"areaServed":[{"@type":"AdministrativeArea","name":"Sonoma County, California"},{"@type":"Country","name":"United States"}],"url":"https://bonsaimarketingcompany.com/services/local-seo/"}</script>
47
47<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How long until I rank in the three-pack?","acceptedAnswer":{"@type":"Answer","text":"Honest answer: 60â120 days for most local terms in Sonoma County, depending on competition and your starting domain authority. Highly competitive niches like personal injury law or dental implants can take 6â9 months. We'll tell you the real timeline after the audit, not before."}},{"@type":"Question","name":"Do I really need citations in 2026? I thought those were dead.","acceptedAnswer":{"@type":"Answer","text":"Citations matter less than they did in 2015, but inconsistent NAP (name, address, phone) data still actively hurts rankings. We do a one-time cleanup to fix the damage, then maintain only the citations that move the needle."}},{"@type":"Question","name":"Can you guarantee #1 rankings?","acceptedAnswer":{"@type":"Answer","text":"No reputable SEO can. Anyone who guarantees #1 either doesn't understand Google or is lying. We guarantee process, transparency, and real reporting tied to phone calls â not vanity ranking screenshots."}},{"@type":"Question","name":"Do you do national SEO too?","acceptedA
47nswer":{"@type":"Answer","text":"Yes. Local is our bread and butter, but we've shipped national SEO for clients like Wandering Nurses (138 pages), MFTFinder, and Voice Bonsai (150 metro pages). Same playbook, larger surface area. Multi-location and franchise programs have their own pages under Local SEO, and national programs are scoped on our National SEO page."}},{"@type":"Question","name":"What if I already have an SEO company?","acceptedAnswer":{"@type":"Answer","text":"We'll do a free audit and tell you honestly whether they're doing the work. Sometimes the answer is 'they're doing fine, save your money.' Sometimes it's 'they're charging $3k/mo for citations from 2018.' Either way, you'll know."}}]}</script>
47 <section class="relative pt-40 pb-24 md:pt-56 md:pb-32 overflow-hidden" data-astro-cid-tcy35dad> <div class="absolute inset-0" data-astro-cid-tcy35dad> <img src="/img/moss.webp" alt="" class="w-full h-full object-cover opacity-25 duotone-teal" loading="eager" data-astro-cid-tcy35dad> <div class="absolute inset-0 bg-gradient-to-b from-[color:var(--color-ink)]/30 via-transparent to-[color:var(--color-ink)]" data-astro-cid-tcy35dad></div> </div> <div class="wrap relative" data-astro-cid-tcy35dad> <!-- breadcrumb --> <nav class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-8 flex items-center gap-3" aria-label="Breadcrumb" data-astro-cid-tcy35dad> <a href="/" class="hover:text-[color:var(--color-teal-bright)] transition-colors" data-astro-cid-tcy35dad>Home</a> <span class="opacity-40" data-astro-cid-tcy35dad>/</span> <a href="/services/" class="hover:text-[color:var(--color-teal-bright)] transition-colors" data-astro-cid-tcy35dad>Services</a> <span class="opacity-40" data-astro-cid-tcy35dad>/</span> <span class="text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Local SEO</span> </nav> <div class="grid md:grid-cols-12 gap-8 items-end" data-astro-cid-tcy35dad> <div class="md:col-span-9" data-astro-cid-tcy35dad> <div class="eyebrow mb-6 flex items-center gap-4" data-astro-cid-tcy35dad> <span class="w-2 h-2 bg-[color:var(--color-coral)] rounded-full" style="animation: pulse-dot 2s infinite" data-astro-cid-tcy35dad></span> 48[ 01 · Local SEO ] 49</div> <h1 class="type-mega" data-astro-cid-tcy35dad> Local SEO.<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>Engineered to win the searches that ring the phone.</span> </h1> <p class="mt-10 max-w-2xl text-xl md:text-2xl text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad> If you sell to people inside a 30-mile radius, Local SEO is the highest-ROI marketing channel on earth. Done right, it generates leads at $20â$80 per call instead of $200+ from paid ads. Done wrong, you bleed money on a website nobody finds. We've spent 26 years engineering local presence â for Sonoma County contractors and national brands alike â and we treat it like infrastructure, not vibes. </p> <div class="mt-10 flex flex-wrap gap-4" data-astro-cid-tcy35dad> <a href="/contact/" class="btn-solid" data-astro-cid-tcy35dad>Scope this service â</a> <a href="/free-audit/" class="btn-outline" data-astro-cid-tcy35dad>Free audit first</a> <a href="/journal/top-national-seo-company-for-your-business-growth/" class="btn-outline" data-astro-cid-tcy35dad>Multi-location, franchise or national? â</a> </div> </div> </div> </div> </section> <section class="py-16 md:py-20 border-t border-white/10 bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-8 items-end mb-10" data-astro-cid-tcy35dad> <div class="md:col-span-6" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ Specializations ]</div> <h2 class="type-xl leading-[1.02]" data-astro-cid-tcy35dad> 50Same discipline,<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>sharper scope.</span> </h2> </div> <div class="md:col-span-5 md:col-start-8 text-[color:var(--color-paper-dim)] text-base md:text-lg leading-relaxed" data-astro-cid-tcy35dad> 51Deeper pages for specific situations, from a single market to a national footprint. Pick the one that matches yours. 52</div> </div> <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-px bg-white/10" data-astro-cid-tcy35dad> <a href="/services/local-seo/multi-location-seo/" class="group block bg-[color:var(--color-ink-2)] hover:bg-[color:var(--color-ink-3)] p-7 transition-colors" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Scale</div> <h3 class="font-display text-2xl leading-tight mb-3 group-hover:text-[color:var(--color-teal-bright)] transition-colors" data-astro-cid-tcy35dad>Multi-Location SEO</h3> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Every market ranks. No market dilutes the brand.</p> <span class="mt-4 inline-block font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>Read â</span> </a><a href="/services/local-seo/franchise-seo/" class="group block bg-[color:var(--color-ink-2)] hover:bg-[color:var(--color-ink-3)] p-7 transition-colors" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Franchise</div> <h3 class="font-display text-2xl leading-tight mb-3 group-hover:text-[color:var(--color-teal-bright)] transition-colors" data-astro-cid-tcy35dad>Franchise SEO</h3> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Corporate owns the brand. Operators own the demand.</p> <span class="mt-4 inline-block font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>Read â</span> </a> </div> </div> </section> <section class="py-24 md:py-32 border-t border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-12" data-astro-cid-tcy35dad> <div class="md:col-span-4" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 01 · Why it matters ]</div> <h2 class="type-xl" data-astro-cid-tcy35dad> 53The case for<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>getting this right</span>. 54</h2> </div> <div class="md:col-span-7 md:col-start-6 space-y-8" data-astro-cid-tcy35dad> <div class="flex gap-6 pt-6 border-t border-white/10" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>01</span> <p class="text-lg md:text-xl leading-relaxed text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Google's three-pack â the map and the three local listings underneath â captures 44% of all clicks for local intent searches. Below it, the next 10 organic results split the remaining traffic. If you're not in the pack, you're invisible to the highest-intent prospects in your market.</p> </div><div class="flex gap-6 pt-6 border-t border-white/10" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>02</span> <p class="text-lg md:text-xl leading-relaxed text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>'Near me' searches have grown 900% in the past four years. Voice search compounds it. When someone shouts 'Hey Siri, plumber near me' at 11pm with a flooded basement, three businesses are getting that lead. We make sure you're one of them.</p> </div><div class="flex gap-6 pt-6 border-t border-white/10" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>03</span> <p class="text-lg md:text-xl leading-relaxed text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Local SEO compounds. Every citation, review, and link you build today still works in five years. Unlike paid ads, the meter doesn't reset to zero on the 1st of every month. This is why every smart local business eventually shifts spend from Ads â SEO once the foundation is right.</p> </div> </div> </div> </div> </section> <section class="py-24 md:py-32 bg-[color:var(--color-ink-2)] border-y border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-12 mb-16" data-astro-cid-tcy35dad> <div class="md:col-span-5" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 02 · What you get ]</div> <h2 class="type-xl" data-astro-cid-tcy35dad> 55Six deliverables.<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>One outcome.</span> </h2> </div> <div class="md:col-span-6 md:col-start-7 text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> 56Every engagement ships these. No ambiguity, no scope drift, no 57 'we'll get to that later.' If it's listed below, it's part of the work. 58</div> </div> <div class="grid md:grid-cols-2 gap-px bg-white/10" data-astro-cid-tcy35dad> <div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>01</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Technical SEO audit + fixes (Core Web Vitals, schema, crawlability)</span> </div><div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>02</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>On-page optimization across service + location pages</span> </div><div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>03</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>NAP citation building + directory cleanup</span> </div><div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>04</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Review acquisition system (Google, Yelp, BBB)</span> </div><div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>05</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Local link building + authority acquisition</span> </div><div class="bg-[color:var(--color-ink-2)] p-8 flex gap-6 items-start hover:bg-[color:var(--color-ink-3)] transition-colors" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest text-[color:var(--color-coral)] pt-1 shrink-0" data-astro-cid-tcy35dad>06</span> <span class="text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Monthly rank tracking + call attribution</span> </div> </div> </div> </section> <section class="py-24 md:py-32" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 03 · Process ]</div> <h2 class="type-xl mb-16" data-astro-cid-tcy35dad> 59Four phases.<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>No mystery.</span> </h2> <div class="grid md:grid-cols-4 gap-px bg-white/10" data-astro-cid-tcy35dad> <div class="bg-[color:var(--color-ink)] p-8 min-h-[260px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-4" data-astro-cid-tcy35dad>01 â</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Audit</h3> <p class="text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>30-day deep audit: technical, on-page, off-page, GBP, citation health, competitor gap, conversion path. You get a written diagnosis with prioritized fixes.</p> </div><div class="bg-[color:var(--color-ink)] p-8 min-h-[260px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-4" data-astro-cid-tcy35dad>02 â</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Fix the foundation</h3> <p class="text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Site speed, schema, internal linking, location pages, on-page copy. We fix what's broken before we build new.</p> </div><div class="bg-[color:var(--color-ink)] p-8 min-h-[260px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-4" data-astro-cid-tcy35dad>03 â</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Build authority</h3> <p class="text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Citation cleanup, local link building, review velocity, content depth. The compounding work that actually moves rankings.</p> </div><div class="bg-[color:var(--color-ink)] p-8 min-h-[260px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-4" data-astro-cid-tcy35dad>04 â</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Measure & prune</h3> <p class="text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Monthly rank reports tied to call data, not just keywords. We kill what isn't working and double down on what is.</p> </div> </div> </div> </section> <section class="py-20 md:py-24 bg-[color:var(--color-ink-2)] border-t border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-10 md:gap-12" data-astro-cid-tcy35dad> <div class="md:col-span-4" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 04 · Engagement ]</div> <h2 class="type-xl leading-[1.02]" data-astro-cid-tcy35dad> 60What working<br data-astro-cid-tcy35dad> 61with us <span class="italic-ornament text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>feels like</span>. 62</h2> </div> <div class="md:col-span-7 md:col-start-6" data-astro-cid-tcy35dad> <div class="p-6 md:p-8 border border-white/10 mb-6" data-astro-cid-tcy35dad> <div class="eyebrow mb-3 text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>Cadence</div> <p class="text-lg leading-relaxed text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Monthly retainer. Deep audit up front (weeks 1â4), steady optimization cadence from month two forward.</p> </div> <div class="p-6 md:p-8 border border-white/10 mb-6" data-astro-cid-tcy35dad> <div class="eyebrow mb-4 text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>Touchpoints</div> <ul class="space-y-3" data-astro-cid-tcy35dad> <li class="flex gap-3 text-base md:text-lg leading-snug text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-teal-bright)] shrink-0" data-astro-cid-tcy35dad>â</span> <span data-astro-cid-tcy35dad>Kickoff call with Bryan â 60 min, strategy + priority alignment</span> </li><li class="flex gap-3 text-base md:text-lg leading-snug text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-teal-bright)] shrink-0" data-astro-cid-tcy35dad>â</span> <span data-astro-cid-tcy35dad>Written monthly report â what shipped, what moved, what's next</span> </li><li class="flex gap-3 text-base md:text-lg leading-snug text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-teal-bright)] shrink-0" data-astro-cid-tcy35dad>â</span> <span data-astro-cid-tcy35dad>Slack / email channel â ad-hoc questions answered same day</span> </li><li class="flex gap-3 text-base md:text-lg leading-snug text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-teal-bright)] shrink
62-0" data-astro-cid-tcy35dad>â</span> <span data-astro-cid-tcy35dad>Quarterly strategy review â roadmap adjustment, goal reset</span> </li> </ul> </div> <div class="p-6 md:p-8 border border-white/10" data-astro-cid-tcy35dad> <div class="eyebrow mb-3 text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>Reporting</div> <p class="text-lg leading-relaxed text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Rank tracking tied to call data, not just keywords. You see the map-pack positions that matter plus the call volume they're producing.</p> </div> </div> </div> </div> </section> <section class="py-20 md:py-24 border-t border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-10 md:gap-12 mb-12" data-astro-cid-tcy35dad> <div class="md:col-span-5" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 05 · Expected outcomes ]</div> <h2 class="type-xl leading-[1.02]" data-astro-cid-tcy35dad> 63What you can<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-teal-bright)]" data-astro-cid-tcy35dad>realistically expect</span>. 64</h2> </div> <div class="md:col-span-6 md:col-start-7 text-[color:var(--color-paper-dim)] text-base md:text-lg leading-relaxed self-end" data-astro-cid-tcy35dad> 65Honest milestones, not sales promises. Exact timelines vary by starting position, competition, and how quickly decisions get made â but this is the shape of a typical engagement. 66</div> </div> <div class="grid md:grid-cols-4 gap-px bg-white/10" data-astro-cid-tcy35dad> <div class="bg-[color:var(--color-ink)] p-6 md:p-8 min-h-[200px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Day 30</div> <p class="text-base md:text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Audit delivered. Prioritized fix list. Technical + on-page issues ranked by impact.</p> </div><div class="bg-[color:var(--color-ink)] p-6 md:p-8 min-h-[200px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Day 60</div> <p class="text-base md:text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Foundation fixes live â Core Web Vitals, schema, on-page, citation cleanup in motion.</p> </div><div class="bg-[color:var(--color-ink)] p-6 md:p-8 min-h-[200px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Day 90</div> <p class="text-base md:text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>First measurable rank movement on primary service + location keywords.</p> </div><div class="bg-[color:var(--color-ink)] p-6 md:p-8 min-h-[200px] flex flex-col" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] mb-3" data-astro-cid-tcy35dad>Month 6</div> <p class="text-base md:text-lg leading-snug text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Map-pack positions on core local terms. Call volume from organic up meaningfully vs. baseline.</p> </div> </div> </div> </section> <section class="py-20 md:py-24 bg-[color:var(--color-ink-2)] border-y border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-10 md:gap-12 mb-12" data-astro-cid-tcy35dad> <div class="md:col-span-5" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 06 · Engagement tiers ]</div> <h2 class="type-xl leading-[1.02]" data-astro-cid-tcy35dad> 67Three ways<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>to work together</span>. 68</h2> </div> <div class="md:col-span-6 md:col-start-7 text-[color:var(--color-paper-dim)] text-base md:text-lg leading-relaxed self-end" data-astro-cid-tcy35dad> 69Different businesses need different engagement sizes. The tiers below are framing, not pricing â every scope is priced after a discovery call. Anchored to fit, not to package. 70</div> </div> <div class="grid md:grid-cols-3 gap-5 md:gap-6" data-astro-cid-tcy35dad> <div class="relative p-6 md:p-7 border transition-colors border-white/10 bg-[color:var(--color-ink)] hover:border-[color:var(--color-coral)]" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-2" data-astro-cid-tcy35dad>Tier 01</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Foundation</h3> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed mb-5" data-astro-cid-tcy35dad> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] block mb-1" data-astro-cid-tcy35dad>Fit</span> Broken basics â slow site, bad schema, inconsistent NAP, no review system. </p> <div class="mb-5" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-2" data-astro-cid-tcy35dad>Includes</div> <ul class="space-y-2" data-astro-cid-tcy35dad> <li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Technical audit + fixes</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>On-page foundation</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Citation cleanup</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Review acquisition scaffolding</span> </li> </ul> </div> <div class="pt-4 border-t border-white/10" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-1" data-astro-cid-tcy35dad>Shape</div> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>3-month sprint to unbreak the foundation. No ongoing retainer â the goal is to hand back a working base.</p> </div> </div><div class="relative p-6 md:p-7 border transition-colors border-[color:var(--color-coral)] bg-[color:var(--color-ink-3)]" data-astro-cid-tcy35dad> <div class="absolute -top-3 left-6 px-3 py-1 bg-[color:var(--color-coral)] text-[color:var(--color-ink)] font-mono text-[10px] tracking-widest uppercase" data-astro-cid-tcy35dad> 71Most common 72</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-2" data-astro-cid-tcy35dad>Tier 02</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Growth</h3> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed mb-5" data-astro-cid-tcy35dad> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] block mb-1" data-astro-cid-tcy35dad>Fit</span> Foundation is solid â now we want to win the 3-pack and rank 2â5 miles wider than the home city. </p> <div class="mb-5" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-2" data-astro-cid-tcy35dad>Includes</div> <ul class="space-y-2" data-astro-cid-tcy35dad> <li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Everything in Foundation, maintained</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Monthly content + on-page expansion</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Local link building</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Monthly rank + call reporting</span> </li> </ul> </div> <div class="pt-4 border-t border-white/10" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-1" data-astro-cid-tcy35dad>Shape</div> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Ongoing retainer. Target: compounding organic lead flow over 6â12 months.</p> </div> </div><div class="relative p-6 md:p-7 border transition-colors border-white/10 bg-[color:var(--color-ink)] hover:border-[color:var(--color-coral)]" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-2" data-astro-cid-tcy35dad>Tier 03</div> <h3 class="font-display text-2xl md:text-3xl mb-4" data-astro-cid-tcy35dad>Scale</h3> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed mb-5" data-astro-cid-tcy35dad> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] block mb-1" data-astro-cid-tcy35dad>Fit</span> Multi-city or multi-location â we need to win across a region without diluting any single market. </p> <div class="mb-5" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-2" data-astro-cid-tcy35dad>Includes</div> <ul class="space-y-2" data-astro-cid-tcy35dad> <li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Everything in Growth</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Per-location strategy + pages</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Multi-market rank tracking</span> </li><li class="flex gap-2 text-sm text-[color:var(--color-paper)] leading-snug" data-astro-cid-tcy35dad> <span class="text-[color:var(--color-coral)] shrink-0" data-astro-cid-tcy35dad>â¦</span> <span data-astro-cid-tcy35dad>Dedicated project manager (still Bryan, but with a structured cadence)</span> </li> </ul> </div> <div class="pt-4 border-t border-white/10" data-astro-cid-tcy35dad> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-teal-bright)] mb-1" data-astro-cid-tcy35dad>Shape</div> <p class="text-sm text-[color:var(--color-paper-dim)] leading-relaxed" data-astro-cid-tcy35dad>Enterprise retainer. Scaled to location count, market density, and competitive landscape.</p> </div> </div> </div> <div class="mt-8 text-sm text-[color:var(--color-paper-dim)] font-mono tracking-widest uppercase" data-astro-cid-tcy35dad> <span class="block mb-3 text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Same playbook at a larger surface area: multi-location, franchise and national SEO programs. <a href="/journal/top-national-seo-company-for-your-business-growth/" class="text-[color:var(--color-coral)] hover:text-[color:var(--color-teal-bright)] transition-colors" data-astro-cid-tcy35dad>Multi-location, franchise or national? â</a> </span> 73Not sure which tier fits? <a href="/contact/" class="text-[color:var(--color-teal-bright)] hover:text-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad>Run the visibility check â</a> we'll recommend. 74</div> </div> </section>
74 <section class="py-20 bg-[color:var(--color-ink-2)] border-y border-white/10" data-astro-cid-tcy35dad> <div class="wrap grid md:grid-cols-12 gap-8 items-center" data-astro-cid-tcy35dad> <div class="md:col-span-4" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 07 · Proof ]</div> <div class="font-display text-7xl md:text-8xl text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>26+</div> <div class="eyebrow mt-3" data-astro-cid-tcy35dad>Years of local search wins</div> </div> <div class="md:col-span-7 md:col-start-6 border-l-2 border-[color:var(--color-coral)] pl-6 py-4" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-3" data-astro-cid-tcy35dad>CASE</div> <p class="font-display text-2xl md:text-3xl leading-snug" data-astro-cid-tcy35dad>Wandering Nurses â 138 pages, full audit, ranking nationally</p> <a href="/work/" class="mt-6 inline-flex items-center gap-3 border-b border-[color:var(--color-coral)] pb-1 hover:gap-5 transition-all font-mono text-xs tracking-widest uppercase" data-astro-cid-tcy35dad> 75See the full portfolio <span data-astro-cid-tcy35dad>â</span> </a> </div> </div> <!-- The work itself. This section used to be a stat and a single sentence, 76 which asserted competence without showing any. Cards below are joined 77 to this service by relatedServiceSlugs, so each service shows the 78 clients it actually applies to rather than one shared reel. 79 80 MEASURED vs BUILT is a real distinction, not styling: only case studies 81 have numbers behind them. Design-only entries say "Build" and carry a 82 scope line. Never relabel a Build as Measured to fill the rail. --> <div class="wrap mt-16" data-astro-cid-tcy35dad> <div class="flex items-baseline justify-between gap-6 mb-8 pb-4 border-b border-white/10" data-astro-cid-tcy35dad> <h3 class="font-display text-2xl md:text-3xl" data-astro-cid-tcy35dad>Where we've done this.</h3> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)] shrink-0" data-astro-cid-tcy35dad> 6 engagements </span> </div> <ul class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6 list-none m-0 p-0" data-astro-cid-tcy35dad> <li data-astro-cid-tcy35dad> <a href="/work/soulie-construction/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad> <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/soulie.webp" alt="Soulie Construction â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-white/25 text-[color:var(--color-paper-dim)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Build </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Soulie Construction</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Construction · Decks & Outdoor Living · North Bay, CA </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>Full site build · Next.js on Netlify · six service lines, five-county footprint</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> See the build â </span> </div> </a> </li><li data-astro-cid-tcy35dad> <a href="/case-studies/hahn-automotive/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad>
82 <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/hahn.png" alt="Hahn Automotive â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-[color:var(--color-coral)] text-[color:var(--color-coral)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Case study </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Hahn Automotive</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Independent Auto Repair · Boutique Brand Lift · Santa Rosa, California </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>62 â Pages shipped</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> Read the case study â </span> </div> </a> </li><li data-astro-cid-tcy35dad> <a href="/case-studies/sutter-roofing/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad> <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/sutter.png" alt="Sutter Roofing â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-[color:var(--color-coral)] text-[color:var(--color-coral)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Case study </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Sutter Roofing</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Roofing · Residential + Commercial · Sonoma County, California </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>73 â Pages shipped</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> Read the case study â </span> </div> </a> </li><li data-astro-cid-tcy35dad> <a href="/case-studies/eleos-electric/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad> <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/eleos.png" alt="Ãleos Electric â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-[color:var(--color-coral)] text-[color:var(--color-coral)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Case study </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Ãleos Electric</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Electrical Contractor · Residential + Commercial · Sonoma County, California </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>GBP-first â Local SEO anchor</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> Read the case study â </span> </div> </a> </li><li data-astro-cid-tcy35dad>
82 <a href="/work/bella-deva-beauty-scene/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad> <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/belladeva.webp" alt="Bella Deva Beauty Scene â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-white/25 text-[color:var(--color-paper-dim)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Build </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Bella Deva Beauty Scene</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Beauty · Hair Extension Studio · Santa Rosa, CA </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>Full site build + domain cutover · dark-luxury design around a single specialist service</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> See the build â </span> </div> </a> </li><li data-astro-cid-tcy35dad> <a href="/work/hearts-chimney/" class="svc-proof group flex h-full flex-col border border-white/10 bg-[color:var(--color-ink)] no-underline overflow-hidden" data-astro-cid-tcy35dad> <div class="relative aspect-[4/3] overflow-hidden bg-[color:var(--color-ink-2)]" data-astro-cid-tcy35dad> <img src="/projects/heartschimney.webp" alt="Hearts Chimney & Dryer Duct â website built by Bonsai Marketing" width="1600" height="1333" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.03]" data-astro-cid-tcy35dad> <span class="absolute top-3 left-3 font-mono text-[9px] tracking-widest uppercase px-2 py-1 border border-white/25 text-[color:var(--color-paper-dim)] bg-[color:var(--color-ink)]/85" data-astro-cid-tcy35dad> Build </span> </div> <div class="flex flex-1 flex-col gap-2 p-6" data-astro-cid-tcy35dad> <div class="font-display text-xl leading-tight text-[color:var(--color-paper)]" data-astro-cid-tcy35dad>Hearts Chimney & Dryer Duct</div> <div class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-paper-dim)]" data-astro-cid-tcy35dad> Home Services · Chimney & Dryer Vent · North Bay, CA </div> <p class="text-sm leading-relaxed text-[color:var(--color-paper-dim)] flex-1 m-0" data-astro-cid-tcy35dad>Full site build · Next.js on Netlify · real-photo gallery and image sitemap</p> <span class="font-mono text-[10px] tracking-widest uppercase text-[color:var(--color-coral)] mt-2" data-astro-cid-tcy35dad> See the build â </span> </div> </a> </li> </ul> </div> </section> <section class="py-24 md:py-32" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="grid md:grid-cols-12 gap-12 mb-16" data-astro-cid-tcy35dad> <div class="md:col-span-5" data-astro-cid-tcy35dad> <div class="eyebrow mb-4" data-astro-cid-tcy35dad>[ 08 · FAQ ]</div> <h2 class="type-xl" data-astro-cid-tcy35dad> 83Questions,<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>answered honestly</span>. 84</h2> </div> </div> <div class="max-w-4xl space-y-px bg-white/10" data-astro-cid-tcy35dad> <details class="group bg-[color:var(--color-ink)] border border-transparent hover:border-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad> <summary class="flex items-start justify-between gap-6 p-6 md:p-8 cursor-pointer list-none" data-astro-cid-tcy35dad> <div class="flex gap-6" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] pt-2" data-astro-cid-tcy35dad>01</span> <span class="font-display text-xl md:text-2xl" data-astro-cid-tcy35dad>How long until I rank in the three-pack?</span> </div> <span class="font-display text-2xl text-[color:var(--color-teal-bright)] group-open:rotate-45 transition-transform" data-astro-cid-tcy35dad>+</span> </summary>
84 <div class="px-6 md:px-8 pb-6 md:pb-8 pl-[calc(1.5rem+3rem)] md:pl-[calc(2rem+3rem)] text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> Honest answer: 60â120 days for most local terms in Sonoma County, depending on competition and your starting domain authority. Highly competitive niches like personal injury law or dental implants can take 6â9 months. We'll tell you the real timeline after the audit, not before. </div> </details><details class="group bg-[color:var(--color-ink)] border border-transparent hover:border-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad> <summary class="flex items-start justify-between gap-6 p-6 md:p-8 cursor-pointer list-none" data-astro-cid-tcy35dad> <div class="flex gap-6" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] pt-2" data-astro-cid-tcy35dad>02</span> <span class="font-display text-xl md:text-2xl" data-astro-cid-tcy35dad>Do I really need citations in 2026? I thought those were dead.</span> </div> <span class="font-display text-2xl text-[color:var(--color-teal-bright)] group-open:rotate-45 transition-transform" data-astro-cid-tcy35dad>+</span> </summary> <div class="px-6 md:px-8 pb-6 md:pb-8 pl-[calc(1.5rem+3rem)] md:pl-[calc(2rem+3rem)] text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> Citations matter less than they did in 2015, but inconsistent NAP (name, address, phone) data still actively hurts rankings. We do a one-time cleanup to fix the damage, then maintain only the citations that move the needle. </div> </details><details class="group bg-[color:var(--color-ink)] border border-transparent hover:border-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad> <summary class="flex items-start justify-between gap-6 p-6 md:p-8 cursor-pointer list-none" data-astro-cid-tcy35dad> <div class="flex gap-6" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] pt-2" data-astro-cid-tcy35dad>03</span> <span class="font-display text-xl md:text-2xl" data-astro-cid-tcy35dad>Can you guarantee #1 rankings?</span> </div> <span class="font-display text-2xl text-[color:var(--color-teal-bright)] group-open:rotate-45 transition-transform" data-astro-cid-tcy35dad>+</span> </summary> <div class="px-6 md:px-8 pb-6 md:pb-8 pl-[calc(1.5rem+3rem)] md:pl-[calc(2rem+3rem)] text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> No reputable SEO can. Anyone who guarantees #1 either doesn't understand Google or is lying. We guarantee process, transparency, and real reporting tied to phone calls â not vanity ranking screenshots. </div> </details><details class="group bg-[color:var(--color-ink)] border border-transparent hover:border-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad> <summary class="flex items-start justify-between gap-6 p-6 md:p-8 cursor-pointer list-none" data-astro-cid-tcy35dad> <div class="flex gap-6" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] pt-2" data-astro-cid-tcy35dad>04</span> <span class="font-display text-xl md:text-2xl" data-astro-cid-tcy35dad>Do you do national SEO too?</span> </div> <span class="font-display text-2xl text-[color:var(--color-teal-bright)] group-open:rotate-45 transition-transform" data-astro-cid-tcy35dad>+</span> </summary> <div class="px-6 md:px-8 pb-6 md:pb-8 pl-[calc(1.5rem+3rem)] md:pl-[calc(2rem+3rem)] text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> Yes. Local is our bread and butter, but we've shipped national SEO for clients like Wandering Nurses (138 pages), MFTFinder, and Voice Bonsai (150 metro pages). Same playbook, larger surface area. Multi-location and franchise programs have their own pages under Local SEO, and national programs are scoped on our National SEO page. </div> </details><details class="group bg-[color:var(--color-ink)] border border-transparent hover:border-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad> <summary class="flex items-start justify-between gap-6 p-6 md:p-8 cursor-pointer list-none" data-astro-cid-tcy35dad> <div class="flex gap-6" data-astro-cid-tcy35dad> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-coral)] pt-2" data-astro-cid-tcy35dad>05</span> <span class="font-display text-xl md:text-2xl" data-astro-cid-tcy35dad>What if I already have an SEO company?</span> </div> <span class="font-display text-2xl text-[color:var(--color-teal-bright)] group-open:rotate-45 transition-transform" data-astro-cid-tcy35dad>+</span> </summary>
84 <div class="px-6 md:px-8 pb-6 md:pb-8 pl-[calc(1.5rem+3rem)] md:pl-[calc(2rem+3rem)] text-[color:var(--color-paper-dim)] text-lg leading-relaxed" data-astro-cid-tcy35dad> We'll do a free audit and tell you honestly whether they're doing the work. Sometimes the answer is 'they're doing fine, save your money.' Sometimes it's 'they're charging $3k/mo for citations from 2018.' Either way, you'll know. </div> </details> </div> </div> </section> <section class="py-20 bg-[color:var(--color-ink-2)] border-y border-white/10" data-astro-cid-tcy35dad> <div class="wrap" data-astro-cid-tcy35dad> <div class="eyebrow mb-8" data-astro-cid-tcy35dad>[ Related disciplines ]</div> <!-- Count-aware so adding a third related discipline doesn't orphan a 85 card on its own row. Every existing 2-item rail renders exactly as 86 it did before. --> <div class="grid gap-6 md:grid-cols-2" data-astro-cid-tcy35dad> <a href="/services/google-business-profile/" class="block p-8 border border-white/10 hover:border-[color:var(--color-coral)] transition-colors group" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-3" data-astro-cid-tcy35dad>02 · Google Business Profile</div> <h3 class="font-display text-2xl md:text-3xl mb-3 group-hover:italic-ornament group-hover:text-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad>The most-ignored money-maker in local marketing.</h3> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-teal-bright)] inline-flex items-center gap-2" data-astro-cid-tcy35dad>Read full â </span> </a><a href="/services/content-authority/" class="block p-8 border border-white/10 hover:border-[color:var(--color-coral)] transition-colors group" data-astro-cid-tcy35dad> <div class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-paper-dim)] mb-3" data-astro-cid-tcy35dad>05 · Content & Authority</div> <h3 class="font-display text-2xl md:text-3xl mb-3 group-hover:italic-ornament group-hover:text-[color:var(--color-coral)] transition-colors" data-astro-cid-tcy35dad>The compound interest of search.</h3> <span class="font-mono text-xs tracking-widest uppercase text-[color:var(--color-teal-bright)] inline-flex items-center gap-2" data-astro-cid-tcy35dad>Read full â </span> </a> </div> </div> </section> <section class="py-24 md:py-32 relative overflow-hidden" data-astro-cid-tcy35dad> <div class="absolute inset-0 opacity-25" data-astro-cid-tcy35dad> <img src="/img/fog.webp" alt="" class="w-full h-full object-cover" data-astro-cid-tcy35dad> <div class="absolute inset-0 duotone-teal" data-astro-cid-tcy35dad></div> </div> <div class="wrap relative grid md:grid-cols-12 gap-12" data-astro-cid-tcy35dad> <div class="md:col-span-4" data-astro-cid-tcy35dad> <div class="eyebrow mb-6" data-astro-cid-tcy35dad>[ 09 · Start ]</div> </div> <div class="md:col-span-8" data-astro-cid-tcy35dad> <h2 class="type-xl mb-8" data-astro-cid-tcy35dad> 87Ready to scope<br data-astro-cid-tcy35dad> <span class="italic-ornament text-[color:var(--color-coral)]" data-astro-cid-tcy35dad>local seo</span>? 88</h2> <p class="text-lg md:text-xl text-[color:var(--color-paper-dim)] mb-10 max-w-2xl leading-relaxed" data-astro-cid-tcy35dad> 89Free 30-minute call with Bryan. No pitch deck, no sales team. We'll 90 tell you honestly whether Local SEO is the right next move for 91 your business â or whether something else should come first. 92</p> <div class="flex flex-wrap gap-4" data-astro-cid-tcy35dad> <a href="/contact/" class="btn-solid" data-astro-cid-tcy35dad>Book a call â</a> <a href="tel:+17075937539" class="btn-outline" data-astro-cid-tcy35dad>Or call 707-593-7539</a> <a href="/journal/top-national-seo-company-for-your-business-growth/" class="btn-outline" data-astro-cid-tcy35dad>Multi-location, franchise or national? â</a> </div> </div> </div> </section> </main> <footer class="relative bg-[color:var(--color-ink)] border-t border-white/10 mt-0"> <div class="wrap pt-24 pb-12"> <div class="grid md:grid-cols-12 gap-12 mb-24"> <div class="md:col-span-7"> <div class="eyebrow mb-8">Let's make the phone ring</div> <h2 class="type-xl"> 93Hire Bonsai.<br> <span class="italic-ornament text-[color:var(--color-coral)]">Grow loud,</span><br> 94rank quiet. 95</h2> <div class="mt-10 flex flex-wrap gap-4"> <a href="/contact/" class="btn-solid">Start a project â</a> <a href="/free-audit/" class="btn-outline">Free audit</a> </div> </div> <div class="md:col-span-5 grid grid-cols-1 sm:grid-cols-2 gap-8 text-sm self-end"> <div> <div class="eyebrow mb-3 text-[color:var(--color-paper-dim)]">Studio</div> <ul class="space-y-2"> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/work
95/">Work</a></li> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/services/">Services</a></li> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/story/">Story</a></li> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/journal/">Journal</a></li> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/motion-lab/">Motion Lab</a></li> <li><a class="hover:text-[color:var(--color-teal-bright)]" href="/media-and-pr/">Media & PR</a></li> </ul> </div> <div> <div class="eyebrow mb-3 text-[color:var(--color-paper-dim)]">Tools</div> <ul class="space-y-2"> <li> <a class="hover:text-[color:var(--color-teal-bright)]" href="/founder-growth-engine/"> Founder Growth Engine <span class="ml-2 font-mono text-[9px] tracking-widest uppercase text-[color:var(--color-coral)]">New</span> </a> </li><li> <a class="hover:text-[color:var(--color-teal-bright)]" href="/agency-calculator/"> Agency Calculator <span class="ml-2 font-mono text-[9px] tracking-widest uppercase text-[color:var(--color-coral)]">New</span> </a> </li><li> <a class="hover:text-[color:var(--color-teal-bright)]" href="/bodhi-advisor/"> Bodhi Advisor </a> </li><li> <a class="hover:text-[color:var(--color-teal-bright)]" href="/foundation-assessment/"> Foundation Assessment </a> </li><li> <a class="hover:text-[color:var(--color-teal-bright)]" href="/free-audit/"> Free AI Visibility Audit </a> </li> </ul> </div> <div> <div class="eyebrow mb-3 text-[color:var(--color-paper-dim)]">Contact</div> <ul class="space-y-2 text-[color:var(--color-paper-dim)]"> <li>Sebastopol, CA 95472</li> <li class="opacity-70">Service-area business â we come to you.</li> <li><a class="hover:text-[color:var(--color-paper)]" href="tel:+17075937539">(707) 593-7539</a></li> <!-- 36 unbreakable chars in a narrow grid column pushed the whole 96 document 130px wider than the viewport at 768-1024 â a sitewide 97 horizontal scroll on every page. break-words lets it wrap. --> <li class="break-words"><a class="hover:text-[color:var(--color-paper)]" href="mailto:[email protected]">[email protected]</a></li> </ul> </div> </div> </div> <div class="rule mb-8"></div> <div class="flex flex-wrap items-center justify-between gap-6 text-xs font-mono tracking-widest uppercase text-[color:var(--color-paper-dim)]"> <div>© 2026 Bonsai Marketing</div> <div class="flex items-center gap-5"> <a href="https://youtube.com/@BonsaiMarketingCompany" target="_blank" rel="noopener" aria-label="Bonsai Marketing on YouTube" title="Bonsai Marketing on YouTube" class="text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-coral)] transition-colors"> <svg viewBox="0 0 24 24" class="w-[18px] h-[18px]" fill="currentColor" aria-hidden="true" focusable="false"> <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path> </svg> </a><a href="https://facebook.com/bonsaidigi" target="_blank" rel="noopener" aria-label="Bonsai Marketing on Facebook" title="Bonsai Marketing on Facebook" class="text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-coral)] transition-colors"> <svg viewBox="0 0 24 24" class="w-[18px] h-[18px]" fill="currentColor" aria-hidden="true" focusable="false"> <path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"></path> </svg> </a><a href="https://instagram.com/BonsaiMarketingCompany" target="_blank" rel="noopener" aria-label="Bonsai Marketing on Instagram" title="Bonsai Marketing on Instagram" class="text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-coral)] transition-colors"> <svg viewBox="0 0 24 24" class="w-[18px] h-[18px]" fill="currentColor" aria-hidden="true" focusable="false"> <path d="M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.00
977-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"></path> </svg> </a><a href="https://www.tiktok.com/@bonsaimarketing" target="_blank" rel="noopener" aria-label="Bonsai Marketing on TikTok" title="Bonsai Marketing on TikTok" class="text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-coral)] transition-colors"> <svg viewBox="0 0 24 24" class="w-[18px] h-[18px]" fill="currentColor" aria-hidden="true" focusable="false"> <path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"></path> </svg> </a><a href="https://www.yelp.com/biz/bonsai-marketing-sebastopol" target="_blank" rel="noopener" aria-label="Bonsai Marketing on Yelp" title="Bonsai Marketing on Yelp" class="text-[color:var(--color-paper-dim)] hover:text-[color:var(--color-coral)] transition-colors"> <svg viewBox="0 0 24 24" class="w-[18px] h-[18px]" fill="currentColor" aria-hidden="true" focusable="false"> <path d="m7.6885 15.1415-3.6715.8483c-.3769.0871-.755.183-1.1452.155-.2611-.0188-.5122-.0414-.7606-.213a1.179 1.179 0 0 1-.331-.3594c-.3486-.5519-.3656-1.3661-.3697-2.0004a6.2874 6.2874 0 0 1 .3314-2.0642 1.857 1.857 0 0 1 .1073-.2474 2.3426 2.3426 0 0 1 .1255-.2165 2.4572 2.4572 0 0 1 .1563-.1975 1.1736 1.1736 0 0 1 .399-.2831 1.082 1.082 0 0 1 .4592-.0837c.2355.0016.5139.052.91.1734.0555.0191.1237.0382.1856.0572.3277.1013.7048.2404 1.1499.3987.6863.2404 1.3663.487 2.0463.7397l1.2117.4423c.2217.0807.4363.18.6412.297.174.0984.3273.2298.4512.387a1.217 1.217 0 0 1 .192.4309 1.2205 1.2205 0 0 1-.872 1.4522c-.0468.0151-.0852.0239-.1085.0293l-1.105.2553-.0031-.001zM18.8208 7.565a1.8506 1.8506 0 0 0-.2042-.1754 2.4082 2.4082 0 0 0-.2077-.1394 2.3607 2.3607 0 0 0-.2269-.109 1.1705 1.1705 0 0 0-.482-.0796 1.0862 1.0862 0 0 0-.4498.1263c-.2107.1048-.4388.2732-.742.5551-.042.0417-.0947.0886-.142.133-.2502.2351-.5286.5252-.8599.863a114.6363 114.6363 0 0 0-1.5166 1.5629l-.8962.9293a4.1897 4.1897 0 0 0-.4466.5483 1.541 1.541 0 0 0-.2364.5459 1.2199 1.2199 0 0 0 .0107.4518l.0046.02a1.218 1.218 0 0 0 1.4184.923 1.162 1.162 0 0 0 .1105-.0213l4.7781-1.104c.3766-.087.7587-.1667 1.097-.3631.2269-.1316.4428-.262.5909-.5252a1.1793 1.1793 0 0 0 .1405-.4683c.0733-.6512-.2668-1.3908-.5403-1.963a6.2792 6.2792 0 0 0-1.2001-1.7103zM8.9703.0754a8.6724 8.6724 0 0 0-.83.1564c-.2754.066-.548.1383-.8146.2236-.868.2844-2.0884.8063-2.295 1.8065-.1165.5655.1595 1.1439.3737 1.66.2595.6254.614 1.1889.9373 1.7777.8543 1.5545 1.7245 3.0993 2.5922 4.6457.259.4617.5416 1.0464 1.043 1.2856a1.058 1.058 0 0 0 .1013.0383c.2248.0851.4699.1016.7041.0471a4.3015 4.3015 0 0 0 .0418-.0097 1.2136 1.2136 0 0 0 .5658-.3397 1.1033 1.1033 0 0 0 .079-.0822c.3463-.435.3454-1.0833.3764-1.6134.1042-1.771.2139-3.5423.3009-5.3142.0332-.6712.1055-1.3333.0655-2.0096-.0328-.5579-.0368-1.1984-.3891-1.6563-.6218-.8073-1.9476-.741-2.8523-.6158zm2.084
9715.9505a1.1053 1.1053 0 0 0-1.2306-.4145 1.1398 1.1398 0 0 0-.1526.0633 1.4806 1.4806 0 0 0-.2171.1354c-.1992.1475-.3668.3392-.5196.5315-.0386.049-.074.1143-.12.1562l-.7686 1.0573a113.9168 113.9168 0 0 0-1.2913 1.789c-.278.3895-.5184.7184-.7083 1.0094-.036.0547-.0734.116-.1075.1647-.2277.3522-.3566.6092-.4228.8381a1.0945 1.0945 0 0 0-.046.4721c.0211.1655.0768.3246.1635.467.046.0715.0957.1406.1487.207a2.334 2.334 0 0 0 .1754.1825 1.843 1.843 0 0 0 .2108.1732c.5304.369 1.1112.6342 1.722.8391a6.0958 6.0958 0 0 0 1.5716.3004c.091.0046.1821.0025.2728-.006a2.3878 2.3878 0 0 0 .2506-.0351 2.3862 2.3862 0 0 0 .2447-.071 1.1927 1.1927 0 0 0 .4175-.2658c.1127-.113.1994-.249.2541-.3989.0889-.2214.1473-.5026.1857-.92.0034-.0593.0118-.1305.0177-.1958.0304-.3463.0443-.7531.0666-1.2315.0375-.7357.067-1.4681.0903-2.2026 0 0 .0495-1.3053.0494-1.306.0113-.3008.002-.6342-.0814-.9336a1.396 1.396 0 0 0-.1756-.4054zm8.6754 2.0439c-.1605-.176-.3878-.3514-.7462-.5682-.0518-.0288-.1124-.0674-.1684-.1009-.2985-.1795-.658-.3684-1.078-.5965a120.7615 120.7615 0 0 0-1.9427-1.042l-1.1515-.6107c-.0597-.0175-.1203-.0607-.1766-.0878-.2212-.1058-.4558-.2045-.6992-.2498a1.4915 1.4915 0 0 0-.2545-.0265 1.1527 1.1527 0 0 0-.1648.01 1.1077 1.1077 0 0 0-.9227.9133 1.4186 1.4186 0 0 0 .0159.439c.0563.3065.1932.6096.3346.875l.615 1.1526c.3422.65.6884 1.2963 1.0435 1.9406.229.4202.4196.7799.5982 1.078.0338.056.0721.1163.1011.1682.2173.3584.392.584.569.7458.1146.1107.252.195.4026.247.1583.0525.326.071.4919.0546a2.368 2.368 0 0 0 .251-.0435c.0817-.022.1622-.048.241-.0784a1.863 1.863 0 0 0 .2475-.1143 6.1018 6.1018 0 0 0 1.2818-.9597c.4596-.4522.8659-.9454 1.182-1.51.044-.08.0819-.163.1138-.2483a2.49 2.49 0 0 0 .0773-.2411c.0186-.083.033-.1669.0429-.2513a1.188 1.188 0 0 0-.0565-.491 1.0933 1.0933 0 0 0-.248-.4041zm2.86 3.742a.8523.8523 0 0 1-.111.4236c-.074.132-.178.2377-.3115.3172a.8428.8428 0 0 1-.4385.119.847.847 0 0 1-.4373-.1179.8526.8526 0 0 1-.3125-.3171.8548.8548 0 0 1-.111-.4248c0-.1526.038-.2958.1143-.4294a.8405.8405 0 0 1 .315-.3159.849.849 0 0 1 .4315-.1156.8514.8514 0 0 1 .4294.1144.84.84 0 0 1 .316.3148.8494.8494 0 0 1 .1156.4317zm-.1202 0c0-.1328-.0332-.256-.0996-.3698s-.1564-.2038-.2702-.2702a.7125.7125 0 0 0-.371-.1007.7204.7204 0 0 0-.3698.0996.7487.7487 0 0 0-.2713.2702.7181.7181 0 0 0-.0996.3709c0 .132.0332.2557.0996.371a.7355.7355 0 0 0 .2713.2713.7354.7354 0 0 0 .3698.0985.7205.7205 0 0 0 .3698-.0996.7423.7423 0 0 0 .2702-.2691.7186.7186 0 0 0 .1008-.3721zm-.577.0584.2724.4522h-.1922l-.237-.4052h-.1546v.4052h-.1695v-1.02h.2988c.1268 0 .2195.0247.2783.0744.0595.0496.0892.1252.0892.2267a.2785.2785 0 0 1-.0492.1625c-.032.0466-.0775.0813-.1362.1042zm-.0412-.1408a.1532.1532 0 0 0 .056-.1214c0-.0573-.0164-.0981-.0491-.1225-.0329-.0251-.0847-.0377-.1557-.0377h-.1214v.3285h.1237c.061 0 .1098-.0157.1465-.047z"></path> </svg> </a> <span class="w-px h-4 bg-white/15" aria-hidden="true"></span> <a href="/privacy/" class="hover:text-[color:var(--color-paper)]">Privacy</a> <a href="/terms/" class="hover:text-[color:var(--color-paper)]">Terms</a> </div> </div> </div> </footer> <dialog class="as-modal" id="as-modal" aria-labelledby="as-modal-title" data-as-cfg="{"minDwellMs":10000,"dwellTriggerMs":35000,"scrollTrigger":0.5,"cooldownDays":14,"suppressPaths":["/thank-you","/summit/thanks","/motion-lab/thanks","/contact","/bonsai-family","/samurai-adventure-day-with-mom-siblings-september-2026"]}" data-astro-cid-r4eukz3a><div class="as-panel" data-astro-cid-r4eukz3a><button type="button" class="as-close" data-as-close aria-label="Close" data-astro-cid-r4eukz3a><svg viewBox="0 0 14 14" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true" data-astro-cid-r4eukz3a><path d="M1 1l12 12M13 1L1 13" data-astro-cid-r4eukz3a></path></svg></button><p class="as-eyebrow" data-astro-cid-r4eukz3a>[ ANSWERSLOT.AI · A BONSAI MARKETING COMPANY ]</p><h2 class="as-title" id="as-modal-title" data-astro-cid-r4eukz3a>Does Siri name you â or your <em class="as-accent" data-astro-cid-r4eukz3a>
97competitor?</em></h2><p class="as-body" data-astro-cid-r4eukz3a>Assistants return one or two names, not a page of results. AnswerSlot reads your Google profile and your site the way an assistant reads them, asks the models the questions your customers actually ask, and shows you what came back â including the business it named instead of you.</p><ul class="as-proof" data-astro-cid-r4eukz3a><li data-astro-cid-r4eukz3a>21 signals read</li><li data-astro-cid-r4eukz3a>16 of them scored</li><li data-astro-cid-r4eukz3a>Under 60 seconds</li></ul><a class="as-cta" href="https://answerslot.ai/?utm_source=bonsaimarketingcompany&utm_medium=referral&utm_campaign=bmc-answerslot-2026-08&utm_content=exit-modal" data-as-convert data-astro-cid-r4eukz3a>Show me my answer<svg viewBox="0 0 16 10" width="15" height="10" fill="none" stroke="currentColor" stroke-width="1.7" aria-hidden="true" data-astro-cid-r4eukz3a><path d="M1 5h13M10 1l4 4-4 4" data-astro-cid-r4eukz3a></path></svg></a><p class="as-reassure" data-astro-cid-r4eukz3a>Free · No card · No sales call · Nothing on your listing changes</p><button type="button" class="as-dismiss" data-as-close data-astro-cid-r4eukz3a>Not right now</button></div></dialog>
97<script type="module">const t=document.getElementById("as-modal");if(t&&typeof t.showModal=="function"){let c=function(e){const o=window;(o.dataLayer=o.dataLayer||[]).push({event:e,promo_id:"answerslot-exit-modal"}),typeof o.gtag=="function"&&o.gtag("event",e,{promo_id:"answerslot-exit-modal"})};const n=JSON.parse(t.dataset.asCfg||"{}"),i="bmc_as_promo_seen",l="bmc_as_promo_clicked",r={get(e){try{return localStorage.getItem(e)||""}catch{return""}},set(e,o){try{localStorage.setItem(e,o)}catch{}}},d=location.pathname.replace(/\/+$/,"")||"/",p=(n.suppressPaths||[]).some(e=>d===e.replace(/\/+$/,"")||d.startsWith(e.replace(/\/+$/,"")+"/")),m=Number(r.get(i)||0),g=(n.cooldownDays??14)*864e5,f=m>0&&Date.now()-m<g,h=r.get(l)==="1";if(!p&&!f&&!h){let e=function(){w||t.open||(w=!0,r.set(i,String(Date.now())),a.forEach(clearTimeout),document.removeEventListener("mouseout",o),t.showModal(),c("promo_view"))},o=function(s){s.clientY<=0&&!s.relatedTarget&&e()},u=function(){const s=document.documentElement.scrollHeight-window.innerHeight;s>0&&window.scrollY/s>=(n.scrollTrigger??.5)&&(window.removeEventListener("scroll",u),e())},w=!1;const a=[];a.push(window.setTimeout(()=>{window.matchMedia("(pointer: fine)").matches&&document.addEventListener("mouseout",o),window.addEventListener("scroll",u,{passive:!0}),a.push(window.setTimeout(e,Math.max(0,(n.dwellTriggerMs??35e3)-(n.minDwellMs??1e4))))},n.minDwellMs??1e4))}t.querySelectorAll("[data-as-close]").forEach(e=>e.addEventListener("click",()=>{c("promo_dismiss"),t.close()})),t.querySelector("[data-as-convert]")?.addEventListener("click",()=>{r.set(l,"1"),c("promo_click")}),t.addEventListener("click",e=>{e.target===t&&(c("promo_dismiss"),t.close())})}</script>
97
97<script>(function(){var b=document.querySelector('[data-promo-close]');if(!b)return;b.addEventListener('click',function(){document.documentElement.classList.add('promo-off');try{localStorage.setItem('bmc_promo_bar_off','1')}catch(e){}var w=window;(w.dataLayer=w.dataLayer||[]).push({event:'promo_dismiss',promo_id:'answerslot-top-bar'});});var a=document.querySelector('.promo-link');if(a)a.addEventListener('click',function(){var w=window;(w.dataLayer=w.dataLayer||[]).push({event:'promo_click',promo_id:'answerslot-top-bar'});if(typeof w.gtag==='function')w.gtag('event','promo_click',{promo_id:'answerslot-top-bar'});});})();</script>
97
97<script src="https://cdn.apigateway.co/webchat-client..prod/sdk.js" data-widget-id="f0b039aa-f31c-11f0-94a7-1238e4e39a96" defer></script>
97 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.