Midnite Systems

Roofing website design, built to turn searches into estimate requests

Roofing website design changes under one California rule: CSLB counts a website as advertising, so it carries the license number (B&P 7030.5). We plan, write, build and run the site. It starts with a 15-minute call.

Who is roofing website design for?

California’s Contractors State License Board, CSLB, advises homeowners to collect at least three written bids, compare them on identical plans and scope, and not to accept the lowest one automatically. A roofing website is read by someone holding your bid next to two others. Roofing website design has to serve that reader: who you are, what your license covers, what your work looked like on houses like theirs, and how to ask for a written estimate.

The work fits three kinds of roofing company:

  • A single-office roofer: one crew or a few, one service area, and repair and replacement jobs on homes nearby.
  • A regional roofer: several crews or branches, homes and commercial buildings, and a service area that crosses county lines.
  • A company in several states: offices in more than one state, each answering to that state’s contractor rules.

Roofing web design uses the same method as the rest of our Web Design work, and this page covers what roofing changes. We work with businesses across the US. The rules quoted here are California’s; a roofer elsewhere follows its own state’s licensing board.

What must a roofing website show under California’s rules?

California’s Contractors State License Board treats a website as advertising, so a contractor’s license number belongs on it, as on every other ad (B&P 7030.5).

The license number is the first of five rules that decide what the pages say:

  • The number on every page: B&P 7030.5 covers all forms of advertising, 16 CCR 861 counts any electronic transmission and directory listings as advertising, and CSLB’s guide names any website or post that seeks business online. We would put the number in the footer.
  • Only the classifications you hold: B&P 7027.1 makes it a misdemeanor to advertise work in a classification your license doesn’t cover. The C-39 roofing classification covers installing products and repairing surfaces that seal, waterproof and weatherproof structures (16 CCR 832.39).
  • Insurance named by type: under B&P 7027.4(a), a contractor that advertises insurance must say which type it carries, for example commercial general liability or workers’ compensation insurance.
  • No “bonded” claim: B&P 7027.4(b) bars advertising that you are bonded when the bond meant is the contractor license bond. CSLB’s guide warns that the word could lead a homeowner to believe a bond offers more protection than it may.
  • Workers’ compensation for every C-39: CSLB says all active C-39 roofing contractors must carry workers’ compensation insurance or hold a certification of self-insurance, whether or not they have employees (B&P 7125). The license record shows which, so the coverage your pages name should match it.

We aren’t lawyers, so treat this list as a planning summary. Every fact about your business comes from you, and your counsel settles any doubt about wording.

How do homeowners check a roofer before they call?

CSLB gives homeowners a short list of checks, and web design for roofers can answer each one before it’s asked:

  • The license status: CSLB tells people to check it online, since a number on an ad doesn’t prove the license is current. A footer link to the board’s license check saves the search.
  • A business they can find: CSLB warns that a contractor working out of a pickup truck can be hard to reach after the last bill is paid. The contact page gives a current business address and phone number.
  • The person who comes to the house: homeowners are told to ask for the pocket license and a photo ID, and to check that a salesperson is registered as a Home Improvement Salesperson. A team page with names and photos tells them who to expect.
  • References: CSLB suggests asking friends, family, local customers and suppliers. Project pages from nearby streets give a homeowner something to compare.
  • Coverage: people are told to verify workers’ compensation and commercial general liability coverage, so a page that names the coverage you carry, as your policies show it, answers early.

How is a roofing site planned from search data?

Research comes before any layout. We study what people type when a roof leaks or wears out, what Google shows for those searches in your towns and which roofers rank. That becomes the page plan: a page for each service your license covers, such as repair, replacement or inspections, and the homeowner question each one answers.

Town pages take care. Google’s spam policies name doorway abuse, including multiple pages targeted at specific regions or cities that funnel users to one page. So we add a town page only where search demand and local proof back it: jobs you’ve done there, photos from them and details true of that town. The rest of the service area belongs in the copy and in your Google Business Profile.

The search work that carries on after launch is on our roofing SEO page. We do not guarantee search rankings, traffic, or uninterrupted uptime.

Which photos should a roofing website use?

