1<!DOCTYPE html><html lang="en"><head><!-- Google Tag Manager -->
1<script>
vendor: 358 bytes, lines 1-6
1 2 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 4 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 5 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 6 })(window,document,'script','dataLayer','
6GTM-TCL2T85
vendor: 8 bytes, lines 6-7
6'); 7
7</script>
7<!-- End Google Tag Manager --><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/webp" href="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F95f9927d-fd02-4c82-b2ef-6c55e32761b7_100-gracie5.webp?alt=media&token=92724df1-ed1e-4312-9f79-96dc706b7ff7"><link rel="shortcut icon" href="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F95f9927d-fd02-4c82-b2ef-6c55e32761b7_100-gracie5.webp?alt=media&token=92724df1-ed1e-4312-9f79-96dc706b7ff7"><title>The Get Calls AI Blog | Contractor Marketing Insights | Get Calls AI</title>
7<script> 8 if (typeof window !== 'undefined' && !window['$RefreshSig$']) { 9 window['$RefreshReg$'] = function() {}; 10 window['$RefreshSig$'] = function() { return function(type) { return type; }; }; 11 } 12 </script>
12<meta name="description" content="Practical strategies for HVAC, plumbing, roofing, and electrical contractors who want more calls, more leads, and more booked jobs."><link rel="canonical" href="/blog"><meta property="og:title" content="The Get Calls AI Blog | Contractor Marketing Insights | Get Calls AI"><meta property="og:description" content="Practical strategies for HVAC, plumbing, roofing, and electrical contractors who want more calls, more leads, and more booked jobs."><meta property="og:type" content="website"><meta property="og:image" content="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F9ad01148-1fbc-466d-bd77-6eb208af25e7_Screenshot%202026-06-09%201.06.52%20PM.png?alt=media&token=928aff02-f5a7-45f6-8970-427199e75b81"><meta property="og:url" content="/blog"><meta property="og:site_name" content="Get Calls AI"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="The Get Calls AI Blog | Contractor Marketing Insights | Get Calls AI"><meta name="twitter:description" content="Practical strategies for HVAC, plumbing, roofing, and electrical contractors who want more calls, more leads, and more booked jobs."><meta name="twitter:image" content="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F9ad01148-1fbc-466d-bd77-6eb208af25e7_Screenshot%202026-06-09%201.06.52%20PM.png?alt=media&token=928aff02-f5a7-45f6-8970-427199e75b81"><meta name="robots" content="index, follow"><meta name="build-time" content="2026-10-08T03:27:50.543Z">
12<script src="https://instant.page/5.2.0" type="module" integrity="sha384-jnZyxPjiipS0NFM9FA026Ym1XYRQU3jOX9P/0nWscB06A4m8vEOn+S8Uv8Y6p35A"></script>
12<script type="application/ld+json"> 13{ 14 "@context": "https://schema.org", 15 "@type": "LocalBusiness", 16 "@id": "https://micromanagedmedia.com/#organization", 17 "name": "Get Calls AI", 18 "alternateName": "Get Calls AI", 19 "description": "Lead generation systems for local service contractors â Google Ads management, AI answering, call tracking, contractor websites, and Google Maps optimization. Serving HVAC, plumbing, roofing, electrical, and home service businesses across 50 U.S. markets.", 20 "url": "https://micromanagedmedia.com", 21 "telephone": "+12517650333", 22 "email": "[email protected]", 23 "founder": { "@type": "Person", "name": "Bob Rutledge" }, 24 "sameAs": ["https://www.facebook.com/GetCallsAI","https://www.youtube.com/@ButHey_WhatDoIKnow"], 25 "areaServed": { "@type": "Country", "name": "United States" }, 26 "knowsAbout": ["Google Ads for contractors","PPC management","Lead generation for home services","Call tracking","AI answering service","Contractor website design","Google Maps optimization","5-star review generation"], 27 "hasOfferCatalog": { 28 "@type": "OfferCatalog", 29 "name": "Contractor Marketing Services", 30 "itemListElement": [ 31 {"@type":"Offer","itemOffered":{"@type":"Service","name":"Google Ads Management for Contractors"}}, 32 {"@type":"Offer","itemOffered":{"@type":"Service","name":"AI Answering Service"}}, 33 {"@type":"Offer","itemOffered":{"@type":"Service","name":"Call Tracking & Lead Tracking"}}, 34 {"@type":"Offer","itemOffered":{"@type":"Service","name":"Contractor Website Design"}}, 35 {"@type":"Offer","itemOffered":{"@type":"Service","name":"Google Maps Optimization"}}, 36 {"@type":"Offer","itemOffered":{"@type":"Service","name":"5-Star Review Generation"}} 37 ] 38 } 39} 40 </script>
40<script type="application/ld+json"> 41{ 42 "@context": "https://schema.org", 43 "@type": "WebSite", 44 "url": "https://micromanagedmedia.com", 45 "name": "Get Calls AI", 46 "description": "Lead generation systems for local service contractors. Get more calls with Google Ads management, 24/7 AI answering, call tracking, and SEO websites.", 47 "potentialAction": { 48 "@type": "SearchAction", 49 "target": "https://micromanagedmedia.com/blog?q={search_term_string}", 50 "query-input": "required name=search_term_string" 51 } 52} 53 </script>
53<script src="https://getcallsai-chatbot.netlify.app/embed.js" defer></script>
53<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://micromanagedmedia.com"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://micromanagedmedia.com/blog"}]}</script>
53<link rel="stylesheet" href="/_astro/Navbar.C8AieTY5.css?dpl=6ab6f2bf3abadf0007dd4152"></head><body class="bg-background text-foreground font-sans antialiased flex flex-col min-h-screen relative pb-16 md:pb-0"><!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 53
53<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
53GTM-TCL2T85
vendor: 82 bytes, line 53
53" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
53<!-- End Google Tag Manager (noscript) --><header id="site-header" class="fixed top-0 left-0 w-full z-50 transition-all duration-300 backdrop-blur-md bg-white/95 border-b border-border text-foreground"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center h-[72px] lg:h-20"><!-- Logo --><a href="https://micromanagedmedia.com/" class="flex items-center group shrink-0" aria-label="Get Calls AI Homepage"><img src="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F00044df0-bf35-43cb-97a5-047b0b306623_micromanaged-media-gracie-ai-receptionist-get-calls-logo.webp?alt=media&token=a082f46d-cbbf-40a2-9ec5-dd99d2b9f8b7" alt="contractor lead gen - Get Galls AI with This is Gracie" class="h-10 sm:h-12 w-auto max-w-[190px] sm:max-w-[230px] object-contain transition-transform group-hover:scale-105" referrerpolicy="no-referrer" width="230" height="80"></a><!-- Desktop Nav --><nav class="hidden lg:flex items-center gap-8 font-medium"><div class="relative group h-20 flex items-center"><button class="flex items-center gap-1 hover:text-accent hover:opacity-80 transition-colors nav-link">Services<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg></button><div class="absolute top-20 left-1/2 -translate-x-1/2 w-[350px] bg-white text-foreground backdrop-blur-xl shadow-xl shadow-slate-200/50 rounded-xl opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 border border-border overflow-hidden translate-y-2 group-hover:translate-y-0"><div class="flex flex-col text-sm"><a href="/get-more-leads" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">PPC Management for Google Ads & Microsoft Ads</a><a href="/services/time-to-change-agencies" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Google PPC: Time to Change Agencies</a><a href="/contractor-website" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Managed Hosting & Website Maintenance</a><a href="/google-maps" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Google Business Profile & Local SEO</a><a href="/track-calls-leads" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">LeadTABLE Call & Form Tracking</a><a href="/answer-my-calls" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">24/7 AI Phone Answering Integration</a><a href="/services/ai-automation" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Chatbots, AI Receptionists & Voice Agents</a><a href="/services/crm-implementation" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Automation Tools, Workflows & Dashboards</a><a href="/contractor-website" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">Campaign Landing Pages & Conversion Tracking</a><a href="/5-star-reviews" class="px-5 py-3 hover:bg-slate-50 transition-colors border-b border-slate-100">5-Star Review Generation</a><a href="/free-seo-checker" class="px-5 py-3 hover:bg-slate-50 transition-colors font-semibold text-primary">Free SEO Checker</a></div></div></div><div class="relative group h-20 flex items-center"><a href="/industries" class="flex items-center gap-1 hover:text-accent hover:opacity-80 transition-colors nav-link">Industries<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg></a><div class="absolute top-20 left-1/2 -translate-x-1/2 w-[460px] bg-white text-foreground backdrop-blur-xl shadow-xl shadow-slate-200/50 rounded-xl opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 border border-border overflow-hidden translate-y-2 group-hover:translate-y-0 p-3"><div class="grid grid-cols-2 gap-1 text-sm"><a href="/industries/hvac" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">HVAC Companies</a><a href="/industries/plumbing" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Plumbing Companies</a><a href="/industries/roofing" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Roofing Companies</a><a href="/industries/electricians" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Electrical Contractors</a><a href="/industries/fence-contractors" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Fence Contractors</a><a href="/industries/remodeling" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Remodeling & Renovations</a><a href="/industries/general-contractors" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">General Contractors</a><a href="/industries/landscaping" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Landscaping & Hardscaping</a><a href="/industries/concrete-masonry" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Concrete & Masonry</a><a href="/industries/painting" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Painting Contractors</a><a href="/industries/pest-control" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Pest Control Companies</a><a href="/industries/garage-doors" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Garage Door Services</a><a href="/industries/window-treatments" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Window Treatment Contractors</a><a href="/industries/flooring" class="px-3 py-2 rounded-lg hover:bg-slate-50 hover:text-primary transition-colors text-slate-800 font-medium">Flooring Contractors</a></div><div class="border-t border-slate-100 mt-2 pt-2 text-center"><a href="/industries" class="text-xs font-bold text-primary hover:underline block py-1">View All Industries →</a></div></div></div><a href="/blog" class="hover:text-accent hover:opacity-80 transition-colors nav-link">Blog</a><a href="/videos" class="hover:text-accent hover:opacity-80 transition-colors nav-link">Videos</a><a href="/modern-web-blueprint" class="hover:text-accent hover:opacity-80 transition-colors nav-link">Blueprint</a><a href="/#testimonials" class="hover:text-accent hover:opacity-80 transition-colors nav-link">Reviews</a></nav><!-- Desktop CTAs --><div class="hidden lg:flex items-center gap-4"><a href="tel:+12517650333" class="flex items-center gap-2 px-5 py-2.5 rounded-full border border-border bg-white text-foreground text-sm font-semibold hover:bg-slate-50 transition-colors cta-outline"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
53ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>(251) 765-0333</a><a href="/contact" data-open-consultation="true" class="flex items-center gap-2 px-6 py-2.5 rounded-full bg-primary hover:bg-accent text-white text-sm font-bold transition-colors shadow-lg cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>Free Consultation</a></div><!-- Mobile Menu Button --><button id="mobile-menu-btn" class="lg:hidden p-2 nav-link hover:text-accent hover:opacity-80 transition-colors" aria-label="Toggle Navigation Menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="menu-icon"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="close-icon hidden"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div></div><!-- Mobile Menu Panel --><div id="mobile-menu" class="hidden lg:hidden bg-white text-slate-800 border-t border-border shadow-2xl absolute top-full left-0 w-full h-[calc(100vh-72px)] overflow-y-auto"><div class="px-4 py-6 flex flex-col gap-6"><div class="flex flex-col gap-2"><button id="mobile-services-btn" class="flex items-center justify-between font-bold text-xl py-2 w-full text-left">Services<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button><div id="mobile-services-panel" class="hidden flex-col bg-slate-50 rounded-xl overflow-hidden mt-2 border border-slate-100"><a href="/get-more-leads" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">PPC Management for Google Ads & Microsoft Ads</a><a href="/services/time-to-change-agencies" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Google PPC: Time to Change Agencies</a><a href="/contractor-website" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Managed Hosting & Website Maintenance</a><a href="/google-maps" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Google Business Profile & Local SEO</a><a href="/track-calls-leads" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">LeadTABLE Call & Form Tracking</a><a href="/answer-my-calls" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">24/7 AI Phone Answering Integration</a><a href="/services/ai-automation" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Chatbots, AI Receptionists & Voice Agents</a><a href="/services/crm-implementation" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Automation Tools, Workflows & Dashboards</a><a href="/contractor-website" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">Campaign Landing Pages & Conversion Tracking</a><a href="/5-star-reviews" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-slate-700">5-Star Review Generation</a><a href="/free-seo-checker" class="px-5 py-3.5 hover:bg-slate-100 text-primary font-bold">Free SEO Checker</a></div></div><div class="flex flex-col gap-2 border-t border-slate-100 pt-2"><button id="mobile-industries-btn" class="flex items-center justify-between font-bold text-xl py-2 w-full text-left">Industries<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button><div id="mobile-industries-panel" class="hidden flex-col bg-slate-50 rounded-xl overflow-hidden mt-2 border border-slate-100"><a href="/industries" class="px-5 py-3.5 border-b border-slate-100 hover:bg-slate-100 text-primary font-bold">All Industries</a><a href="/industries/hvac" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">HVAC Companies</a><a href="/industries/plumbing" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Plumbing Companies</a><a href="/industries/roofing" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Roofing Companies</a><a href="/industries/electricians" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Electrical Contractors</a><a href="/industries/fence-contractors" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Fence Contractors</a><a href="/industries/remodeling" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Remodeling & Renovations</a><a href="/industries/general-contractors" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">General Contractors</a><a href="/industries/landscaping" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Landscaping & Hardscaping</a><a href="/industries/concrete-masonry" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Concrete & Masonry</a><a href="/industries/painting" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Painting Contractors</a><a href="/industries/pest-control" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Pest Control Companies</a><a href="/industries/garage-doors" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Garage Door Services</a><a href="/industries/window-treatments" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Window Treatment Contractors</a><a href="/industries/flooring" class="px-5 py-3 border-b border-slate-100 last:border-0 hover:bg-slate-100 text-slate-700">Flooring Contractors</a></div></div><a href="/blog" class="font-bold text-xl py-2 border-t border-slate-100">Blog</a><a href="/videos" class="font-bold text-xl py-2 border-t border-slate-100">Videos</a><a href="/modern-web-blueprint" class="font-bold text-xl py-2 border-t border-slate-100">Blueprint</a><a href="/#testimonials" class="font-bold text-xl py-2 border-t border-slate-100">Reviews</a><div class="flex flex-col gap-4 mt-4 pt-6 border-t border-slate-100"><a href="/contact" data-open-consultation="true" class="mobile-contact-link flex items-center justify-center gap-2 px-6 py-4 rounded-xl bg-primary text-white font-bold text-lg text-center w-full cursor-pointer">Free Consultation</a><a href="tel:+12517650333" class="flex items-center justify-center gap-2 px-6 py-4 rounded-xl border border-slate-300 bg-slate-50 text-slate-800 font-bold text-lg text-center w-full">(251) 765-0333</a></div></div></div></header>
53<script> 54 const header = document.getElementById('site-header'); 55 const navLinks = document.querySelectorAll('.nav-link, .logo-text, .cta-outline'); 56 57 // Scroll behavior (disabled since we use solid background) 58 window.addEventListener('scroll', () => { 59 if (window.scrollY > 10) { 60 header.classList.add('shadow-sm'); 61 } else { 62 header.classList.remove('shadow-sm'); 63 } 64 }); 65 66 // Mobile menu toggle 67 const mobileBtn = document.getElementById('mobile-menu-btn'); 68 const mobileMenu = document.getElementById('mobile-menu'); 69 const menuIcon = document.querySelector('.menu-icon'); 70 const closeIcon = document.querySelector('.close-icon'); 71 72 if (mobileBtn) { 73 mobileBtn.addEventListener('click', () => { 74 mobileMenu.classList.toggle('hidden'); 75 menuIcon.classList.toggle('hidden'); 76 closeIcon.classList.toggle('hidden'); 77 78 // Force solid header when menu is open 79 if (!mobileMenu.classList.contains('hidden')) { 80 document.body.style.overflow = 'hidden'; 81 } else { 82 document.body.style.overflow = ''; 83 } 84 }); 85 86 // Close mobile menu when clicking a link 87 mobileMenu.querySelectorAll('a').forEach((link) => { 88 link.addEventListener('click', () => { 89 mobileMenu.classList.add('hidden'); 90 menuIcon.classList.remove('hidden'); 91 closeIcon.classList.add('hidden'); 92 document.body.style.overflow = ''; 93 }); 94 }); 95 } 96 97 // Mobile services accordion 98 const servicesBtn = document.getElementById('mobile-services-btn'); 99 const servicesPanel = document.getElementById('mobile-services-panel'); 100 const chevron = servicesBtn?.querySelector('svg'); 101 102 if (servicesBtn) { 103 servicesBtn.addEventListener('click', () => { 104 servicesPanel.classList.toggle('hidden'); 105 servicesPanel.classList.toggle('flex'); 106 chevron.classList.toggle('rotate-180'); 107 }); 108 } 109 110 // Mobile industries accordion 111 const industriesBtn = document.getElementById('mobile-industries-btn'); 112 const industriesPanel = document.getElementById('mobile-industries-panel'); 113 const industriesChevron = industriesBtn?.querySelector('svg'); 114 115 if (industriesBtn) { 116 industriesBtn.addEventListener('click', () => { 117 industriesPanel.classList.toggle('hidden'); 118 industriesPanel.classList.toggle('flex'); 119 industriesChevron.classList.toggle('rotate-180'); 120 }); 121 } 122</script>
122<section class="bg-primary pt-36 md:pt-24 pb-8 md:pb-12 relative overflow-hidden"><div class="absolute w-[800px] h-[800px] bg-accent/10 rounded-full blur-[100px] top-[40%] left-[70%] transform -translate-x-1/2 -translate-y-1/2 pointer-events-none"></div><div class="absolute inset-x-0 bottom-0 h-32 bg-gradient-to-t from-background to-transparent pointer-events-none"></div><div class="max-w-7xl mx-auto px-6 lg:px-8 relative z-10"><h1 class="text-4xl md:text-6xl font-black text-foreground tracking-tight leading-tight mb-3">Contractor Marketing<br><span class="text-accent">Insights Blog</span></h1><p class="text-foreground/70 text-lg md:text-xl max-w-2xl leading-relaxed">Practical strategies for HVAC, plumbing, roofing, and electrical contractors who want more calls, more leads, and more booked jobs.</p></div></section><div class="bg-muted/20 border-b border-border/50 py-3 relative z-10"><div class="max-w-7xl mx-auto px-6 lg:px-8"><div class="flex items-center gap-2 text-foreground/60 text-sm font-medium"><a href="/" class="hover:text-primary transition-colors">Home</a><span>></span><span class="text-primary font-medium">Blog</span></div></div></div><section class="py-16 md:py-24 bg-background relative z-10"><div class="max-w-7xl mx-auto px-6 lg:px-8"><style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
122<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script>
122<script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script>
122<astro-island uid="1pL3VY" prefix="r2" component-url="/_astro/AirtableBlogManager.CwJ3auRk.js?dpl=6ab6f2bf3abadf0007dd4152" component-export="default" renderer-url="/_astro/client.DoPZAAyM.js?dpl=6ab6f2bf3abadf0007dd4152" props="{}" ssr client="load" opts="{"name":"AirtableBlogManager","value":true}"></astro-island><div class="flex items-center justify-between mb-8"><div><h2 class="text-2xl md:text-3xl font-black text-foreground tracking-tight">All Recent Posts</h2><p class="text-sm text-muted-foreground mt-1">Sorted by date published</p></div><span class="text-xs font-semibold px-3 py-1 bg-primary/10 text-primary rounded-full">9 Articles</span></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"><a href="/blog/the-ai-first-seo-playbook-how-to-rank-in-llms-and-dominate-search" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="mb-5 overflow-hidden rounded-xl border border-border"><img src="https://firebasestorage.googleapis.com/v0/b/gen-lang-client-0479232181.firebasestorage.app/o/users%2F2omoBhQUhFcZea22dJpNflFTXjb2%2Fassets%2F0c1f902b-0598-4e7d-a4f5-5b70e51588be_25d406ed-267a-4b7b-b104-ca7b766c220f_city-wide-12.webp?alt=media&token=d7ea619f-0011-49dc-b91e-4dbf2e604a03" alt="The AI-First SEO Playbook: How to Rank in LLMs and Dominate Search" class="w-full h-48 object-cover group-hover:scale-105 transition-transform duration-500"></div><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-accent/10 text-accent">AI & Search</span><span class="text-muted-foreground text-xs">August 14, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">The AI-First SEO Playbook: How to Rank in LLMs and Dominate Search</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Search engine optimization is no longer just about competing for the classic "10 blue links." As search engines integrate AI overviews and users turn directly to Large Language Models (LLMs) like ChatGPT, the rules of search visibility are shifting rapidly toward Generative Engine Optimization (GEO).</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">6 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/the-unseen-architecture-deconstructing-the-bones-of-a-great-website" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-accent/10 text-accent">Website Design</span><span class="text-muted-foreground text-xs">July 22, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">The Unseen Architecture: Deconstructing the Bones of a Great Website</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Most contractor websites look fine on the surface. The ones that actually generate leads are built differently â from the foundation up. Here's what separates a website that converts from one that just exists.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">9 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/south-baldwin-county-construction-market-intelligence" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-primary/10 text-primary">Lead Generation</span><span class="text-muted-foreground text-xs">July 16, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">Who Are the Real Competitors for Coastal Renovation & Outdoor Living Contractors in South Baldwin County?</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">In Foley, Gulf Shores, and Orange Beach, contractors compete in a tight market of specialists and hybrids. Here's how the competitive landscape breaks down â and what it means for your marketing narrative.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">7 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/marketing-for-fence-and-deck-builders" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-primary/10 text-primary">Lead Generation</span><span class="text-muted-foreground text-xs">July 9, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">Marketing for Fence and Deck Builders: Get More Jobs Without Wasting Money on Bad Leads</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">If you build fences, decks, gates, railings, or pergolas, too many of your leads are junk, price shoppers, or outside your service area. Here's how to fix that.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">8 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/ai-vs-voicemail-why-contractors-are-switching" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-primary/10 text-primary">AI & Automation</span><span class="text-muted-foreground text-xs">April 25, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">AI vs. Voicemail: Why Contractors Are Ditching the Answering Machine</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Voicemail was designed as a convenience â a way to catch messages when you're unavailable. For contractors competing for inbound leads in 2026, it's become a liability.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">6 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/5-ways-to-get-more-google-reviews" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-accent/10 text-accent">Reviews</span><span class="text-muted-foreground text-xs">April 2, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">5 Ways to Get More 5-Star Google Reviews from Customers</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Reviews are the most underused growth lever most contractors have. Here's how the businesses that consistently win on Google actually generate them.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">6 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/how-google-maps-rankings-work-for-contractors" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-primary/10 text-primary">Google Maps</span><span class="text-muted-foreground text-xs">March 14, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">How Google Maps Rankings Work for Local Service Contractors</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">The three-pack is where most local searches end. Here's what Google actually looks at when deciding which contractors show up â and what you can do about it.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">7 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/real-cost-of-a-missed-call-for-contractors" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-accent/10 text-accent">Call Tracking</span><span class="text-muted-foreground text-xs">February 28, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">The Real Cost of a Missed Call for Contractors</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Most contractors think about missed calls as an inconvenience. The math tells a very different story â one that should change how you think about your phone as a business asset.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">5 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a><a href="/blog/why-hvac-companies-lose-calls-to-competitors" class="block group"><article class="bg-card border border-border group-hover:border-accent/40 group-hover:shadow-lg rounded-2xl p-6 transition-all duration-300 h-full flex flex-col"><div class="flex items-center justify-between gap-3 mb-4"><span class="text-xs font-bold px-3 py-1 rounded-full bg-primary/10 text-primary">Lead Generation</span><span class="text-muted-foreground text-xs">February 10, 2026</span></div><h3 class="text-lg font-black text-foreground group-hover:text-primary tracking-tight mb-3 transition-colors">Why Your HVAC Company Is Losing Calls to Competitors (And How to Fix It)</h3><p class="text-muted-foreground text-sm line-clamp-3 mb-6 flex-grow">Most HVAC contractors assume they're losing business because their prices are too high or their reputation isn't strong enough. The real culprit is almost always simpler â and more fixable.</p><div class="flex items-center justify-between pt-4 border-t border-border/50 mt-auto"><span class="text-xs text-muted-foreground">6 min read</span><span class="text-accent font-semibold text-sm flex items-center gap-1 group-hover:translate-x-1 transition-transform">Read article →</span></div></article></a></div><div class="bg-primary rounded-2xl p-10 text-center mt-16 md:mt-24 shadow-2xl relative overflow-hidden"><div class="absolute inset-0 bg-[url('/noise.png')] opacity-5 mix-blend-overlay pointer-events-none"></div><div class="relative z-10"><h3 class="text-2xl md:text-3xl font-black text-white mb-4">Ready to put these ideas to work?</h3><p class="text-white/80 text-lg mb-8 max-w-2xl mx-auto">Let's talk about what a complete lead generation system looks like for your business.</p><a href="/contact" data-open-consultation="true" class="inline-block bg-white hover:bg-gray-100 text-primary font-bold px-8 py-3.5 rounded-full transition-colors shadow-lg cursor-pointer">Get a Free Strategy Call →</a></div></div><div class="mt-12 text-center"><a href="/blog?admin=true" class="text-[11px] text-muted-foreground
122/40 hover:text-muted-foreground transition-colors">Airtable Blog Settings</a></div></div></section><astro-island uid="2dUHik" prefix="r3" component-url="/_astro/ConsultationModal.DLxISYAi.js?dpl=6ab6f2bf3abadf0007dd4152" component-export="default" renderer-url="/_astro/client.DoPZAAyM.js?dpl=6ab6f2bf3abadf0007dd4152" props="{}" ssr client="load" opts="{"name":"ConsultationModal","value":true}"></astro-island><div class="fixed top-[72px] left-0 right-0 z-40 flex md:hidden border-b border-gray-200 bg-white shadow-lg"><a href="tel:+12517650333" class="flex-1 flex items-center justify-center gap-2 py-4 bg-blue-900 text-white font-semibold text-sm active:opacity-90 transition-opacity"><svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path></svg>Call Now</a><a href="/contact" data-open-consultation="true" class="flex-1 flex items-center justify-center gap-2 py-4 bg-cyan-400 text-gray-900 font-semibold text-sm active:opacity-90 transition-opacity cursor-pointer"><svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>Free Consultation</a></div><a href="https://g.page/r/CU66D2V3GqfCEBM/review" target="_blank" rel="noopener noreferrer" class="fixed bottom-4 md:bottom-8 left-4 md:left-8 z-50 flex items-center gap-3 bg-slate-900 text-white px-4 py-3 rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.2)] hover:shadow-[0_8px_30px_rgb(0,0,0,0.3)] hover:-translate-y-1 transition-all duration-300 border border-slate-800"><div class="bg-white rounded-full p-1 w-9 h-9 flex items-center justify-center shrink-0"><svg viewBox="0 0 24 24" class="w-6 h-6"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg></div><div class="flex flex-col"><div class="flex items-center gap-1.5"><span class="font-bold text-[1.1rem] leading-none tracking-tight">4.9</span><div class="flex text-[#FBBC05]"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div></div><span class="text-[9px] text-slate-400 font-bold uppercase tracking-wider mt-0.5">23 Google Reviews</span></div></a><div class="fixed bottom-6 md:bottom-8 left-1/2 -translate-x-1/2 z-[60] pointer-events-none" data-astro-cid-3zg35nai><a href="/free-seo-checker" class="pointer-events-auto flex items-center justify-center gap-2 bg-[#FFD700] hover:bg-[#FACC15] text-black font-extrabold py-3 md:py-3.5 px-6 md:px-8 rounded-full shadow-[0_8px_30px_rgba(255,215,0,0.4)] hover:shadow-[0_8px_30px_rgba(255,215,0,0.6)] transition-all duration-300 animate-wiggle whitespace-nowrap border-2 border-yellow-500/20" data-astro-cid-3zg35nai><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-3zg35nai><circle cx="11" cy="11" r="8" data-astro-cid-3zg35nai></circle><path d="m21 21-4.3-4.3" data-astro-cid-3zg35nai></path></svg>
122Free SEO Checker</a></div><button id="scroll-to-top" aria-label="Scroll to top" class="fixed bottom-36 md:bottom-24 right-4 md:right-8 z-50 w-11 h-11 rounded-full bg-blue-900 text-white shadow-lg items-center justify-center hover:bg-cyan-500 transition-all duration-200 hidden opacity-0"><svg class="w-5 h-5 mx-auto" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M5 15l7-7 7 7"></path></svg></button>
122<script type="module">var e=document.getElementById(`scroll-to-top`);window.addEventListener(`scroll`,()=>{window.scrollY>500?(e.classList.remove(`hidden`,`opacity-0`),e.classList.add(`flex`,`opacity-100`)):(e.classList.add(`opacity-0`),setTimeout(()=>{window.scrollY<=500&&e.classList.add(`hidden`)},200))},{passive:!0}),e.addEventListener(`click`,()=>window.scrollTo({top:0,behavior:`smooth`}));</script>
122</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.