Client identity withheld. This is a real website, audited to the same standard as a paid audit. The name, web address, phone number, city and every other identifying detail have been replaced with ████ — the findings themselves are untouched. I never publish a site owner's name next to their defects.
Website Audit — prepared by Apex Site Audits
A complete website audit, start to finish
████████████Client name withheldclient identity withheld
████████████web address withheld / homepage and contact page
TRADE Landscaping & hardscaping
REGION United States
REVIEWED By hand, not by scanner
FINDINGS 10
2
Critical
3
High
3
Medium
2
Low
Read the first two and stop if you like. They are the ones costing this business money today, and between them they take about ten minutes to fix. Everything after that is worth doing; nothing after that is urgent.
Each finding says what's wrong, shows you where it is, and tells you what it should say instead. It's written so you can forward the whole thing to whoever maintains the site without having to explain any of it. There is nothing to install and nothing to sign up for.
Findings — ordered by what each one is costing you
Critical01every page on the site
Your site stops people zooming in. On a phone, the text is the size it is.
There's a single line in the head of every page telling the browser to refuse pinch-to-zoom. It's a default that shipped with a lot of website templates years ago and it's still in yours.
Most of your customers are homeowners deciding on a project that costs thousands of dollars, and a good share of them are over fifty. Someone who can't quite read your service list can't make it bigger. They don't email to tell you the text is small — they go back to the search results and click the next contractor.
In the head of every page
currently
<meta name="viewport"
content="width=device-width,
initial-scale=1.0,
maximum-scale=1.0, user-scalable=0" />
should be
<meta name="viewport"
content="width=device-width,
initial-scale=1" />
The fix
Delete maximum-scale=1.0, user-scalable=0 from that line. Nothing else about your layout changes — the page already resizes correctly, it's only the zoom that's been switched off.
Whoever maintains the site will know where this lives; on most themes it's one field in the settings. Ask them to check it on every page template, not just the homepage.
About 5 minutes
Critical02contact page
Your phone number on the contact page can't be tapped.
The number is displayed large and clearly — it's a heading, in fact, the most prominent thing on the page. But it's only text. There is no phone link behind it anywhere on that page, so tapping it on a phone does nothing at all.
Your homepage has a working phone link. The contact page doesn't. That's the page a ready customer navigates to specifically because they've decided to get in touch, and it's the one page where calling you takes copying the number out by hand.
Phone links found per page
homepage 1 phone link — works
contact page 0 phone links — none at all
the number is a plain heading
The fix
Wrap the number on the contact page in a phone link, the same way the homepage does it. Written out in full with the country code, no brackets and no spaces: tel:+1███████████.
Then open the contact page on an actual phone and tap the number. If the dialer comes up with the right digits, it's done.
The footer is where a cautious homeowner looks when they're trying to work out whether a business is still trading — especially one they're about to hand several thousand dollars to. A date that old reads as a site nobody has opened in a decade, whatever the rest of the page says.
Change the year. Then ask whoever maintains the site to make it update itself — on your platform that's a one-line change, and it means this can never go stale again.
About 5 minutes
High04homepage, mid-page section
A section of your homepage is still announced as new, with a five-year-old year in the heading.
What's under it is good — it's genuinely one of the better things on the site. The heading is the problem: it's advertising as new something that has been there for five years.
This is the same failure as the footer, but worse, because the footer is small print and this is a headline. It tells a visitor exactly how long it's been since anyone looked at this page.
Section heading, as published — wording withheld
████████████ 2021! ← a heading announcing this
section as new, still live in 2026
The fix
Take the year out of the heading entirely. Say what the thing is instead of when it arrived — a heading that names the service can't expire, and it tells the reader something useful in the same breath.
About 2 minutes
High05what Google shows in results
Your homepage carries two search descriptions and the first one is blank.
The description is the gray line of text under your business name in Google's results. Your homepage has two of these tags in its code. The first is empty; the second is the real one, and it's decent.
Which one gets used isn't up to you. When Google reads the empty one first it can decide you haven't written a description at all and pull two random sentences off the page instead — which is how a contractor ends up with a search result that opens mid-sentence.
Both description tags, in the order they appear
first <meta name="description"
content="" /> ← empty
second <meta name="description"
content="████████████
████████████ ... " />
← real, written, and 180+ chars
The fix
Delete the empty one and keep the written one. It's usually a leftover from an SEO plugin and the theme both trying to write the description — turning it off in one of the two clears it.
While you're there: trim the written one so it ends on a full sentence. Google cuts these at about 155 characters and yours currently gets chopped.
About 10 minutes
Medium06homepage, four consecutive sections
Three of your four project videos are headed with escalating variations of "another one".
You have four project videos on the homepage, one after the other. The first is introduced properly. The next three reuse that same heading with a word bolted on the front each time, as though you'd run out of patience writing them.
The videos themselves are the strongest content on the site — real projects, your own crews. The headings make them look like filler, and a visitor skimming down the page reads the headings, not the videos.
The four headings, in page order — wording withheld
1 names what the video shows
2 ████████████ + the same phrase3 ████████████ + the same phrase, one word longer4 ████████████ + the same phrase, two words longer← each one adds a word to the
same dismissive prefix
The fix
Give each one the name of the job it shows — the street, the neighborhood, or the work itself. "Backyard regrade and retaining wall" tells a visitor something. A heading that just says "one more of these" tells them you stopped caring three headings ago.
About 15 minutes
Medium07top menu, every page
Your website's admin login is a link in the public menu.
Along the top bar there's a link marked Log In. It goes to the administrator sign-in page for your website. Every visitor sees it, and so does every automated bot that reads your site looking for exactly that.
It isn't an emergency — the page is password-protected. But it advertises what your site is built on and where to knock, and it does nothing for the homeowner reading your menu. You can reach that page perfectly well by typing the address; it doesn't need to be in the menu.
Public menu, top bar
public menu Log In→ the admin sign-in page← visible to every visitor
and every passing bot
The fix
Remove the Log In item from the menu. Bookmark the address in your own browser instead. If you'd like to go further, ask whoever maintains the site to move the sign-in page to a non-obvious address — that's a small plugin and about ten minutes.
About 5 minutes
Medium08two service pages
One of your service pages exists twice, and the copy has a "-2" on the end.
There are two pages covering the same service. The second has the same address as the first with -2 stuck on the end — the name a website builder gives a page automatically when you create one that clashes with an existing name.
When somebody searches for that service in your area, Google has to pick which of the two to show, and splits the credit between them rather than giving it all to one.
Two addresses, one service
/services-████████████/ ← keep this one/services-████████████-2/ ← the duplicate
The fix
Decide which page is the better one, move anything worth saving out of the other, then delete it and forward its address to the one you kept.
One thing to pass on: don't just unpublish the duplicate. Unpublished pages often sit in Google for months. Deleting it with a forward — your web person will call it a redirect — is what actually merges the two.
About 30 minutes
Low09anywhere your link gets shared
When someone shares your website, it arrives as a bare link with no picture.
Sites tell Facebook, Instagram and text messaging what picture and headline to show when someone pastes the link. Yours doesn't have any of those instructions — not one.
So when a happy customer recommends you in a neighborhood group, their post is a naked web address. The version with a photo of your work and your business name gets read; the bare link mostly doesn't. This is free referral traffic arriving badly dressed.
Sharing tags found on the homepage
og:title missingog:description missingog:image missing← no picture, so a shared
post shows none
The fix
Add three lines to the homepage: a title, one sentence, and a photograph. Pick your best finished project, in landscape, at least 1200 pixels wide.
Most SEO plugins have a tab for this called "social" or "sharing" — it's filling in a form, not writing code.
About 20 minutes
Low10homepage
Your phone number is written three different ways on one page.
Three formats, all on the homepage. A human reads all three as the same number, and it makes no difference to anyone dialing it.
It matters in one narrow place: search engines match your business across Google, Yelp and the rest partly by comparing the phone number character for character. Consistency there is free, and this is the cheapest item on the list.
Formats found, same page
header (███)███-████ ← no spacebody copy (███) ███-████ ← with spacefooter ███.███.████ ← dots
The fix
Pick one written form — whichever appears on your Google Business listing — and use it everywhere on the site, brackets and spacing included.
About 10 minutes
What's already working
This isn't padding. These are the things I'd have flagged if they were missing, and they're the reason the fixes above are worth making — what's underneath them is sound.
Eighteen Google reviews, with the reviewers' names and photographs, pulled onto the site itself. Most contractors leave their reviews stranded on Google where nobody looking at the site ever sees them. Yours are on the page, and they're real people.
Every single image has alt text. Forty-nine images, none missing. I check this on every site and I almost never see it done properly. It's what makes your photographs findable in image search and readable to anyone using a screen reader.
Your service pages are named in plain English. Each one is the name of the actual work — not "solutions", not "offerings", but the words a homeowner would type into Google.
The project videos are your own work, filmed on your own jobs. No stock footage, no borrowed photography. It's the most convincing thing on the site, which is exactly why finding 06 is worth twenty minutes of your time.
If you only do some of it, do it in this order
Delete the zoom lock from the viewport line5 min · critical
Put a phone link on the contact page number5 min · critical
Change the footer year, and make it self-update5 min · high
Take “2021” out of the homepage heading2 min · high
Delete the empty search description tag10 min · high
Rename the four video headings15 min · medium
Remove the Log In item from the public menu5 min · medium
Merge the duplicate service page and forward it30 min · medium
Add sharing title, text and image to the homepage20 min · low
Settle on one phone number format10 min · low
The first five come to under half an hour and cover everything that is actively costing you calls. The rest can wait for a rainy day.
If anything here doesn't make sense, reply to the email this came in on. You'll get me, not a support ticket, and there's nothing else I'll try to sell you.
Jordan William Apex Site Audits — Apex Sniper Developments Calgary, Alberta, Canada
That's the whole document. Yours would name your site.
One page of your website, read by hand, every problem written down with the fix underneath. Back with you inside 24 hours.