Case study · Masonry contractor · London, ON

Lancaster Flagstone Brick & Concrete

London, ON masonry contractor: NX migrated its 394-page site off Azure, overhauled SEO, wired analytics, and launched its first Google Ads campaign.

WebsiteHostingSEOPaid adsSocialCRM+2
lancasterfbc.com
lancasterfbc.com website
Lancaster Flagstone Brick & Concrete on mobile
394
prerendered pages migrated from Azure Static Apps to managed cPanel hosting
11.21%
Google Ads CTR in week one (223 impressions, 25 clicks), about 2x the 3-5% search average
390/394
pages firing GA4 + NX DAT analytics
~5.3 GB/mo
bandwidth saved by swapping the autoplay hero video for a 401 KB image

The problem.

Lancaster's 394-page prerendered SvelteKit site was stranded on Azure Static Apps: 330 broken backslash-named files, 10,881 hard-coded Azure CDN references, forms wired to dead server actions, and no analytics, Search Console, or rank tracking anywhere.

Worse, the build shipped with fake placeholder testimonials ("Skeezix", "john rotten") in visible HTML and fake aggregateRating review schema on 345 pages, a Google manual-action risk for a real 20-year masonry business.

What we built.

  • Hosting rescue

    Migrated all 394 pages (517 files) from Azure Static Apps to managed cPanel hosting behind Cloudflare. Rewrote 10,881 CDN references, cleaned 330 broken files, rebuilt the quote forms on the CRM, and cut DNS over with email and the Azure CDN subdomain untouched.

  • SEO overhaul

    Patched 829 JSON-LD blocks across 385 pages and stripped fake review schema from 345. Built new tuckpointing, repointing, and masonry pages plus a chimney-cost guide. Enrolled the site in Search Console, GA4, NX DAT, and NX RNK, with nightly rank tracking on 12 London keywords.

  • Real reviews only

    Replaced the fake testimonials on 6 pages with a live Google-review widget served through the CRM, about 88 KB of fake markup removed. As real reviews come in, the site updates itself with no redeploy.

  • Paid search launch

    Built and launched a Search-only Google Ads campaign: 4 ad groups, a dedicated on-brand thank-you page, and verified conversion tracking on the quote form. Bilingual EN/FR site kept intact throughout.

SvelteKit (prerendered static)CPanel hosting (GreenGeeks)CloudflareGA4 + NX DAT analyticsNX RNK rank trackingGoHighLevel (NX CRM) forms + review widgetGoogle Ads

The outcome.

The site has run on NX hosting since May 2026, with analytics firing on 390 of 394 pages. Baseline rank checks put Lancaster at #4-#8 for six core London masonry terms. The first week of ads delivered 223 impressions and 25 clicks, an 11.21% CTR, roughly double the 3-5% search average. A hero-video swap cut about 5.3 GB of monthly bandwidth.

Project assets.

Runs on our own platform.

The systems behind this project are NX products, built, hosted, and maintained by us.

Want a project like this?

Tell us about your business, we will send a fixed quote within one business day.