All Posts
case studySEOlocal business

How I Built a 30-Page Roofing Website That Ranks in Local Search

A behind-the-scenes look at building cignaroofing.com — the strategy behind 30+ pages, local SEO, and what it takes to compete in Long Island contractor search results.

When Cigna Roofing came to me, they’d been in business for 24 years but had no real online presence. Most of their work came from word-of-mouth and yard signs. They wanted a website that could bring in new customers — not just look professional.

Here’s how I built it and why every decision was made with search rankings in mind.

The Strategy: Pages That Target Real Searches

The biggest mistake I see on contractor websites is having 5 pages: home, about, services, gallery, contact. That’s not enough for Google to understand what you do or where you do it.

When someone searches “roof repair Babylon NY” — Google needs a page on your site that specifically talks about roof repair in Babylon. A generic services page won’t cut it.

So I built:

9 Service Pages

One dedicated page for each service Cigna offers:

  • Roof repair
  • Roof replacement
  • New roof installation
  • Flat roofing
  • Siding
  • Gutters
  • Skylights
  • Chimney work
  • Storm damage repair

Each page has 600–800 words of unique content, not copy-pasted descriptions. Each one targets specific long-tail keywords like “flat roof repair Long Island” or “gutter installation Nassau County.”

9 Service Area Pages

One page for each geographic area they serve:

  • Babylon
  • Islip
  • Smithtown
  • Huntington
  • Brookhaven
  • And four more

Each service area page mentions specific towns within that area, talks about local building codes or weather patterns, and links back to relevant service pages. When someone searches “roofer in Smithtown NY,” there’s a dedicated page ready to rank.

Blog Posts

I set up Astro content collections for their blog, starting with posts targeting questions their customers actually ask: “How do I know if I need a new roof?” and “What does homeowner’s insurance cover for roof damage?”

Blog content builds topical authority. Google sees that your site comprehensively covers roofing topics and is more likely to rank your service pages too.

Technical SEO: The Foundation

Structured Data

Every page has JSON-LD structured data. The homepage uses RoofingContractor schema with:

  • Business name, address, phone
  • Service areas
  • Services offered
  • Business hours
  • Aggregate rating (once reviews come in)

Google uses this to populate Knowledge Panels and rich search results.

Speed

The site is built with Astro, which generates static HTML — no server-side rendering, no database queries on each visit. Pages load in under 2 seconds.

Images are served in AVIF and WebP formats with responsive sizing. No full-resolution photos loading on mobile.

Internal Linking

Every service page links to relevant service area pages. Every service area page links back to relevant services. The blog links to both. This creates a web of connections that helps Google understand the site structure and passes link authority between pages.

The Design Decisions

Video Hero

The homepage opens with a subtle video background showing roofing work. It’s compressed, lazy-loaded after the critical content, and has a static poster frame for fast initial paint. Video grabs attention without sacrificing performance.

Lead Capture Everywhere

There are three separate form types:

  1. Quote request — detailed form for project estimates
  2. Free inspection booking — simpler form for scheduling
  3. Emergency contact — minimal form for urgent situations

Each form uses FormSubmit.co for processing with honeypot fields for spam protection. No server to maintain, no database to manage.

Testimonials

12 real customer testimonials displayed throughout the site. Not on a separate testimonials page that nobody visits — woven into service pages and the homepage where they build trust at the moment of decision.

What I’d Do Differently

Honestly? Not much. But if I were starting today:

  • I’d push harder for Google Business Profile optimization from day one
  • I’d plan a monthly blog cadence (2 posts/month) to build authority faster
  • I’d add FAQ schema to every service page, not just the main FAQ section

Results

The site launched with 30+ pages of optimized content, proper structured data, and a technical foundation built for search. It’s now the most comprehensive roofing website serving Long Island — competing with companies that have been doing SEO for years.

The Takeaway

If you’re a contractor or service business on Long Island, a 5-page website isn’t going to cut it. You need pages that match what people are actually searching for — specific services, specific locations.

It’s more work upfront, but it’s the difference between a website that sits there and one that brings in calls.

Want to see the live site? Check out Cigna Roofing & Construction. And if you want something similar for your business, let’s talk.

Need a Website That Works?

I build custom websites for small businesses. Let's talk about what you need.