Your own. A finished roof on a real street tells a homeowner more than any stock image. Google’s image guidance says high-quality photos appeal to people more than blurry, unclear ones, and asks for images placed near relevant text, with descriptive filenames, titles and alt text. On a roofing site, that becomes:

  • Before and after pairs: the same roof from the same angle, next to the paragraph about that job.
  • Captions that name the work: what was done and on what kind of roof, so the alt text says something useful.
  • Your crew on the job: people at work on a roof, so a visitor sees the business behind the bid.

Where a page needs a picture you don’t have yet, we can make one with AI and log it, so you can replace it with a real photo later.

What can the site say about deposits and warranties?

Homeowners hold a site’s promises against the contract, and CSLB tells them to get any warranty on labor and materials in writing. So the warranty page we would build repeats your written terms exactly, and keeps a manufacturer’s warranty apart from your own workmanship warranty.

Deposits have a ceiling in California. Under B&P 7159.5(a)(3), the down payment on a home improvement contract can’t exceed $1,000 or 10 percent of the contract amount, whichever is less, and (a)(5) bars taking payment ahead of the work done or materials delivered. Any page about deposits or payment schedules has to fit inside those lines. The contract and its notices stay with you and your counsel; the site only describes them.

How should storm damage pages be written?

Storm pages reach homeowners on a bad day, and California law is strict about the months after a declared emergency:

  • Unlicensed repairs after a disaster: contracting without a license is a misdemeanor anywhere in California (B&P 7028). For repairs of damage from a natural disaster for which the Governor has proclaimed a state of emergency, or the President has declared an emergency or major disaster, B&P 7028.16 sets a fine up to $10,000, imprisonment or both, and makes anyone who used the unlicensed contractor a victim of crime.
  • Prices are capped: the Attorney General explains that Penal Code 396 bars raising the price of repair and reconstruction services by more than 10 percent after a declared emergency, and that for reconstruction services the protection runs 180 days rather than the usual 30.
  • A longer right to cancel: when the damage comes from a sudden or catastrophic event for which an emergency has been declared, the repair contract carries a Seven-Day Right to Cancel notice in place of the Three-Day one, giving the homeowner seven business days (B&P 7159(e)(7)).

A storm page we would build says what you repair, how a homeowner can check your license and what an inspection involves, in your words. It makes no promise about an insurance claim and never says what an insurer will pay. CSLB’s storm advice to homeowners, issued in January 2023, is to slow down before any repair, collect three bids, check references and never sign over a payment check from their insurance company. A page can say the same.

How do homeowners ask for an estimate?

Asking for an estimate is the job of most pages, so the form stays short: a name, a way to reach the person, the property’s town or ZIP code and what’s wrong with the roof. Or the homeowner picks an inspection time from the open slots you set. Each request reaches your inbox behind spam protection, and the site records the page each one came from, so it’s clear which pages bring in work.

What is the site built on?

Web design for roofing company owners often starts with that question. We build in our own system, on Astro or Next.js; Astro calls itself the web framework for building content-driven websites like blogs, marketing and e-commerce. If your current site runs on WordPress, Wix or Squarespace, the new one replaces it. Each build carries:

  • Structured data: markup that tells search engines about the business, its service area and what each page covers.
  • A sitemap and IndexNow: IndexNow is supported by Microsoft Bing, Naver, Seznam.cz, Yandex and Yep, and tells them when a page changes.
  • Open doors for AI crawlers: robots rules that admit them, plus an llms.txt file, a plain-text outline of the site for the tools that read one.
  • Launch guards: checks that hold back a page still missing a fact, such as the license number.

Good roofer web design is fast on a phone. Google says good Core Web Vitals, along with other page experience aspects, align with what its core ranking systems seek to reward.

What happens to your current site?

A migration is planned to keep what the old site earned. Homeowners have bookmarked your old pages and other sites link to them, so before launch we match each old address to its new page. Google recommends a permanent server-side redirect whenever possible, and each old address gets one. Our website migration page explains the steps in full.

Your domain stays with the registrar it’s with now. We edit only the DNS records that send visitors to the new site and leave the records your email uses as they are.

