// residential · storm · commercial

Roofing sites that win the week after the storm.

Roofing search is feast-or-famine and brutally competitive, and the companies that clean up after a hailstorm are the ones that already ranked before it. I build roofing sites and run the regional SEO that puts you in the map pack across your whole territory — before the weather does you the favor.

Storm-ready
pages live before you need them
Own it
site, domain & profile in your name
No
annual contracts
01 — the actual problem

The roofing-specific version of the problem.

Every one of these is a search-visibility problem wearing a website costume. Fixing the design without fixing the visibility just gives you a nicer page nobody lands on.

competition

Storm chasers outrank you in your own town

Out-of-state crews show up with prepared landing pages and a paid budget, harvest the claims, and leave. You live here and warranty the work — but if they rank and you don't, the homeowner never learns the difference. Pages built in advance are how a local company beats that.

urgency

Nobody wants a roof until they urgently do

There's almost no casual roofing research. It's a leak, a storm, an insurance adjuster, or a real estate closing. Every one of those is a deadline, and deadline searchers pick from the map pack and call two numbers, not ten.

trust

Insurance claims are the whole conversation

Most homeowners have no idea how a claim works, whether it raises their premium, or what a supplement is. Answer those questions on the page and you become the company they trust — that content is also exactly what AI Overviews quote.

price transparency

“How much does a new roof cost?” gets no answer

It's the highest-volume roofing search there is and most roofing sites refuse to touch it. A page with honest ranges, the variables that move them, and an explanation of why it varies will out-earn any amount of homepage polish.

proof

Your best proof is sitting on a phone

Roofing is the most visual trade there is and most roofing sites use stock photos. Real before-and-afters from streets people recognize are both your strongest sales asset and a genuine ranking input on your Google profile.

financing

Financing decides more jobs than price

A $22,000 roof is a payment question, not a price question. If financing isn't visible and explained, you lose homeowners who could have afforded you.

02 — what you actually get

Built for booked jobs, not for a design award.

Every roofing company I work with gets the same foundation. What changes between trades is the content strategy on top of it.

/01

A site built to get called

Tap-to-call in the header on every screen, a quote form that works on a cracked phone screen in a driveway, and your service area stated in plain language above the fold. The homeowner with no heat at 9pm should be able to reach you in one tap.

/02

Real service pages, not a menu

One page per job you actually want to book — not a single 'Services' page listing twelve things. Each one targets how homeowners search, answers the repair-or-replace question, and ends in a booking action.

/03

Service-area pages that survive Google

Written one at a time, with genuinely different content per town — real neighborhoods, real job references, local FAQs. Google's helpful-content system deindexes copy-paste city swaps, so we publish them steadily instead of dumping fifty at once.

/04

Speed that holds up on LTE

Statically generated, image-optimized, no bloated page builder. Emergency searches happen on phones on bad connections — a four-second load is a lost job, and Core Web Vitals feed rankings.

/05

Schema + AI search readiness

LocalBusiness, Service, and FAQ structured data so Google and the AI assistants can actually parse who you are, what you fix, and where. ChatGPT, Gemini, and Perplexity lean hard on this plus your Google Business Profile.

/06

Tracking that maps to booked jobs

Call tracking, form-source tagging, and a monthly plain-English report. Not impressions and bounce rate — how many calls came from search, which pages produced them, and what to do next.

/07

You own everything

Your domain, your hosting, your site, your Google Business Profile, your analytics — all in your name. Leave whenever you want and take it with you. No hostage agreements, which is more than most of this industry offers.

/08

A direct line to the person building it

No account manager, no ticket queue, no offshore hand-off. You text the guy who wrote the code. Replies within one business day, and same-day when something's actually broken.

03 — the regional seo play

How we take a service area, one town at a time.

Most contractors are sold “SEO” as a vague monthly fee with no visible deliverable. This is the actual sequence we run, what happens in each phase, and roughly when you should expect the phone to change. If an agency can't show you something like this, they're selling you a retainer, not a plan.

