Key takeaways
- Eight pages cover what a homeowner needs to decide: home, about, replacement, repair, financing, warranty, gallery, contact.
- Put the CSLB license number, bond, and insurance statement where every visitor sees it, not buried on the about page.
- A financing page with real monthly-payment examples is the difference between a $25,000 roof and a $1,200 patch.
- Click-to-call must be visible at every scroll position on mobile; most roofing site visitors are on a phone and ready to call.
- One page per city you serve, each with real photos from that city, is how the site supports Map Pack rankings beyond your home base.
The eight pages
A roofing website does not need to be big. It needs to answer the questions a homeowner has in the order they have them. Eight pages do that:
- Home. Who you are, where you work, what you do, license number, phone, and three to five photos of real roofs. One short form.
- About. The owner by name with a photo, years in business, crew size, and license history. Homeowners want to know who is showing up.
- Roof replacement. Materials you install, what a replacement involves day by day, rough price ranges, and a gallery.
- Roof repair. Leak repair, tile and shingle repair, flashing, emergency tarping, with starting prices.
- Financing. Covered below; it deserves its own page.
- Warranty. Workmanship terms and the manufacturer warranties you offer.
- Gallery. Finished jobs sorted by material and city.
- Contact. Phone, form, hours, service area, and a map.
Add a page for each secondary service you really sell, such as gutters or skylights, and a page for each city you want to rank in. Ten complete pages beat forty thin ones.
License, bond, and insurance placement
In California the roofing trade has a reputation problem, and homeowners know it. The CSLB tells consumers to check the license before hiring, and many do. Make it easy.
Put your CSLB license number in the site header or top bar on every page, next to the phone number. Repeat it in the footer with the words licensed, bonded, and insured, plus the classification (C-39 Roofing). On the about page, add a short paragraph: license number, year issued, the name on the license, and a link to the CSLB license check page so they can verify it themselves.
State your insurance plainly too: general liability and workers' compensation coverage, with the carrier names, with a line offering to send the certificate on request. Roofing is the trade where a worker falling off a ladder becomes the homeowner's problem if the contractor is uninsured, and informed homeowners ask about it before they ask about price.
Financing and warranty pages
A full roof replacement in LA County runs well into five figures, and most homeowners do not have that sitting in checking. A roofer with a financing page sells more replacements than a roofer who mentions financing only when the homeowner flinches at the number.
The financing page should list the lenders or programs you work with, typical terms, and two or three worked examples: a $20,000 roof at a given rate over a given term is roughly this much a month. Keep the examples honest and say rates depend on credit. If you use any utility or state cool-roof or efficiency programs, mention them and note that eligibility changes.
The warranty page should explain your workmanship warranty in plain terms: how many years, what it covers, what voids it, and how to make a claim. Then list the manufacturer warranties available for the shingle, tile, or membrane lines you install, and whether you are certified to offer the extended versions. A warranty that is easy to read is a sales tool. One buried in a PDF nobody can find is a liability.
Photo galleries that do the selling
Roofing is bought on trust and the product is invisible from the street. Photos of your own work are what close the sale online. Stock photos of a generic roof under a blue sky do the opposite; homeowners recognize them.
Build the gallery from real jobs, organized by material (shingle, tile, flat, metal) and by city. Each entry should have a before photo, a finished photo, ideally a drone shot, and one line: material, city, year.
Resize images before uploading. A 6 MB drone photo straight from the camera drags page load past the point where mobile visitors leave. Around 200 KB per image at 1,600 pixels wide is plenty.
Put a short gallery strip on the home page and each service page, linking to the full gallery. On city pages, show only roofs from that city. A homeowner in Torrance who sees three finished Torrance roofs assumes you work there all the time, which is the point.
Click-to-call and forms
Most visitors to a roofing website in LA are on a phone, and a good share of them are standing under a leak. The phone number should be a tap-to-call link that stays visible as they scroll: a sticky bar at the top or bottom of the screen on mobile with the number and a call button.
Forms should be short: name, phone, city, and a one-line description of the problem. Every extra field cuts submissions. Skip the dropdown with fourteen service types; the homeowner will tell you what is wrong when you call. Set the form to send a text alert to the owner's phone, not just an email to an inbox nobody checks on Saturday.
Call tracking numbers are fine as long as the number on the website matches the one on the Google Business Profile, or the tracking number forwards to the main line and the main line stays on the profile. Mismatched numbers across the web confuse Google and cost rankings.
Respond fast. A lead called back within five minutes converts at several times the rate of one that waits until tomorrow.
Service area pages, speed, and mobile
Your Google Business Profile ranks hardest in the city where it is anchored. Your website is how you reach the cities next door. For each city you genuinely serve and want to rank in, build one page: roofing in Glendale, roofing in Torrance, and so on. Each page needs photos of roofs you did there, the neighborhoods you work in, local details (hillside access in Glendale, salt air near the coast in Redondo, older tile roofs in Whittier), the services you offer, and the phone number. The same text with the city name swapped does nothing. Start with four to six cities closest to your yard and link each page from the footer.
Then make it fast. A roofing site needs to load in under three seconds on a weak cell connection, which is what a homeowner in a rainstorm is using. Compress images, use one font family, no auto-playing video, real hosting, an SSL certificate, and title tags that say the service and city in plain words. Write the business name, service area, and phone exactly as they appear on your profile. Rung Media builds roofing sites around this list because it is what produces calls.
Questions roofers ask
How much should a roofing company website cost?
A solid eight-to-twelve page site on WordPress or similar, with real photos, city pages, and proper speed work, typically runs a few thousand dollars from a competent local builder plus a modest monthly hosting fee. Be wary of anything far cheaper that uses stock photos, and of anything far more expensive that promises rankings.
Do I really need a separate page for every city?
Only for cities where you want to rank and have actually done work. Four to six pages for the cities nearest your yard is a reasonable start. Each needs photos from jobs in that city and local details, or it does nothing. Thirty near-identical city pages waste time and can make the site look spammy.
Should I put prices on my roofing website?
Put starting prices on repairs, inspections, and tarping, and a realistic range on replacements by material. Homeowners want a ballpark before they call and will go to a competitor who gives one. Say clearly that final pricing depends on pitch, square footage, layers, and decking condition, and offer a free on-site estimate.
What should the home page say first?
In the first screen on a phone: what you do, where, the license number, the phone number, and one real photo. Something like Licensed roofing contractor serving Glendale and the San Gabriel Valley since 2009, CSLB #XXXXXX, with a call button. Everything else, including awards and the owner's story, goes below that.
