How the site gets built. Platform selection, performance budgets, SEO strategy, analytics integration, scalability roadmap, and deployment pipeline.
Webflow wins for Connesso's specific situation — a marketing team that needs to move fast with a design-forward site and no dedicated frontend developer on staff. This is not a default recommendation. It was evaluated against Next.js + Sanity, Astro + Sanity, and WordPress + ACF.
Revisit trigger: When Connesso reaches 5+ markets, 50+ projects, or hires a dedicated web developer, re-evaluate migration to Next.js + headless CMS.
| Criteria | Webflow Business | Next.js + Sanity | WordPress + ACF |
|---|---|---|---|
| Marketing updates | Native visual editor. No code. | Sanity Studio is good, but layout changes need a dev. | Visual with Elementor, but fragile at scale. |
| CMS capability | 10,000 item limit. Adequate for years. | No limits. Full flexibility. | ACF works but plugin dependency risk. |
| Performance | Good, not great. No code splitting. | Excellent. Full control. | Poor without heavy optimization. |
| SEO control | Full meta. Manual schema via custom code. | Full control. Programmatic schema. | Full via plugins. Slower pages hurt. |
| Developer dependency | Low for content. Medium for new templates. | High for everything except CMS content. | Medium. Plugin conflicts need dev. |
| Cost | $49/mo. Predictable. | $2,000-5,000/mo including dev time. | $30-60/mo + dev hours. |
| Time to launch | 6-8 weeks. | 10-14 weeks. | 8-10 weeks. |
| Limitation | Workaround | Phase |
|---|---|---|
| CMS item limit: 10,000 | Monitor. ~250 items at launch. Archive old posts if approaching limit. | Scale |
| No server-side filtering | Finsweet Attributes (free, Webflow-native) for client-side filtering. | MVP |
| Limited form logic | Webhook → Make.com. Route by field values to CRM + notifications. | MVP |
| No programmatic schema | JSON-LD templates per page type. CMS fields populate dynamic values. | MVP |
| No A/B testing | Third-party (VWO/Convert) or manual CMS rotation. | Phase 2 |
| Dark mode toggle | 10-line JS script toggling .dark-mode class + localStorage. | MVP |
| Service | Purpose | Integration | Phase |
|---|---|---|---|
| Google Analytics 4 | Traffic, behavior, conversions | GTM or Webflow native | MVP |
| Google Tag Manager | Script management, events | Custom code in head | MVP |
| Make.com | Form routing, CRM sync | Webhooks from forms | MVP |
| HubSpot CRM | Lead management | Make.com → HubSpot API | MVP |
| ConvertKit | Email marketing | Make.com or direct API | MVP |
| Calendly | Consultation scheduling | Embed on /contact/ | MVP |
| Hotjar / Clarity | Heatmaps, session recordings | GTM script | Phase 2 |
| CallRail | Phone call tracking | JS number swap | Phase 2 |
Webflow form → Webhook → Make.com → Routes by project_type field: "Trade Partnership" goes to sales pipeline, all others go to homeowner pipeline. UTM parameters, landing page, and referrer appended to every CRM record.
65-70% of traffic is mobile. Many visitors are on job sites with their builder. Performance is not optional.
| Page Type | HTML+CSS | JavaScript | Images | Fonts | Total |
|---|---|---|---|---|---|
| Homepage | 80 KB | 100 KB | 800 KB | 80 KB | 1,060 KB |
| Hub pages | 60 KB | 80 KB | 600 KB | 80 KB | 820 KB |
| Detail pages | 60 KB | 80 KB | 700 KB | 80 KB | 920 KB |
| Conversion pages | 50 KB | 60 KB | 300 KB | 80 KB | 490 KB |
| Blog post | 50 KB | 60 KB | 500 KB | 80 KB | 690 KB |
font-display: swap (FOUT)Connesso competes against local AV installers with older domains and national players like Bravas with massive authority. The site architecture IS the SEO strategy.
| Page Type | Template | Example | Chars |
|---|---|---|---|
| Homepage | {Brand Descriptor} | Connesso | Home Experience Design | Connesso | 34 |
| Experience | {Name} | {Descriptor} | Connesso | Light & Shade | Luxury Lighting Automation | Connesso | 54 |
| Project | {Title} | {City} | Connesso | Lakeside Modern Retreat | Columbus | Connesso | 47 |
| Location | Smart Home Design in {City}, {ST} | Connesso | Smart Home Design in Columbus, OH | Connesso | 45 |
| Trade Partners | Trade Partners | Builder Partnerships | Connesso | — | 52 |
| Blog Post | {Post Title} | Connesso | What to Expect from Home Automation | Connesso | 47 |
Homepage (global). Brand entity for knowledge panel.
name, url, logo, sameAs, contactPoint, address
Each location page. Map pack ranking.
name, address, telephone, openingHours, geo, areaServed
Each experience category. Rich results for service queries.
name, description, provider, areaServed, serviceType
All pages except homepage. Breadcrumb rich results.
Auto-generated from DOM via site-wide script
Experience pages, S&S, Contact. Significant SERP real estate.
Generated from FAQ accordions. schema_eligible flag in CMS.
Blog posts (Phase 2). Article rich results.
headline, author, datePublished, image, publisher
Every project page links to: location, experience categories (badges), and trade partners (if builder named). Every experience page links to: 3 related projects. Every location page links to: local projects and experience categories. Every blog post (Phase 2) links to: at least 1 experience category + 1 project + contact. Footer on every page links to: all 6 experiences, both locations, Trade Partners, Contact.
Anchor text rule: Descriptive text, not "click here." Vary naturally. Use target page's H1 or close variant.
Each page hand-crafted with unique content. No issues.
CMS template handles layout. Content brief template for new markets. New page live within 2 weeks of office opening.
"Locations" nav item gets a dropdown showing all markets. Footer switches to compact grid.
Locations hub becomes map interface. About page shows leadership only; full team on location pages.
Do NOT create location variants of experience pages (duplicate content trap). Use blog posts for location-specific experience content.
All visible. No pagination. Client-side Finsweet filtering by category.
12 visible initially, load 12 more per click. Filtering still client-side.
Category (pill tabs) + Location (dropdown). Add content-visibility: auto CSS.
If client-side filtering is sluggish, this is a trigger to evaluate headless CMS migration.
Experience pages: What it IS. Aspirational + educational. No city mentions.
Location pages: What Connesso does HERE. Local team, projects, builders.
Blog posts: The intersection. "Smart Lighting for Columbus Homes" links to both.
Rule: No two pages target the same primary keyword.
Decision: Subdirectory. Always.
/locations/charlotte/ not charlotte.getconnesso.com
Subdirectories inherit domain authority. Subdomains are treated as separate entities. Young domain needs to consolidate authority. Every major competitor uses subdirectories.
| Conversion | GA4 Event | Value |
|---|---|---|
| Consultation form submit | form_submit • form_name: consultation | Highest |
| Trade partner form submit | form_submit • form_name: trade_partner | Highest |
| Phone call click | click • link_type: phone | High |
| Email click | click • link_type: email | Medium |
| Calendly booking | schedule_consultation | Highest |
| Signal | Tracking | What It Means |
|---|---|---|
| Experience page view | page_view on /experiences/* | Educating. Mid-funnel. |
| Project page view | page_view on /our-work/* | Evaluating quality. High-intent. |
| Gallery interaction | gallery_open event | Picturing this in their home. |
| Location page view | page_view on /locations/* | Checking if we're in their area. |
| Trade Partners page view | page_view on /trade-partners/ | Builder/architect evaluating. |
| 3+ pages per session | GA4 session depth | Engaged. Not a bounce. |
| CTA click (non-form) | cta_click event | Intent but didn't complete form. |
Create unique UTM links per builder partner: getconnesso.com/?utm_source=builder&utm_medium=referral&utm_campaign=xyz-builders. UTMs flow through hidden fields → Make.com → CRM. Sales knows which builder referred which lead. Critical for proving partnership ROI.
Tool: Google Looker Studio (free)
Tool: Looker Studio, separate Leadership tab
Re-evaluate the Webflow decision when ANY of these become true:
Item count exceeds 5,000 (50% of Webflow limit)
Client-side filtering sluggish at 50+ projects
Frontend developer joins full-time or on retainer
Webflow Business. GA4 + GTM. Make.com + HubSpot CRM. ConvertKit. Schema markup. Performance optimization. Local SEO setup. 6-8 week build.
Blog (2 posts/month). Hotjar/Clarity. CallRail. SEO monitoring (Ahrefs/Semrush). A/B testing. Content authority building.
Additional locations. 50+ projects. Evaluate headless CMS migration. Mega-menu nav. Advanced filtering. No architectural changes needed.