Searches we build toward

Not “more traffic.” Specific, high-intent queries with a town attached — the ones where the person typing is ready to call.

  • roof replacement cost [town]
  • storm damage roof repair [town]
  • emergency roof repair near me
  • metal roofing contractor [town]
  • roof insurance claim help [town]
  1. Weeks 1–4

    Claim the ground you already own

    Before writing a single new page, we fix what's leaking. Eight of the top ten local-pack ranking signals come straight out of your Google Business Profile — and most contractor profiles are half-built.

    • Google Business Profile rebuilt: one correct primary category, real services listed the way homeowners phrase them, hours, service-area radius set to where your trucks actually go
    • Jobsite photos uploaded from your phone — Google measures engagement on images, and stock photos get none
    • Name / address / phone made identical across the five directories that matter, before adding any new ones
    • Every existing page audited for the conflicts that quietly suppress you: mismatched addresses, missing schema, broken mobile layout
    • Baseline recorded — current map-pack position for your money terms, current call volume — so month three is measurable, not a story

    What changesProfile impressions and map views start moving first. Calls usually lag this by a month.

  2. Weeks 3–10

    Build the pages that can rank

    A homepage cannot rank for eleven services across nine towns. Ranking regionally means having a specific page for each specific thing a person types — and making each one genuinely worth landing on.

    • One page per money service, targeting the exact phrasing homeowners use — not your internal service names
    • Service-area pages for your top towns, written individually with local detail: neighborhoods, housing stock, permit quirks, response times
    • Published on a steady cadence, not all at once — Google's helpful-content classifier flags large sudden page sets as doorway spam
    • The repair-vs-replace, what-does-it-cost, how-fast-can-you-get-here questions answered directly on the page — these are what AI Overviews quote
    • Internal linking so authority flows from your homepage out to the town pages that need it

    What changesNon-branded search starts producing calls — people who didn't know your name yesterday.

  3. Month 2 onward, continuous

    Turn finished jobs into ranking signal

    Reviews are the second-heaviest ranking category after your profile itself, and in 2026 recency and velocity outrank raw totals. A shop with 40 reviews from this quarter beats a shop with 300 from 2021. This is the part that requires you, so we make it take fifteen seconds.

    • A review request that goes out automatically when a job closes — text link, straight to your Google profile, no app to install
    • Crews prompted to ask on-site, where the yes-rate is highest, with a card or a QR sticker on the invoice
    • Coaching toward reviews that name the service and the town — those mentions feed relevance, not just your star average
    • Every review responded to, good and bad, because response rate is itself a signal and a public trust exhibit
    • Steady weekly cadence rather than a burst — bursts read as inorganic

    What changesThis is usually the single biggest lever, and the one competitors can't buy their way past quickly.

  4. Month 3 onward

    Expand the radius, defend the core

    Proximity is roughly half of local ranking and you can't change where the searcher stands. What you can do is stack every other signal until you outrank the closer competitor, then repeat outward one town at a time.

    • Ranking measured on a geo-grid, not from your office — you need to know where you appear from the far side of the county
    • The next town targeted only once the current one holds, so effort compounds instead of scattering
    • Local authority links built the way trades actually earn them: suppliers, builder partners, chambers, sponsorships, the league you already pay for
    • Seasonal content timed to demand so it's already indexed when the season turns, not published the week you need it
    • Monthly report tied to booked jobs and revenue, with the next month's targets named

    What changesCompounding. Month twelve costs the same as month three and returns considerably more.

What to expect, honestly

Local SEO is a 12-month build with visible checkpoints.

Anyone who promises page one in 30 days is describing an ad buy or lying. Here’s the real shape of it — and what you should be holding me to at each mark.

Months 0–3

Visibility moves

Profile impressions, map views, and photo engagement climb before call volume does. Anyone promising booked jobs in week two is guessing.

Months 4–6

Calls from strangers