Can AI search tools read a roofing website?

They can when the site lets their crawlers in, and for Google’s AI features the bar is the same as for Search. To be eligible as a supporting link in AI Overviews or AI Mode, Google says, a page must be indexed and eligible to be shown in Google Search with a snippet, with no additional technical requirements. It also says Google Search ignores llms.txt files, so we add one for the other tools that read it. As of August 31, 2026, Google has rolled out Search Console’s Search generative AI control to all websites. Include is the default, and a site switched to exclude keeps its links and content out of Search’s generative AI features.

Structured data, clear text and open crawler rules make a roofing site easier for AI answers to find, read and cite. Which roofer an AI tool names is that tool’s choice, so we measure mentions and promise none. That work has a page of its own: GEO.

What does our web build work look like in practice?

We rebuilt the Alvy Logistics website in our own system, an Astro build of about 70 pages, and we still run it. Alvy is owned by our co-founder Noah Alvarez, and DSI is an Alvy company. That site serves a logistics company, so it shows how we plan, build and run a website and says nothing about roofing.

For a single-crew roofer, what we would build is compact: a home page, a page per service, a project gallery, the warranty page, the license details and an estimate request. A regional roofer adds a page for each branch with its own crew and photos, project pages by town where the jobs back them, and commercial roofing pages where the license and the work support them.

What does the site need after launch?

A roofing site moves with the business: new jobs to show, crew members joining, a license renewal, a new insurance carrier. We look after the sites we build on a monthly plan, and your proposal sets that plan’s scope. Our website design cost page explains what moves the price at each level, and our roofing industry page sets out California’s rules for roofers by section number.

When you’re ready, book a 15-minute call with Nicolas Perez or Noah Alvarez, our co-founders. We formed Midnite Systems in 2023, and if you’d rather meet face to face, you can visit us at our office in Valencia, California.

Sources

20 cited

Pricing

What roofing website design costs at each level

Below is what US agency price pages and guides show for a website build at each level, read October 2026. A roofing company's place in its range depends on the points that follow, and the proposal we send after a 15-minute call puts a figure on yours.

  • Level 01

    Established local business

    Market range

    $6,500 to $15,000

    Source: WebFX and DesignRush, checked October 2026

    Our ranges

    Website build
    $6,500 to $15,000
    Care plan
    $85 to $100 a month
    Hosting, DNS, SSL, security, uptime, backups and updates.
    No setup fee on a site we built.
  • Level 02

    Multi-location or regional

    Market range

    $15,000 to $50,000

    Source: WebFX, DesignRush and Lee Media Group, checked October 2026

    Our ranges

    Website build
    $15,000 to $50,000
    Care plan
    $150 to $225 a month
    All of that, plus about an hour of changes a month, a next-day reply, monthly checks and a report.
    No setup fee on a site we built.
  • Level 03

    National

    Market range

    $50,000 to $100,000

    Source: WebFX, Huemor and OuterBox, checked October 2026

    Our ranges

    Website build
    $50,000 to $100,000
    Care plan
    $350 to $500 a month
    All of that, plus up to four hours of changes a month, a four-hour reply, a named contact and a quarterly call.
    No setup fee on a site we built.

What moves the price

  • 01

    The services you offer

    Repair, replacement, inspections and commercial work each need their own page, written around what the license covers and checked against the jobs you actually take.

  • 02

    How far the service area reaches

    Every town that earns its own page needs real jobs, photos and details from that town, so a wider service area means more pages to research and write.

  • 03

    Projects and photos

    A gallery of finished roofs, with captions and a short write-up for each project, takes longer to build than a site with a few photos on the home page.

  • 04

    Where estimate requests go

    A request form that lands in your inbox is the simplest case. Letting homeowners book an inspection slot, or passing each request into your CRM through the CRM's own web form, takes longer to build and test.

  • 05

    The site you have now

    A migration from an existing site adds a map of every old address and its redirect, and more checks on launch day.

Market ranges from agency price pages and guides, read October 2026. Ranges, not quotes: every engagement is scoped on a 15-minute call.

