The Headline Numbers
- 47 indexable pages, each written from Steve's own answers
- 76 reviews word for word, none left out
- 22 prices from one list, VAT included and shown first
- 10/10 AI Discovery Files found and attributed
Most roofing websites could belong to any roofer in the country. Swap the logo and the phone number and nobody would notice. This roofing company website case study is about one that couldn't: the site we built for Raise the Roofs London, two directors with a roofing company in West Wickham. Every page is written from Steve Ball's own answers, jobs and photographs, and John Ireland checks every page before it goes live. The prices are Steve's, shown VAT included. All 76 reviews are reproduced word for word. And the nine area pages describe the roofs, council rules and streets of the towns they actually cover. It went live on 26 October 2026, so this study can describe what we built and why, and the starting point. It can't report results yet, and it doesn't pretend to.
Raise the Roofs London: What the Roofing Website Had to Do
Raise the Roofs London Limited was formed in March 2024, but the roofing behind it goes back much further. Steve Ball passed his City and Guilds Craft Certificate in Mastic Asphalt Work in May 1988, with distinctions for the written paper and the assignments, after a four-year apprenticeship. He took over his father's roofing firm in 1996 and joined the Confederation of Roofing Contractors the same year. John Ireland is the other director: the person homeowners call first, and one of the two who go out to look at a job and quote it. They're based in West Wickham, in the London Borough of Bromley, and cover five home areas: West Wickham, Bromley, Beckenham, Chislehurst, and Orpington and Petts Wood. They also cover Dulwich, Forest Hill, Sydenham and Westerham.
The job came to us through Colin Fry of Splat Decorating, whose site we had just built. Colin and Steve have been friends for 30 or 40 years, and Steve says Splat's patch is ideal for a roofer too. That shaped the brief from the start. The goal, in one line, was a site that wins calls from homeowners in those towns, built from the client's real jobs, prices and words rather than generic roofing copy. A homeowner usually reaches a roofer on a phone, often with water already coming through the ceiling, so the main route had to be one tap: call John, or WhatsApp Steve a photo of the problem.
One disclosure, in the spirit of our editorial standards: the site is hand-built PHP, not WordPress. Most of what we build is WordPress, and every decision in this study carries straight over to our roofer website design work on that platform. It runs on 365i hosting, our sister company.
How the Roofing Company Website Is Built Up
Steve explains a warm flat roof on his own site as a build-up: the deck, a vapour control layer, rigid insulation board, then the waterproofing on top. A site is built the same way, and every layer depends on the one beneath it. Here is this one, drawn as a roofer's section through a warm flat roof and numbered from the deck up, the order it's laid.
- Deck Steve's own answers, each fact checked against its source
- Vapour control layer One price list, VAT included and shown first
- Insulation board Nine area pages about local roofs, council rules and real streets
- Base layer All 76 reviews word for word, synced every week
- Cap sheet A design taken from the trade: survey markup, chalk on slate, quote sheets
Without Steve's own facts at the bottom, every layer above would be copy any roofer could have.
The order matters more than any single layer. A roofing site can have a strong design and still say nothing a homeowner can check. It can quote reviews and still invent its prices. Start from the client's own facts and every layer above them has something real to stand on. The sections that follow go up the drawing from there.
Every Page Written From the Roofer's Own Answers
The site has 47 indexable pages: 13 services, 12 written-up jobs, nine areas, a costs page, profiles for both directors and the pages around them. None of it started as copy. It started as questions. We sent Steve short ones he could answer from memory, and every answer went into a verified-facts file with its source beside it: "Steve email 20 Oct", "Certificate", "Companies House". Where a fact was missing, the page showed a visible "to be confirmed" mark on the staging site until he'd answered, rather than a guess.
The answers are where the value is. Steve's commonest problem is poor ventilation on flat roofs, and he wanted that understood across every cold roof, not just the bathroom job it was first described on. He won't lay fibreglass (GRP), because in 37 years he has seen it fail too often, so the site never offers it. His insurance covers hot works, which many roofers leave out to keep their premiums down, so the trust ledger on the home page rings the word "Fire" in red marker. None of that is in a template. It's how one roofer works, and it's all on his own site in his own words.
"When I started the level of skill was much higher. Now everyone seems to think they are a 'roofer' by simply buying a van and a ladder."
Steve Ball, roofing since 1988, on the Raise the Roofs London home page
That quote is blunt, and it's the most useful sentence on the site. A homeowner who reads it learns what to be wary of before they've rung anyone, and the section beneath it turns the warning into a checklist they can run on any roofer: a trade body they can look up, insurance that covers fire, a real company, reviews held somewhere independent, no money up front, and scaffolding rather than a ladder. That's the difference between a site that sounds trustworthy and one that shows a homeowner how to check. Steve's other lines do the same work. "Honesty is everything, we never upsell" is the reason behind the home page promise: "If it only needs a repair, we'll tell you."
Each director has his own profile page, with ProfilePage schema and the Person as its main entity, so search engines and assistants have one clear place to find who Steve Ball and John Ireland are. Every page carries the same byline at its foot: written by Steve Ball, Director, and editorially reviewed by John Ireland, Director. That second role is real. John's own page says what he checks on every page before it goes live: the prices, the areas, the contact details, and anything said about the business. Each profile also lists every review that names him, word for word: 29 name Steve and 27 name John. We cover why those signals matter in why Google rewards non-commodity content.
Roofing Prices on a Website, VAT Included and Shown First
Most roofers don't publish prices. Steve wanted to, and he had them: a questionnaire full of "from" figures, every one of them before VAT. His first instinct was to show them that way, with a note to add 20%. For businesses that would be fine. For homeowners, the advertising rules say otherwise:
"Quoted prices must include non-optional taxes, duties, fees and charges that apply to all or most buyers. However, VAT-exclusive prices may be given if all those to whom the price claim is clearly addressed pay no VAT or can recover VAT."
Committee of Advertising Practice, The CAP Code, rule 3.18
A homeowner can't recover VAT, so a roofing site aimed at homeowners has to lead with the price they'll actually pay. We didn't want to bury the ex-VAT figure either, because Steve thinks in it and so do his commercial clients. So every price on the site reads the same way, inclusive first and bold, the ex-VAT figure muted beside it: "From £360 inc VAT (£300 + VAT)". From then on Steve gave some prices inclusive himself. Roof repairs became "£200 inclusive", and the site works the ex-VAT figure out to the penny, £166.67 + VAT.
The rule that makes it work is that a price is never typed into a page. All 22 live in one price list, each with its source and the date it was checked, and every quote sheet, menu panel, service page and FAQ reads from it. When Steve moved roof repairs from one figure to another, it changed everywhere at once. Prices that drift between pages are a small thing that costs a roofer trust, and with one list they can't. We explain the wider pricing question in what a local business website needs in 2026.
76 Roofing Reviews Laid as Slates, Word for Word
At launch, Raise the Roofs London had 28 Google reviews averaging 5.0 and 48 on Trustatrader averaging 4.99. That's a strong record, and the obvious move is to pick the best ten and mark them up for gold stars. We did neither. Every review is on the reviews page word for word, good or otherwise, and both feeds refresh every Monday: Google's through the Business Profile API, with the replies, and Trustatrader's from the public profile. Nobody chooses which ones appear.
The layout is the roofer's own device: slates on a roof, laid in broken bond under the red ridge line from the logo, each row offset from the one above like a real course. And the schema carries no Review or AggregateRating markup at all. Google's guidance settles it in two lines: "If the entity that's being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature", and "Don't aggregate reviews or ratings from other websites." Copying Trustatrader reviews into a roofer's own schema does both. The stars would never appear, so the markup would claim something the page isn't entitled to, for nothing. We made the same call on Tickdoc and Splat.
One detail from the reviews themselves: only two of the 76 mention the reviewer's town. That matters for a local roofer, so it's now one of the things we suggest Steve and John mention when they ask a finished customer for a review.
Nine Roofer Area Pages That Aren't Doorway Pages
Area pages are where roofing websites most often go wrong. The usual version is one page per town with the name swapped in, and Google has a name for that:
"Doorway abuse is when sites or pages are created to rank for specific, similar search queries. They lead users to intermediate pages that aren't as useful as the final destination."
Google Search Central, Spam policies for Google web search, which lists "pages targeted at specific regions or cities that funnel users to one page" as an example
The test in that definition is usefulness, so each area page had to tell a homeowner something about their own roof that no other page could. Bromley's describes its Victorian slate and interwar tile, quoting the council's own conservation area appraisals. It then sets out the town's ten conservation areas and its Article 4 directions on a roof-rules notice, each rule ringed in marker as "check first", "strict rules" or "usually fine", with a line saying it's a guide and not planning advice. Under each area's street sign sit small enamel plates for the streets Steve has worked on: Palace Road and Alexandra Crescent in Bromley, Copse Avenue and Layhams Road in West Wickham, London Road in Westerham. Every street came from Steve's own lists and was checked on OpenStreetMap. None carries a house number, and his own street is never listed.
Some of the discipline is in what's left out. Jobs outside the patch, such as the hospital roof in Hammersmith and the drone survey in Shooters Hill, appear on the projects pages but never on an area page. Orpington and Petts Wood had no jobs since March 2024, and Steve said so, so that page leads with local roof types and council rules rather than borrowing a job from somewhere else. The four extra areas (Dulwich, Forest Hill, Sydenham and Westerham) got full pages when Steve asked for them, and they promise the same quote visit within two days because he confirmed he wants regular work there.
Then we measured it. On 27 October 2026 a script compared every run of eight words on each area page with the other eight area pages. Each one is 75% to 86% its own words, and no two pages share more than 23%. The closest pair is Westerham and Forest Hill, which share the most structure because both are newer pages with fewer jobs to draw on. That's lower than Splat's area pages, and we say so. It's still nowhere near a template with the town name swapped, and it'll rise as Steve's jobs in those towns are written up.
A Roofing Website Design Taken From the Trade
Most websites for roofers look like each other: stock photos of men on ladders, blue and white, a wall of badges. The direction for this one was "laid by hand, eaves to ridge": a master roofer's portfolio, set out the way a roofer sets out a roof. Every device on the site comes from a roofer's own paperwork and tools, and every one carries real information.
The first is Steve's survey markup. A roofer marks up a photo for a customer by circling the problem and writing a note beside it, so the hero photos carry chalk-white loops, leaders and notes, drawn in place as the page opens: "New lead at the chimney" and "Dry-fixed ridge: no mortar to crack" on a Coney Hall re-roof. The rule is strict: a mark only goes on a photo where we hold the fact. The site never guesses a pitch or a material from a picture.
The second is chalk on slate. Technical drawings are drawn as a roofer would chalk them on a board: a warm roof against a cold roof, with a button that runs a shower below and shows where the steam ends up, and a pitch checker you can drag to see whether a roof is steep enough for its tiles. That checker carries one of the site's best stories. A Bromley extension had been built with a 5.5 degree pitch under plain tiles that need 35. Steve spotted it and quoted to put it right, though the client didn't go ahead, and the project page says exactly that.
The third is the tradesman's paperwork: quote sheets for prices, an inspection-form checklist for "how to check any roofer", a job enquiry sheet for the contact form, and a ledger of five figures, each linking to its proof. Photos follow the same honesty. Each is captioned with the place, never a house number, and the month and year, and anything from before March 2024 reads "From Steve's earlier work", because it predates the company. A weak photo was restored only if the result kept the same scene, with nothing added or taken away. Where Steve had no photo of something, the site uses a watercolour illustration or an uncaptioned stand-in image, and neither claims to be a job.
The menu follows the same rule. Every top-level item opens its own panel, and every panel is built from real data rather than decoration: the prices panel reads the same price list as the rest of the site, the projects panel shows prints of real jobs, and the areas map is drawn from Bromley's ward boundaries. It opens on hover with a mouse, and with a button for keyboards and touch. On a phone it becomes a full-screen sheet with each section expandable.
The form is the last piece. It's laid out as a job enquiry sheet, with a red margin holding the step numbers and Steve's red tick on the services you choose. It asks whether water is coming in now, takes up to five photos (shrunk in the browser before they're sent), and works without JavaScript. Spam is stopped without a puzzle: reCAPTCHA v3 loads only when someone starts the form, behind a honeypot, a signed timing token and a rate limit. Enquiries are kept for 12 months and photos for 90 days, exactly as the privacy policy says.
Website Migration: 215 Old Addresses Mapped One by One
Raise the Roofs London had a website before this one, and over the years its addresses had built up links, bookmarks and a place in Google. Replacing a site is the moment that can all be thrown away. So before launch we listed every old address and decided each one by hand: 215 in all. 121 redirect in a single hop to the page that really replaces them, 92 answer 410 Gone because nothing replaces them, and two, the home page and the reviews page, stayed exactly where they were. Not one is sent to the home page by default.
Before launch, a script checked every row against the site, with and without the trailing slash: 446 requests in all, every one correct on launch day. Search Console showed why it mattered. Over the 90 days before launch, three quarters of the old site's search impressions sat on addresses that now redirect, led by the old Bromley roof repairs page, which now points to the Bromley area page. That discipline is the core of our WordPress migration service, and it applies to any platform.
Google Business Profile, Schema and AI Discovery Files for a Roofer
A homeowner may never see the website first. They might see the Google Business Profile, a Trustatrader listing, or an answer from an AI assistant. So the work went beyond the site. The first audit found the phone number told three different stories: Google's profile led with Steve's mobile while calls were meant to go to John, Trustatrader showed its own call-tracking line as the main number, and the old site listed both mobiles. We fixed the site first, from one setting, and then brought Google into line with it: John's number first, and the service areas matched to the nine areas the site covers. Profile posts are scheduled every three days to early December, each linking to a real page.
Underneath the pages, every one carries a full JSON-LD graph: the business as a RoofingContractor, both directors as Person entities with their own profile pages, every page's author and reviewer, and its services and areas. Beside the pages sit ten AI Discovery Files, written to the AI Discovery Files specification, so an assistant asked about a roofer in Bromley has first-party facts to work from. On 27 October Steve submitted the site to the AI Visibility directory himself, and its checks found all ten files and attributed every one, a Platinum listing. Here is the listing. We explain what assistants do with local businesses in does ChatGPT recommend local businesses.
What We Got Wrong on the Roofing Website, and What Steve Caught
Our case studies promise to publish what didn't work as well as what did. One of ours first, then Steve's catches.
A machine file that broke for a day. The site's ai.json returned a server error from 24 October, because one apostrophe in "Steve Ball's" wasn't escaped. Our page checks only looked at HTML pages, so they passed while a file meant for AI assistants failed. We found it the next day, fixed it, and wrote a new check that lints every PHP file and fetches all 13 machine files before each deploy. A check that can't see a file can't fail on it, so the check now covers every file.
Steve's catches. Steve read the staging site the way he reads a roof. He noticed the reviews were cut short on his iPhone with no way to read the rest: the "Read it all" button never appeared in Safari. It now has a clear "Read the full review" button that works on an iPhone. He told us a set of rotten-deck photos filed as a Bromley job were really from a shower room roof in Croydon, so the photos moved to the Croydon job, and Croydon stays off the area pages. One of his street names arrived with the wrong town attached, and the map check caught it: The Drift is in Keston, not where the note said, and he confirmed it. And when he asked us to say that reaching a roof by ladder was illegal, we used the Health and Safety Executive's own words instead, that "sloping roofs require scaffolding", because guidance quoted accurately is stronger than a claim the law doesn't quite make.
Working With Steve Ball and John Ireland
I enjoyed this job, and the evidence is all over the site. Steve answered questions the way he'd brief a labourer, short and exact. When we asked which materials he uses, he sent the product pages for each: FIX-R and IKO felts, Restec liquid roofing, Redland tiles and Cedral fibre cement slates, and all of them are now cited as sources on his flat and pitched roofing pages. When we asked for streets, he sent them town by town as he remembered them, and kept going until every area had at least one. He sent scans of his certificates, and on the decisions he couldn't make himself, such as which Instagram account to link, he trusted us to choose.
John's part was different and just as real. His profile carries the About piece he approved, and he reviews every page before it goes live, with his name on each one to say so. Between them they've written more than 500 quotes since the company began, both going out to look at jobs and both quoting. Steve and John approved the launch themselves, the domain and their email records moved across to 365i the same afternoon, and their Microsoft 365 mail carried on as before.
John Ireland's Google Review of Press Forge
The day the site went live, John left a five-star review on our Google Business Profile. It's short, and here it is in full, exactly as it appears on Google, with our reply underneath.
One word unbelievable totally recommend 100% perfect
Thanks John! Much appreciated!
Seven words, and the one I'd underline is the last. John is the director whose name sits on every page as its reviewer, the one who checks the prices, the areas and the contact details before anything goes live. "Perfect" from the person whose job is to find what's wrong is the review that means the most. It also says nothing about rankings, and we won't either until there's something to say.
Where the Roofing Website Started: The Search Baseline
There are no results yet. The site went live on 26 October 2026, the day before this study was written, and Search Console lags by about three days. What we can publish honestly is the starting point: the search picture the new site inherited, recorded at launch so every later figure has something to be measured against.
| Search | Shown | Clicks | Average position | At three months |
|---|---|---|---|---|
| roofers bromley | 1,009 | 0 | 15.3 p2 | Due January 2027 |
| roof repairs bromley | 512 | 0 | 17.5 p2 | Due January 2027 |
| roofing bromley | 468 | 0 | 19.2 p2 | Due January 2027 |
| roofers beckenham | 417 | 0 | 17.7 p2 | Due January 2027 |
| flat roofing bromley | 296 | 0 | 14.6 p2 | Due January 2027 |
| new roofs bromley | 284 | 0 | 10.5 p2 | Due January 2027 |
| roofers west wickham | 161 | 0 | 14.3 p2 | Due January 2027 |
| roofer chislehurst | 50 | 0 | 27.4 p3 | Due January 2027 |
"Shown" is search impressions. Position is Google's average, so "p2" means page two on average, not on every search. All eight readings are the old site's, recorded before launch. The re-survey is due in January 2027.
The headline figure is in the totals. Over those 90 days the business was shown 43,489 times for searches that didn't use its name, and those searches brought seven clicks. Nearly every click came from people who already knew the name. Yet the site was already being shown for the searches that matter to a roofer in Bromley, on page two, at positions 10 to 20. The new site doesn't need to be discovered from nothing. It needs to climb about ten places on searches it already appears for. That's the target, and it's a realistic one, but no date can be promised.
Two more readings complete the picture. The Google Business Profile was viewed about 200 times in the 28 days before launch. And when we put eight fixed questions to an AI assistant with web search, located to Bromley, Raise the Roofs London was named in five of them, drawn mostly from trade directories and the old site's pages, but not for the two Bromley questions, the biggest market. The new Bromley and emergency repair pages are aimed squarely at those gaps.
| Page | Performance | Accessibility | Best practices | SEO |
|---|---|---|---|---|
| Home | 99 | 100 | 100 | 100 |
| Flat roofing service | 99 | 100 | 100 | 100 |
| Bromley area page | 99 | 100 | 100 | 100 |
| Areas hub | 97 | 100 | 100 | 100 |
| Steve Ball's profile | 99 | 100 | 100 | 100 |
| Reviews | 100 | 100 | 100 | 100 |
| Contact | 100 | 100 | 100 | 100 |
| All 47 pages | 97 to 100 | 100 | 100 | 100 |
The site itself measures well, with one honest limit. Run through Lighthouse on the live site on 27 October, all 47 pages score 100 for accessibility, best practices and SEO on a phone. Mobile performance runs from 97 to 100, with seven pages at 100, after we inlined the CSS the day after launch. What holds it back is page weight from the mega menu: its seven panels sit in every page's HTML. Loading the panels on first open would fix it, and we'd rather do that properly than strip out the menu to chase the last few points.
Results log
- Published, the day after launch. Baseline recorded above; no new-site Search Console data yet. AI Discovery Files 10 of 10 found and attributed.
Results will be added at the three-month review in late January 2027, dated and with an entry in the update log, whichever way they point.
Roofing Company Website FAQs
Should a roofer put prices on their website?
We think so, as honest "from" prices. Raise the Roofs London publishes 22 of Steve Ball's own prices from one list, such as roof repairs from £200 and an emergency call-out from £360, each with what moves the price. A homeowner with water coming in can see the likely cost before they ring, and the people who do ring already know the scale of the job.
Can a roofer show prices "plus VAT" on their website?
Not to homeowners. Rule 3.18 of the CAP Code says quoted prices must include non-optional taxes that apply to all or most buyers, and allows VAT-exclusive prices only where the people addressed pay no VAT or can recover it. So Raise the Roofs London shows the VAT-inclusive price first and the ex-VAT figure beside it, for example "From £360 inc VAT (£300 + VAT)".
Can I use my own phone photos of roofing jobs on my website?
Yes, and they are the best photos a roofer has. Steve's job photos are captioned with the place, never a house number, and the month and year. Any job from before the company was formed in March 2024 says "From Steve's earlier work". Weak photos were restored without adding or removing anything, and where no photo exists the site uses an illustration that claims no job.
Does a roofer need a separate page for every town they cover?
Only for towns they genuinely work in, and only if each page says something useful about that town. Raise the Roofs London has nine: the local roof types, the council's conservation areas and Article 4 directions, the streets Steve has worked on and the jobs done there. Measured on 27 October 2026, each is 75% to 86% its own words against the other eight.
Should my Trustatrader and Google reviews get star markup on my website?
No. Google says a business that controls the reviews about itself is ineligible for star review features, and that reviews should not be aggregated from other websites. Raise the Roofs London shows all of its Google and Trustatrader reviews word for word, synced every week, and its schema carries no Review or AggregateRating markup.
Will I lose my Google rankings if I replace my roofing website?
There is usually a dip of a few weeks while Google follows the redirects, and that is normal. What matters is that nothing is lost for good. On Raise the Roofs London we mapped 215 old addresses one by one: 121 redirect in a single hop to the page that replaces them, 92 return 410 Gone and two stayed where they were.
How does a roofing company get recommended by AI assistants?
There is no switch for it. AI assistants already lean on trade directories such as Trustatrader and the Confederation of Roofing Contractors, so those listings need to be right. The site then gives assistants first-party facts to cite: full schema and a set of AI Discovery Files. Raise the Roofs London's ten files were all found and attributed in the AI Visibility directory on 27 October 2026.
What should a roofer send their web designer?
Short answers to specific questions rather than a blank brief. Steve sent his prices, the materials he uses with their product pages, his certificates, his job photos with the place and date, and the streets he has worked on, town by town. Each answer went onto the site with its source recorded, so nothing on it is a guess.
Is Your Roofing Website as Honest as Your Work?
If you're a roofer whose work is better than your website, we'll build you one in your own words: your jobs, your prices with the VAT in, your reviews as they are, and area pages about the roofs you actually work on. Tell us about your business and we'll quote within 24 hours.
Get a Free QuotePublished: 27 October 2026 · Last reviewed: 27 October 2026 · Written by: Mark McNeece, Founder & Lead Developer, Press Forge
Editorially reviewed by: Mark McNeece on 27 October 2026 · Our editorial standards
Sources & Evidence
- raisetheroofslondon.co.uk - the live site
- Steve Ball's profile page and John Ireland's profile page
- Raise the Roofs London reviews, word for word
- Raise the Roofs London, roofers in Bromley
- Raise the Roofs London, roof repair costs
- Raise the Roofs London Limited at Companies House
- Raise the Roofs London on Trustatrader
- Raise the Roofs London in the AI Visibility directory
- The CAP Code, section 3: misleading advertising (rule 3.18) - ASA
- Spam policies for Google web search - Google Search Central
- Review snippet structured data - Google Search Central
- Roof work - Health and Safety Executive
- Confederation of Roofing Contractors
- AI Discovery Files specification - AI Visibility Definition