By Lesli Rose · May 13, 2026 · 6 min read
This platform was doing a lot right. AI-powered voice agents. Automated appointment booking. A reputation management module. Four pricing tiers from $97 to $497/month. 79 pages covering six industry segments. A founder with 20+ years of digital marketing experience. The product is real. The offer is clear.
When I pulled the raw HTML for their homepage, this is what I found in the body:
<body> <div id="root"></div> </body>
That is it. One div. No title tag. No meta description. No schema. No headings. No content. Everything visible on the site -- the value proposition, the features, the pricing, the testimonials -- lives inside a JavaScript bundle that only executes in a browser. AI crawlers do not execute JavaScript. Google's rendering pipeline does, eventually, but with delays and gaps.
The result: a platform with real differentiators and a legitimate product was invisible to every AI recommendation system that their target buyers use. When someone asks ChatGPT "what CRM should I use for my HVAC business," this company does not appear. Not because the answer is wrong for them. Because the question arrives at a site with nothing to read.
The site was built with Lovable.app, an AI-assisted React SPA builder. Lovable is excellent for rapid prototyping and visual design. It produces a beautiful, fast-feeling front-end. But it ships a client-rendered SPA by default -- which means every page load begins with an empty HTML shell and waits for JavaScript to populate the content.
For human visitors on modern browsers, this is invisible. The page loads fast enough that the experience feels fine. For AI systems scanning raw HTML to build citation lists, the experience is a blank page.
This is not a GoHighLevel problem or a Lovable problem -- it is an architecture mismatch. The fix is migrating the public marketing site (not the application) to Next.js, which server-renders pages by default and delivers full HTML on every request.
Because the site is a SPA, there is no <title> element in the raw HTML. Not a weak one. Not a generic one. None. Google infers a title from the rendered page content, which produces inconsistent and often truncated SERP listings. Every organic search result for this platform is unbranded and uncontrolled.
For a SaaS trying to build brand recognition in a crowded space (CRM and marketing automation), this is a compounding problem. Every search impression that shows an invented title is an impression that does not reinforce the brand.
No JSON-LD schema blocks were found on any page audited: homepage, About, AI Center, CRM solutions, Marketing Automation, or any industry page. The recommended schema package for a SaaS in this space includes Organization, SoftwareApplication, Person (founder), Service (per page), FAQPage (on pricing and feature pages), BreadcrumbList, WebSite, and AggregateRating once reviews exist.
Schema matters less for traditional Google rankings than it once did. It matters enormously for AI citability. When ChatGPT or Perplexity asks "is this a legitimate software company?" -- the presence of Organization schema with a named founder, a valid URL, and consistent contact information is one of the signals that answers yes.
According to AirOps' analysis of 21,311 brand mentions across GPT-4, Claude, and Perplexity (published October 2025), 85% of AI citations come from third-party sources -- not the brand's own site. Brands are 6.5x more likely to be cited through external domains.
This platform had no G2 listing. No Capterra profile. No Product Hunt launch. No roundup appearances for any target keyword. Three testimonials on their own website -- named real people, genuine sentiment -- but nothing where AI systems look for software validation.
The fastest path to AI citation for a SaaS is not writing more blog posts. It is getting listed on the sites AI already trusts. A G2 profile with five reviews and a Product Hunt listing can produce more AI citation traction in 60 days than six months of content production.
The application runs on GoHighLevel infrastructure (confirmed by the leadconnectorhq.com script in the page source and the go. subdomain). This is a common and legitimate SaaS reseller model. GoHighLevel is a powerful platform.
But it creates a specific SEO challenge: GoHighLevel itself ranks for almost every keyword this platform would want to own. "Best CRM for HVAC," "marketing automation for local businesses," "AI voice agent for contractors" -- GoHighLevel has years of content authority on all of them.
The differentiation story -- personalized onboarding, founder expertise, done-for-you implementation, coaching layer -- is genuinely valuable. But it has to be told somewhere Google and AI can read it. Right now it lives inside JavaScript.
38
Technical SEO
0
Schema
22
AI Discoverability
5
Earned Visibility
The product architecture is solid. Voice AI, conversation AI, workflow automation, and a content AI layer in one platform is a genuine differentiator from standalone CRMs. The pricing ladder is well-structured and competitive. The industry segmentation (79 pages targeting HVAC, plumbers, roofing, dental, fitness, coaches, and more) shows real strategic thinking about ICP. The founder has the credentials to build authority if the platform gives him the surface area to do it.
Cloudflare is already in place. GA4 is installed. The sitemap is valid with 79 URLs submitted. The URL structure is clean and descriptive. These are not small things -- they are the right foundations. The infrastructure layer above them just needs to catch up.
If you built your marketing site quickly -- on Webflow, Framer, Lovable, or a pure React setup -- there is a reasonable chance your raw HTML is closer to an empty div than a fully indexed page. The site feels fast. The design is good. But Google's rendering queue and AI crawlers' hard limit on JavaScript mean that fast-feeling and fully visible are not the same thing.
Run curl -sL yourdomain.com | grep "<title>" on your own domain. If nothing comes back, your title tag only exists in the browser.
Free Visibility Check
I run a free visibility report for one site per week. If you want to know what Google and AI systems actually see when they crawl yours, start there.
Run Your Visibility ReportGoogle does eventually render and index JavaScript-heavy single page applications, but the process is delayed and unreliable at scale. AI systems like ChatGPT, Perplexity, and Claude do not execute JavaScript -- they read raw HTML only. A React SPA with no server-side rendering is effectively invisible to every AI recommendation system.
Migrate the marketing site to Next.js with the App Router. It server-renders pages by default, delivering full HTML on the first request without requiring JavaScript execution. The application layer (dashboards, CRM) stays as-is. Only the public marketing pages need SSR.
At minimum: Organization, SoftwareApplication, Person (founder), Service (per service page), FAQPage on pricing and feature pages, BreadcrumbList on all pages, and AggregateRating once reviews exist.
85% of AI citations come from third-party sources. For SaaS, the fastest path is: G2 and Capterra profiles with reviews, a Product Hunt listing, and roundup article inclusion. The owned site needs to deliver server-rendered HTML for AI crawlers to corroborate the external citations.