A local residential solar company partnered with us to fix how a job moves from first call to final review. We started with the website, because that's where the lead system starts. Solar installer SEO is usually sold as its own project by its own agency. We treated it as the first stage of the system, and had a working preview up the evening of the kickoff meeting.
What the old site was telling Google and AI assistants
- Four different phone numbers on the company's own pages.
- Structured data that gave another business's building as the company's address.
- A dozen near-duplicate service pages, plus two contact pages, all competing for the same searches.
- Unfinished template text and sample testimonials still live on several pages.
- No Search Console and no analytics, so nobody could see what search was doing.
- A free email address as the business email.
None of that is unusual for an installer that grew through referrals and door knocking. It still costs something. An AI assistant deciding which local installer to name cross-checks details. When the phone number and the address don't agree, it has less reason to trust either.
The order we did it in
- 01Measure first. Before changing anything, we asked ChatGPT, Perplexity, Google AI Overviews and Google AI Mode 19 questions a homeowner would ask, three times each, and checked who they named. We pulled Google results and the Maps listing the same day. That was the baseline.
- 02Map the old site. Every page crawled, a new sitemap, and a redirect planned for every old address, all on kickoff day.
- 03Lock one name, one phone, one address. The owners confirmed the phone number. We matched the address to the Google Business Profile. Everything downstream repeats these, so they had to be settled first.
- 04Rebuild. Overlapping pages merged: one page per service instead of three or four, and one contact page instead of two. New pages for reviews, careers and a blog. Real photos and the owners' own customer videos, no stock.
- 05Make it readable by machines. Structured data on every page that says what the business is, what each service is, and answers the common questions on each service page. Pages are rendered on the server, so the content is in the HTML for crawlers that don't run JavaScript. AI search crawlers are explicitly allowed. Every old URL redirects to its new home.
- 06Connect it. Every form posts to the CRM and tells it which page and which button the lead came from.
Kickoff to working preview: the same day. Kickoff to live on the domain: within 8 days, across 22 reviewed and merged changes.
How it moved that fast
One team owned all of it: the audit, the design, the code, the redirects and the handoff to the CRM. While the site was being built, the CRM side (pipelines, lead routing and phone routing) was set up in parallel, so the forms had somewhere to land on day one. There was no web agency waiting on a CRM consultant waiting on an ads person.
We also cut what didn't earn its place yet. Pages for individual towns wait until there are real local jobs to show on them. A town page with no local proof ranks poorly and gives an AI assistant nothing to cite.
What changed in a week
We ran the same 19 questions, three times each, a week after the baseline, with the new site live.
| Measure | Old site | New site |
|---|---|---|
| AI answers naming the company (4 assistants combined) | 36% | 50% |
| ChatGPT | 57% | 73% |
| Perplexity | 24% | 53% |
| Google AI Mode | 21% | 28% |
| Service questions where the site ranked in Google's top 10 | 0 | 4 |
The new homepage also scores 98 on Google's mobile PageSpeed test.
Perplexity more than doubled. ChatGPT now names the company in nearly 3 of every 4 answers. And all of it came from one week of work, before a single directory listing was touched.
What GEO meant here
GEO, or generative engine optimization, is getting a business named when someone asks ChatGPT, Perplexity, Gemini or Google's AI features for help. "Who's a good solar installer near me?" is now a question people ask an assistant, not only a search box.
Most of the work is ordinary work done carefully:
- Consistent facts everywhere, so an assistant sees one company, not four.
- Structured data that states the business, its services and its answers in a form machines read.
- Plain answers to the questions homeowners ask, on the page for that service.
- Pages crawlers can read, with AI search crawlers allowed in.
We also publish an llms.txt file, a plain summary of the business written for AI tools.
Why the website is part of our scope
The site is the front of the Lead system, the first of the five systems we build. A website that captures a form and drops it in an inbox, or ranks well and sends calls to an old number, hasn't done its job. So we build it connected: forms into the CRM, a text back on missed calls, review requests after every job, and one monthly scorecard that shows leads by source.
That's why website and local SEO sit inside the Farum Foundation, not on a separate invoice. They're in the first phase of the build, and SEO upkeep is part of the run work every month after.
What comes next
The foundation is live. Phase two builds on it:
- Listings. Every directory and review site updated to the one name, phone and address, in a single pass now that they're locked.
- Tracking. Analytics and call tracking, so leads by source land in the monthly scorecard.
- Reviews. A review request after every completed job.
- Town pages, built around real local installs.
We'll add the full quarter's numbers here. The next homeowner who asks for a local installer should find one name, one number, and a page that answers the question. That's the job.