Non-branded searches start converting. Map-pack presence widens beyond the town you sit in.

Months 7–12

Consistent placement

Steady map-pack presence across the core service area, steadier call volume, and noticeably better lead quality.

Month 12+

Compounding lead

New services and new towns get easier to rank because the domain has earned trust. This is where competitors stop catching up.

04 — straight pricing

What this costs.

Fixed quote before anything starts. No hourly billing, no scope surprises, no twelve-month lock-in on the SEO — if it isn't working you can leave, though I'd rather you told me why.

Site build

from $4,500one-time

You need a real site. You'll handle your own marketing.

  • Custom design — no templates, no page-builder bloat
  • Up to 8 pages: home, services, about, contact, core service pages
  • Mobile-first, tap-to-call, quote form wired to your inbox
  • Technical SEO foundation + LocalBusiness & Service schema
  • Google Business Profile cleaned up and correctly categorized
  • You own the domain, hosting, and code outright
Get a fixed quote

Regional SEO

from $900per month

Ongoing. Expanding the radius, defending the core, growing review velocity.

  • New service-area and service pages on a steady cadence
  • Google Business Profile posts, photos, and Q&A upkeep
  • Review generation and response management
  • Geo-grid rank tracking across the whole service area
  • Local link and partnership outreach
  • Monthly report tied to calls and booked jobs — in English
  • Month to month. No annual contract.
Talk through a plan

Multi-location or franchise operations scope differently — happy to quote that too. If your budget is under this, say so anyway; sometimes the right answer is a smaller first step, and occasionally it's that you don't need me yet.

05 — why pyxl

A small studio that answers the phone.

Pyxl Design is Chris Schultz and the people he trusts — which is why you’ll never get routed to an account manager, and why only a limited number of roofing contractors are taken on at a time.

  • You own every asset

    Domain, hosting, code, Google Business Profile, analytics — registered to you, day one. Leaving costs you nothing but the conversation.

  • No annual contract

    The SEO work is month to month. If it isn't producing, you stop. That constraint keeps me honest better than any promise would.

  • One person, start to finish

    Whoever scopes it designs it, builds it, and picks up the phone in month eight. Nothing gets outsourced or handed to a ticket queue.

  • Fixed quote, in writing

    Scope and price agreed before work starts. No hourly meter, no change-order games.

I hired Chris from Pyxl Design to create my website because I was so overwhelmed by the process. He was super easy to work with, kept in excellent communication and made my vision a reality. I highly recommend Pyxl Design for all of your website needs!
Trina Sholin
Trina Sholinowner · RV Fixer Upper
Our team highly recommends Pyxl Design. They were a pleasure to work with and the quality of the work is second to none. We had very high expectations for the look and functionality of our website and they were able to meet and exceed them.
Point West
Point Westbusiness website
I had the pleasure of working with Chris on the launch of my first website. He is one of the most talented and patient individuals you'll ever work with. His work exceeded my expectations — there really is nothing he can't do. The quality is worth every penny!
Ashley
Ashleyfounder · Modernly You
06 — straight answers

The questions contractors actually ask.

Including the uncomfortable ones. If something here isn’t covered, ask it on the call — you’ll get the same kind of answer.

Ranges, yes — with the variables that move them clearly explained. 'It depends' loses to any competitor willing to say '$9,000–$18,000 for a typical 2,000 sq ft asphalt replacement, and here's what swings it.' You'll get fewer calls and a much higher percentage of them will be real.

08 — next step

Let's talk about your roofing site.

Tell me what you're working with — current site, service area, and what you wish the phone was doing. You'll get an honest read and a fixed-price quote within one business day. If I'm not the right fit, I'll say that too.

Please enter your name.
Enter a valid email address.
Please choose a project type.
A sentence or two helps us quote accurately.
// no spam, ever. one reply, from a human.

Request received.

Thanks — we’ve got your details and we’ll be in touch within one business day.

// expect a reply from Chris