The work behind it

  • Alvy Logistics

    The Alvy Logistics website: a 70-page rebuild in our own system.

  • Midnite Systems

    Formed in 2023.

  • Valencia, CA

    Our office in Valencia, CA, open Monday to Friday, 8am to 4pm.

Alvy is owned by our co-founder Noah Alvarez, and DSI is an Alvy company.

What a roofing website includes

  • Fig 0.1

    Search research

    How homeowners in your towns search for roof repair and replacement, what Google shows them and which roofers come up.

  • Fig 0.2

    A page plan

    The pages the site needs, each with the search it answers and its job for a homeowner comparing bids, agreed with you before design starts.

  • Fig 0.3

    Copy you approve

    Words for every page, drawn from the research and from the facts you confirm: license number, classification, coverage types and warranty terms.

  • Fig 0.4

    Design and job photos

    Layouts based on a benchmark of strong roofing sites, built around photos of your own jobs. Any image we make with AI is logged, so a real photo can replace it later.

  • Fig 0.5

    The build

    Coded in our own system on Astro or Next.js, with structured data, a sitemap, IndexNow, an llms.txt file and robots rules that let AI crawlers in.

  • Fig 0.6

    Estimate requests

    A short request form behind spam protection, or inspection times picked from the slots you set, arriving in your inbox or passed to your CRM through its own web form.

  • Fig 0.7

    Launch and measurement

    Every old address redirected when the site goes live, with Google Analytics, Search Console and Bing Webmaster Tools reporting from day one.

  • Fig 0.8

    The monthly run

    After launch we keep the site running on a monthly plan, and your proposal sets that plan's scope.

How it runs

How a roofing website project runs

  1. Step 01

    A 15-minute call

    You talk with Nicolas Perez or Noah Alvarez, our co-founders, about what the site needs to do, and hear plainly whether we fit the job.

    Have your current site's address and your license number to hand.

  2. Step 02

    A written proposal

    If the work fits, the proposal lays out what we would build, its cost and how the site is run once it's live.

    Read it, ask about anything that isn't clear, and approve it before work starts.

  3. Step 03

    Research and the page plan

    We study how homeowners in your area search, what Google shows them and the roofers that rank, then plan every page and the question it answers.

    List your services and the towns you want work in, and give us access to your analytics.

  4. Step 04

    Words and design

    Each page is written from the research and the details you confirm, then designed around its words and your job photos.

    Confirm your license details, coverage types and warranty terms, and send photos of finished jobs.

  5. Step 05

    The private preview

    The full site goes up on a private preview that search engines are told to keep out of their results.

    Go through every page and gather your edits into a single list for us.

  6. Step 06

    Launch

    On launch day we switch the domain's web records to the new site, redirect every old address to its new page and set up Google Analytics, Search Console and Bing Webmaster Tools.

    Say when to go live, and give us access to the domain's DNS records.

  7. Step 07

    The monthly run

    Once it's live, we look after the site on the monthly plan your proposal sets out.

    Tell us when your license, coverage or warranty terms change, so the pages keep up.

Questions

Frequently asked questions

Does a roofing website need the license number on every page?

In California, yes in practice. The number has to appear in every form of advertising, a website included, so we would place it in the footer, where every page shows it (B&P 7030.5).

What can a roofing website say about bonds and insurance?

Name the coverage, never the bond. Insurance can appear when the page says what kind it is, such as workers' compensation, and the word bonded stays off when it refers to the contractor license bond (B&P 7027.4).

Can a roofing website show before and after photos?

Yes, when they are photos of your own jobs. Each pair sits beside the write-up of that job, with a filename and alt text that describe the work, as Google's image guidance recommends.

What pages does a roofing website need?

At the least: a home page, one page per service the license covers, project pages with photos, a warranty page that matches your written terms, an about page with the license details and an estimate request. Town pages come only where demand and local proof back them.

Will a new roofing website lose the old site's rankings?

Every old address gets a redirect to its new page when the site goes live. Google calls a permanent server-side redirect the best way to make sure Google Search and people reach the correct page. No one can promise rankings, and Search Console, set up at launch, shows what changes.

Talk with a co-founder

Book a 15‑minute call