The starting point
We started with a site audit in June 2024. Desktop load times were fine and crawl errors were close to zero, but pages were missing H1 tags, meta descriptions needed work and some images lacked alt text. Mobile Largest Contentful Paint needed to get under four seconds.
The local side had bigger gaps. The header and footer showed one phone number while page copy pushed a toll-free line, and the audit flagged name, address and phone consistency across citations and Google Business Profiles. Internal links used a very narrow set of anchor phrases, and the blog template had no featured image, no H1 and no author bio.
The company kept adding branches, so the site also needed a way to add location pages without creating duplicates that compete with each other.
What we did
- Recommend the on-page fixes The audit recommended adding H1s to every page, improving meta descriptions and image alt text, a blog template with author bios and dates, and wider internal link anchors so service and city terms show up in the links themselves.
- Track every branch separately Each location got its own set of 9 to 15 ‘service + city’ keywords in BrightLocal or Local Falcon, and we pulled profile call counts for every branch each month.
- Produce local content Wrote blog posts, Google Business Profile posts, guest posts and press releases aimed at each branch’s services and cities.
- Write a URL policy for expansion New branches follow a written rule set: one canonical page per service, one page per city, optional region pages, ZIP code pages set to noindex, and hierarchy shown through breadcrumbs, BreadcrumbList schema and internal links instead of deep folders. Every new location URL passes an approval checklist first.
- Report on all of it monthly Each report combined Search Console, GA4, Semrush, Ahrefs and Moz snapshots with per-branch rankings and profile call counts.
Delivered
- Technical, on-page, off-page and local SEO audit (June 2024)
- Monthly multi-location SEO reports
- Keyword tracking for 11 locations, 9 to 15 keywords each
- URL expansion policy with an approval checklist for new location pages
- Blog, profile, guest post and press release content
- Ubersuggest rank tracking across 150 keywords
What changed
In February 2026 the 11 profiles brought in 102 calls combined, up from 77 the month before. Over matching 28-day windows in GA4, organic search sessions went from 631 to 669 and direct sessions from 477 to 821. Semrush’s AI Search Visibility score moved from 22 to 23, and its count of cited pages from 76 to 81.
Total sessions fell in that same comparison, from 1,968 to 1,757. Most of the drop came from referral traffic, which went from 562 sessions to 78. Organic search sessions still rose while referral traffic fell away.
Some smaller-market terms moved most. Between May 9 and May 23, 2026, one branch’s ‘water damage restoration’ keyword went from position 9 to 4 in Ubersuggest, and a ‘disaster restoration services’ term for the same city went from outside the top 100 to 5. A few other smaller-market terms slipped in the same window.
What we’d point out
The big-metro head terms are the open problem. In the May 2026 tracker, water damage and mold removal searches for the largest cities were still unranked. Across all 150 tracked keywords in that two-week window, 23 moved up, 32 moved down and 95 held.
The call figure is a one-month comparison, and restoration calls swing with weather and season as much as with search. We’d judge the trend over several months. Next up are new city pages built under the URL policy and more work on the metro terms. See how we approach restoration company marketing and our local SEO service.
