Sample Roofing Co.
Your reviews are outrunning your website.
Your reputation scores 94 and your website scores 41. That gap is the whole story. People read the reviews, click through, and land somewhere that does not sound like the business those reviews are describing. The fix is not more marketing, it is closing that gap.
www.sample-roofing.example · built on WordPress
What you already got right.
- ✓Reviews: 94You have enough reviews to be believed. There is room to make them work harder than they currently do.
- ✓Phone number on the listingA customer can tap and call you without visiting anything else.
- ✓Website linked from the listingPeople who want to know more before calling have somewhere to go.
- ✓Google is allowed to list youNo noindex tag, and robots.txt lets search engines in.
- ✓A way to reach you without callingA contact or quote form is on your homepage.
- ✓Security certificateValid until December 16, 2026 (64 days), issued by Sectigo.
Three pillars, one number.
The reviews send people to a page that never mentions them.
You have enough reviews to be believed. There is room to make them work harder than they currently do.
2 things are missing from your profile. Every one of them is free to fix and none of them takes an hour.
Do these first.
- 1
Hours published
Your hours are missing or incomplete. "Hours not available" is the most common reason a business gets skipped at six in the evening.
HowGoogle Business Profile, edit, then the matching field. It is free, it takes about five minutes, and it goes live the same day.
- 2
Emergency or after-hours service stated
Nothing on your profile says you take urgent or after-hours work. That is the search with the least price shopping in it.
HowGoogle Business Profile, edit, then the matching field. It is free, it takes about five minutes, and it goes live the same day.
How you show up.
Home
No description set, so Google picks a line from the page, often a menu or a cookie notice.
Home
sample-roofing.example
The three above you.
| Business | Stars | Reviews | Profile | Review score | Tap to call | DMARC: what happens to forged email in your name | Business details in machine-readable form | Meta description (the grey text under the link) | Your reviews, on your own site | How fast your server answers |
|---|---|---|---|---|---|---|---|---|---|---|
| Sample Roofing Co.You | 4.8 | 58 | 75 | 94 | ✕ | ✕ | ✕ | ✕ | ! | ! |
| Summit Ridge Roofing (sample) | 4.9 | 212 | 100 | 97 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Northfork Exteriors (sample) | 4.7 | 131 | 100 | 91 | ✓ | ! | ✓ | ✓ | ✕ | ! |
| Valley Roof & Gutter (sample) | 4.6 | 74 | 83 | 88 | ✓ | ✕ | ✕ | ! | ✕ | ✓ |
Where you show up on the map.
Points 5 km apart · centre is you
In the top three at 1 of 9 spots. Each square is what a phone standing there sees for “Roofing contractor in Anytown”: your position in Google's list, or 20+ when you are not in the first twenty.
In this sample the grid is an illustration. On your report each square is a live search from that spot.
The map pack shows three businesses. Outside the top three a customer has to tap “more” to find you, and most do not.
What an AI assistant says.
“Who is the best roofing contractor in Anytown?”
- 1Summit Ridge Roofing (sample)
- 2Northfork Exteriors (sample)
- 3Valley Roof & Gutter (sample)
“I need a roofing contractor in Anytown. Who should I call?”
- 1Summit Ridge Roofing (sample)
- 2Sample Roofing Co.
- 3Northfork Exteriors (sample)
You came up in 1 of 2 answers. Named instead: Summit Ridge Roofing (sample), Northfork Exteriors (sample), Valley Roof & Gutter (sample). AI answers lean on reviews, a complete listing, and pages that say plainly what you do and where. The deep scan above shows which of those you have. In this sample the answers are an illustration, because no assistant has heard of a business we invented. On your report they are asked live, with web search, on the day it runs.
Under the hood.
Speed
How long a stranger on a phone waits before they see you.
- !
How fast your server answers
An afternoon1.38 seconds before the first byte came back, measured from our server.
Nothing can appear on screen until the server answers. Under a second is healthy; past two, every other speed fix is fighting uphill.
The fixTurn on page caching or a CDN in your host or builder. On WordPress, a caching plugin and a better host usually cut this in half.
- !
Weight of the homepage itself
An afternoon412 KB of HTML before a single image loads.
A heavy page is slow on a phone with two bars, which is where most people find a local business.
The fixPage builders pile up inline code. Removing unused sections and builder add-ons trims it; a hand-built page is usually under 100 KB.
- !
Separate scripts the page loads
An afternoon23 script files referenced by the homepage.
Every script is another download a phone has to finish, and most of them are trackers, widgets and plugins doing nothing for the visitor.
The fixList what each script is for and remove the ones nobody can name. Chat, review and booking widgets can load after the page instead of before it.
- ✕
Images in a modern format
Minutes0 of 13 images on your homepage are served as WebP or AVIF, or through a builder that converts them.
WebP and AVIF are the same picture at a third to a half of the size. Images are usually most of what a page weighs.
The fixConvert the photos to WebP (most builders and WordPress image plugins do it with one switch) and size them to the width they are shown at.
- !
Images below the fold wait their turn
Minutes0 of 13 images are set to load only when scrolled to.
Images nobody has scrolled to yet should not compete with the first screen for a phone's bandwidth.
The fixAdd loading="lazy" to every image below the first screen. Most builders have a setting for it.
Security and trust
The padlock, the certificate and the little signals that say somebody is minding the store.
- !
Security headers
Minutes1 of 5 standard headers sent (strict-transport-security).
These are a few lines of server settings that stop your site being framed by a lookalike page, and they are what an insurance or vendor security questionnaire asks about.
The fixAdd X-Content-Type-Options, Referrer-Policy and X-Frame-Options in your host or Cloudflare. Your web person can do it in ten minutes.
- !
The site looks looked-after
MinutesThe footer says © 2023.
An old year in the footer is the first thing a careful customer notices, and it reads as a business that stopped paying attention.
The fixSet the footer year to update itself, or just change it. Two minutes.
- ✓Secure connection (HTTPS)Your site loads over HTTPS at sample-roofing.example.
- ✓The old http:// address forwards to the secure oneTyping http:// sends people to the secure page.
- ✓Security certificateValid until December 16, 2026 (64 days), issued by Sectigo.
- ✓Everything on the page loads securelyEvery image, script and frame on your homepage loads over HTTPS.
Your domain
The name everything else hangs on, and when it comes due.
- !
Your domain name is paid up
Minutessample-roofing.example is registered until November 29, 2026, 47 days from today, with GoDaddy.com, LLC.
When a domain lapses, the website and every email address on it stop working the same day, and expired names get bought by squatters within hours.
The fixLog in to GoDaddy.com, LLC and check that auto-renew is on for sample-roofing.example, with a card that will not expire first. If it is, this renews itself; if it is not, renew for several years while you are there.
- iHow long the name has been yourssample-roofing.example was first registered on June 26, 2020, 6 years ago.
Email you can trust
Whether your mail lands, and whether somebody else can send mail as you.
- ✕
DMARC: what happens to forged email in your name
MinutesNo DMARC record at _dmarc.sample-roofing.example.
Anyone can send an email that says it is from you, a fake invoice to your customers included, and nothing tells their inbox to stop it. Google and Yahoo have also required DMARC from bulk senders since February 2024.
The fixAdd a TXT record at _dmarc.sample-roofing.example: v=DMARC1; p=none; rua=mailto:(your address). Move to p=quarantine once reports show your own mail passing.
- !
The address customers see
MinutesYour site lists samplerooferco@gmail.com.
You already own sample-roofing.example. An address on it reads as an established business; a free mailbox next to it reads as a side project, and it is the account you lose if that one login is ever taken.
The fixUse an address at sample-roofing.example on the site; you already receive mail there.
- ✓Email at your own domainsample-roofing.example receives email through Google Workspace.
- ✓SPF: the list of who may send as you"v=spf1 include:_spf.google.com ~all"
Search basics
What Google reads first, and whether it is allowed to read you at all.
- !
Page title (the blue link in Google)
Minutes"Home" (4 characters).
This is the headline of your Google result. The ones that win name the service and the town, because that is what people type: "Anytown" belongs in it.
The fixWrite it as: What you do in Anytown | Sample Roofing Co.. Keep it under 60 characters.
- ✕
Meta description (the grey text under the link)
MinutesNo meta description, so Google writes its own from whatever text it finds.
It is your two-line ad on the results page. Left blank, Google often picks a cookie notice or a menu.
The fixWrite 140 to 160 characters: what you do, where, one proof point (years, reviews, a guarantee), and how to reach you.
- !
One clear main heading
Minutes2 H1 headings on your homepage, starting "Quality Roofing You Can Trust".
Search engines and screen readers use the main heading to decide what the page is about. One, and it should say what you do.
The fixMake exactly one H1 on the homepage, and make it say what you do and where.
- !
One official address for the page
MinutesNo canonical tag.
Without it, Google can split your ranking between the www and non-www, http and https copies of the same page.
The fixAdd a canonical link tag pointing at the one address you want ranked. Most SEO plugins and builders have it as a setting.
- ✕
Photos described in words
Minutes3 of 13 images on your homepage have alt text.
Alt text is how Google Images, screen readers and AI engines know your photo shows a finished kitchen in Kalispell rather than "IMG_4471".
The fixGive every real photo a short, plain description of what it shows and where. Skip it only on decorative shapes.
- !
A picture when your link is shared
MinutesNo share image: a text or Facebook post with your link shows a blank box.
When a happy customer texts your link to a friend, this image is the first impression. Blank looks broken.
The fixSet an Open Graph image (1200 by 630, your best job photo with your name on it) in the builder or SEO plugin.
- ✓Built for phonesThe page tells phones to fit it to the screen.
- ✓Google is allowed to list youNo noindex tag, and robots.txt lets search engines in.
- ✓A sitemap for search enginesA sitemap is published.
- ✓Page language declaredDeclared as "en-US".
- ✓Your icon in the browser tabA site icon is set.
AI search
Whether ChatGPT, Claude, Perplexity and Google's AI can read you, and quote you.
- ✕
Business details in machine-readable form
An afternoonNo structured data (JSON-LD) on your homepage.
Structured data is the business card you hand to Google, ChatGPT and Perplexity: name, trade, address, hours, phone and reviews in a form they can quote without guessing.
The fixAdd a LocalBusiness JSON-LD block (the most specific type for your trade) with name, address, phone, hours, service area and a link to your Google profile.
- !
AI assistants are allowed to read you
MinutesYour robots.txt blocks GPTBot.
More people now ask an AI "who is the best in town" than scroll ten blue links. A blocked assistant cannot recommend a business it is not allowed to read.
The fixRemove the Disallow lines for those AI crawlers (often added by a security plugin with a default you never chose).
- !
An llms.txt guide for AI engines
MinutesNo llms.txt file.
llms.txt is a short plain-text summary of who you are and what you do, written for AI engines. Few local businesses have one yet, which is exactly why it is worth having.
The fixPublish /llms.txt: your name, trade, towns served, services, hours, phone and the five questions customers ask most, answered.
- !
Questions answered in your own words
An afternoonNo questions-and-answers section on your homepage.
AI answers are built from sentences that answer questions. A page that already says "Yes, we serve Whitefish, and estimates are free" gets quoted.
The fixAdd six real customer questions with short, specific answers (price ranges, areas served, timelines), marked up as FAQPage.
- !
Enough words for a machine to quote
An afternoonAbout 230 readable words on your homepage.
Search engines and AI can only repeat what is written as text. A homepage of photos and three headlines gives them nothing to say about you.
The fixWrite what you do, where, for whom, how it works and why you, in plain sentences. 400 to 800 words on the homepage is the healthy range.
Turning visits into calls
Once somebody is on the page, how easily can they reach you.
- ✕
Tap to call
Minutes(555) 010-0148 is printed on your homepage but is not a tap-to-call link.
On a phone, a number that is not a link has to be memorised or copied. Most people do neither; they call the next result.
The fixWrap the phone number in a tel: link and put it in the header so it is on every page.
- !
Your reviews, on your own site
MinutesNo reviews or testimonials on your homepage.
People land on your site to check you out. The reviews they just read on Google should be there to meet them, not two clicks away.
The fixPut three real reviews, with first names and the job, right under the first screen, and link to the rest on Google.
- ✓A way to reach you without callingA contact or quote form is on your homepage.
- iBook onlineWe did not find online booking on your homepage or contact pages.
- ✓You can see who visitsInstalled: Google Analytics 4.
- ✓Your other profiles, linkedLinked from your homepage: Facebook.
- iSomething answers after hoursNo chat or answering assistant on your homepage.
Your profile and reviews, line by line.
Reviews
94 / 100- ✓Review volume58 reviews. Past 25 you are credible. Past 100 you are the obvious call.40/40
- ✓Star rating4.8 stars. That is the top of the trade and it should be the first thing on your website. It almost certainly is not.54/60
Google profile
75 / 100- ✓You have a listing we could findWe found you the same way a customer would, by searching your trade and your town.20/20
- ✓Phone number on the listingA customer can tap and call you without visiting anything else.10/10
- ✓Website linked from the listingPeople who want to know more before calling have somewhere to go.15/15
- ✓Street address publishedA real address is a trust signal and it is what puts you in the local map pack.10/10
- ✕Hours publishedYour hours are missing or incomplete. "Hours not available" is the most common reason a business gets skipped at six in the evening.0/15
- ✓Profile is active enough to carry a ratingGoogle is showing a star rating on you, which means the profile is live and being used.10/10
- ✓Enough reviews to rank locallyYou clear the rough floor where Google starts trusting a profile enough to rank it.10/10
- ✕Emergency or after-hours service statedNothing on your profile says you take urgent or after-hours work. That is the search with the least price shopping in it.0/10
Your website, read closely.
The homepage opens on a stock photo of a roof that is not theirs and a headline that could belong to any roofer in any state.
Fifty-eight reviews at 4.8 on Google, and not one of them appears on the site. No license number, no insurance line, no photos of finished jobs.
The page title is the single word "Home" and there is no meta description, so Google writes its own result from the menu.
No business details in machine-readable form, no answers to common questions, and robots.txt turns the ChatGPT crawler away.
Nothing answers after hours. A homeowner with a leak at 9pm reads the site and calls the next roofer on the list.
There is a quote form, which is good. The phone number is printed in the footer but cannot be tapped on a phone.
Clean enough on a desktop. On a phone the hero image pushes every word below the fold.
The plan, sorted by effort.
This week
Minutes each, mostly free · 17
- SpeedImages in a modern formatConvert the photos to WebP (most builders and WordPress image plugins do it with one switch) and size them to the width they are shown at.
- Email you can trustDMARC: what happens to forged email in your nameAdd a TXT record at _dmarc.sample-roofing.example: v=DMARC1; p=none; rua=mailto:(your address). Move to p=quarantine once reports show your own mail passing.
- Search basicsMeta description (the grey text under the link)Write 140 to 160 characters: what you do, where, one proof point (years, reviews, a guarantee), and how to reach you.
- Search basicsPhotos described in wordsGive every real photo a short, plain description of what it shows and where. Skip it only on decorative shapes.
- Turning visits into callsTap to callWrap the phone number in a tel: link and put it in the header so it is on every page.
- SpeedImages below the fold wait their turnAdd loading="lazy" to every image below the first screen. Most builders have a setting for it.
- Security and trustSecurity headersAdd X-Content-Type-Options, Referrer-Policy and X-Frame-Options in your host or Cloudflare. Your web person can do it in ten minutes.
- Security and trustThe site looks looked-afterSet the footer year to update itself, or just change it. Two minutes.
- Your domainYour domain name is paid upLog in to GoDaddy.com, LLC and check that auto-renew is on for sample-roofing.example, with a card that will not expire first. If it is, this renews itself; if it is not, renew for several years while you are there.
- Email you can trustThe address customers seeUse an address at sample-roofing.example on the site; you already receive mail there.
- Search basicsPage title (the blue link in Google)Write it as: What you do in Anytown | Sample Roofing Co.. Keep it under 60 characters.
- Search basicsOne clear main headingMake exactly one H1 on the homepage, and make it say what you do and where.
- Search basicsOne official address for the pageAdd a canonical link tag pointing at the one address you want ranked. Most SEO plugins and builders have it as a setting.
- Search basicsA picture when your link is sharedSet an Open Graph image (1200 by 630, your best job photo with your name on it) in the builder or SEO plugin.
- AI searchAI assistants are allowed to read youRemove the Disallow lines for those AI crawlers (often added by a security plugin with a default you never chose).
- AI searchAn llms.txt guide for AI enginesPublish /llms.txt: your name, trade, towns served, services, hours, phone and the five questions customers ask most, answered.
- Turning visits into callsYour reviews, on your own sitePut three real reviews, with first names and the job, right under the first screen, and link to the rest on Google.
This month
An afternoon each · 8
- AI searchBusiness details in machine-readable formAdd a LocalBusiness JSON-LD block (the most specific type for your trade) with name, address, phone, hours, service area and a link to your Google profile.
- SpeedHow fast your server answersTurn on page caching or a CDN in your host or builder. On WordPress, a caching plugin and a better host usually cut this in half.
- SpeedWeight of the homepage itselfPage builders pile up inline code. Removing unused sections and builder add-ons trims it; a hand-built page is usually under 100 KB.
- SpeedSeparate scripts the page loadsList what each script is for and remove the ones nobody can name. Chat, review and booking widgets can load after the page instead of before it.
- AI searchQuestions answered in your own wordsAdd six real customer questions with short, specific answers (price ranges, areas served, timelines), marked up as FAQPage.
- AI searchEnough words for a machine to quoteWrite what you do, where, for whom, how it works and why you, in plain sentences. 400 to 800 words on the homepage is the healthy range.
- Website · trustPut five of your Google reviews on the homepage, with the reviewer names.
- Website · brandReplace the stock hero with a photo of a roof you finished, and name the towns you serve in the headline.
When you are ready
Worth doing properly · 2
- Website · trustAdd your license number and an "insured" line to the footer.
- Website · designShorten the phone hero so the headline and the call button show without scrolling.
Now see yours.
The same engine, run on your real website, your real Google listing and your real reviews. Free, no card, and the whole report lands in your inbox.