Website technical review
[Business name]
[domain]
Reviewed 26 August 2026
- URLs
- 8
- Findings
- 4
- Rejected
- 3
- High impact
- 1
Overall Needs attention
This is a real report on a real business, sent to you as a sample. The business name, the domain and the town names are removed, and the competitors named in section 05 are lettered instead. Nothing else about it is changed, including section 02, which lists what was thrown out.
01
Scope and method
Eight URLs, being every address reachable from the site's own navigation, of which seven are HTML pages and the eighth is the XML sitemap. Every one of them was opened and read on 26 August 2026 rather than left to a tool.
Checked on each page: title, meta description, heading structure, mobile rendering, indexability, canonical tag, structured data, word count, duplicate content and internal linking. The Google Maps listing was compared against the site itself, and the local results were run for the search that matters most in this particular trade and town.
Not checked. Page speed. Early measurements varied by
more than tenfold on the same page, and a number that cannot be
reproduced is not a finding. Nothing behind a login was looked at.
02
What the automated checks got wrong
The crawl raised eleven flags. Three were rejected after being checked on the live page and are listed below, because knowing what was thrown out is part of what was paid for. The remaining eight overlapped one another and were consolidated into the four findings in section 04, which is why this report charges for the work rather than by the finding.
Automated finding 01
Rejected
Duplicate homepage
The crawler reported / and /home as being duplicate pages, with identical titles and the very same 1,440 words of copy appearing on both of them.
Why it was cut They are the same page, and /home correctly names / as its canonical version, which is exactly the right way to handle it.
Automated finding 02
Rejected
Sitemap missing title, description and mobile support
The crawler treated /sitemap.xml as though it were an ordinary page on the site, and then went on to report three separate defects against it.
Why it was cut It is an XML file written for search engines rather than an HTML page meant for people, so not one of those three checks applies to it here.
Automated finding 03
Rejected
Multiple H1 headings on the privacy policy
The crawler flagged six separate top-level headings on the /privacy_policy page and then reported that page as being defective because of them.
Why it was cut No rule says that a page must have exactly one of them. Google's guidance is about having one clear main title, and on a privacy policy there is nothing at all competing to be that title, so reporting this would have only padded the list.
03
The short version
- Your two location pages say almost nothing. These are the pages meant to be found by anyone searching in either of those two towns, and neither one of them describes the work done there, the area it serves, or the people doing it.
- Nothing on the site states your business facts in a form built to be read by a machine. There is no structured business data on any of the eight pages.
- You have more reviews than anyone ranking above you and you are still sitting in fourth place. The detail on that is set out in section 05 below.
- Your sitemap and your pages name different homepages.
Minor, and easily settled.
- Everything else is in good shape. Mobile rendering
works on every page, titles and descriptions are written throughout,
every page has a clear main title, and nothing is blocked from being
indexed. That is better than most sites this size.
04
Findings
Impact is rated against a fixed rule, written down
before the site was read, so that a rating is something you can check
rather than something you have to take on trust. High
means the problem stops a page being found or used for the searches
that page exists to win. Moderate means the page still
works, but it is harder for a search engine or a visitor to read or
trust. Low means it is wrong and worth correcting, with
no visible consequence today. Effort is my estimate of the work the
fix takes, and it is kept in its own column so that neither of the two
numbers is quietly doing the other one's job.
Finding 01
Impact: High
Effort: Low
The two location pages carry almost no local content
Affected
/[city-a]
/[city-b]
What is absent
- which repair services are actually performed at that location
- which towns and neighbourhoods each location serves
- who works there, or anything specific to that site
- certifications, equipment, or manufacturer approvals
- how an insurance claim is handled
- anything that distinguishes the two pages from one another
Evidence
[city-a] page135 words
[city-b] page129 words
every other page on the site231 to 1,440 words
Why it matters
These two pages exist to be found by somebody searching in each town. Neither describes the work, the service area, or the people. A visitor who lands on one has almost nothing to read before deciding whether to call, and the two pages are close enough to identical that neither has a reason to be preferred over the other.
What happens if it stays
Someone who arrives on one of those location pages leaves it with no more information about you than the map listing had already given them.
Word count is the symptom here rather than the diagnosis. Google states plainly that there is no minimum length which determines ranking. The finding is the list of things absent from these pages, and the counts above are simply how you can see it at a glance.
Finding 02
Impact: Moderate
Effort: Low
The site has no LocalBusiness structured data
What is absent
- business type
- street address
- telephone number
- opening hours
- service area
- services offered
Evidence
ld+json blocks found0
pages checked8
Why it matters
Structured data states these facts in a standard format a search engine reads directly. Without it Google has to derive them from ordinary page text and from other sources such as your Maps listing, and anything it cannot derive confidently it may simply not use.
What happens if it stays
Your hours, your service area and your services stay dependent on being inferred correctly rather than being stated in a form that is built to be read.
Google is explicit that structured data is not by itself a ranking factor. The claim here is narrow on purpose: the markup is absent, and it is what makes a page eligible for some search features.
Finding 03
Impact: Low
Effort: Very low
Two canonicalisation signals disagree about the homepage
Affected
/sitemap.xml
every page's canonical tag
Evidence
canonical tag<link rel="canonical" href="https://[domain]/">
sitemap entryhttps://[domain]/home
Why it matters
Google recommends against identifying different canonical URLs through different methods. The canonical tag is a strong signal and a sitemap entry is a weak one, so Google will resolve this itself and will probably resolve it correctly.
What happens if it stays
Google keeps resolving a contradiction you are supplying. There is no benefit to making it do that, and both should name the same address.
Finding 04
Impact: Moderate
Effort: Low
The About page leaves out the trust information a body shop needs
What is absent
- how long the business has been operating
- who does the work, and their experience
- certifications or manufacturer approvals
- what happens to a customer's car while it is in the shop
- how insurance claims are handled
- any named person a customer would be dealing with
Evidence
About page231 words
of which addressing any of the abovenone
Why it matters
For a collision shop the About page is where a customer would look for reasons to trust the business with a car and a deductible. This one states none of those reasons, and there is nowhere else on the site that states them either.
What happens if it stays
A customer using the About page to decide whether to trust the shop with their car will not find the experience, the certifications, the people or any of the process information that would let them actually make that decision.
05
Local search
Google Maps results for the main search in your trade and your town, taken on the date of the review itself. Competitor names are lettered in this sample.
| Business | Rank |
Reviews | Rating |
Photos | Saturday |
| Competitor A | 1 | 219 | 4.7 | 54 | Closed |
| Competitor B | 2 | 171 | 4.7 | 11 | 8am to noon |
| Competitor C | 3 | 99 | 4.7 | 18 | 8am to noon |
| This business | 4 | 239 | 4.6 | 11 | Closed |
What this shows
You have more reviews than any business ranking above you, at a rating within a tenth of a point of theirs, and you are still sitting in fourth place behind them. Review volume and rating do not explain the ranking gap in this particular result.
Two differences are visible and both are fixable without touching the website at all. The business at number one carries 54 photos to your
11. Two of the three above you are open Saturday
morning and you are not, on a search people run after a
weekend collision.
Worth knowing: three of the top six results are the same chain at three different addresses, so four of the six slots a searcher sees are held by only two companies. Those are observable differences rather than proven causes of the ranking order.
Every rank, review count, rating, photo count and opening time above is exactly as Google returned it. No estimate is made of what a position is worth in traffic or in revenue, because nothing in this data supports one.
06
Page by page
Every page inspected, and every check that was run against each of them. Most of this table is passes, and that is precisely the point of including it here.
| Page | Mobile |
Title | Description |
Heading | Canonical |
Indexable | Structured data |
Content |
| Home | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Pass |
| /home | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Pass |
| [city-a] | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Needs work |
| [city-b] | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Needs work |
| About | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Needs work |
| Services | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Pass |
| Privacy | Pass | Pass | Pass | Pass | Pass | Pass | Missing | Pass |
| sitemap.xml | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
sitemap.xml is listed here because the crawler reached it, but it is an XML file written for search engines rather than a page, so the page checks above do not apply to it at all.
07
Recommended order
- Location pages. Finding 01. The largest single change to
what you can be found for.
- Structured business data. Finding 02. Site-wide, cheap to do, and it stops your hours, address and service area depending on being inferred rather than read.
- Canonical and sitemap. Finding 03. A small change, and it removes a contradiction that the site is currently handing to Google for it to settle.
- About page. Finding 04. Trust content, which is a
writing job more than a technical one.
No calendar is attached to that, because none is needed. On a site of this size the whole list is a single pass of work, done inside a week rather than spread across four of them.
08
Having it done
This report names what is wrong and what happens if it stays. It does not contain the code or the steps. That is deliberate: an inspection tells you the roof is failing, it is not a roofing manual.
Findings 01 to 04 on this site are a quick pass, $500 flat: the existing site fixed rather than rebuilt, and finished inside a week of starting. The $250 you paid for this report comes off that if you book within thirty days, so the review ends up costing you nothing whatsoever if you were going to have the work carried out in any case.
The document is yours outright. Hand it to any developer you like.
Every finding above was reproduced on the live site on
the date of the review. Anything the crawl reported that did not
reproduce was removed and is listed in section 02. There are no traffic or
revenue estimates in this document, because none can be measured from a
crawl.