A testimonial with the brackets still in it
Published, live, on the homepage: “If anyone is on the fence about working with [firm name], we'd tell them not to hesitate — having [them] in our corner…” The find-and-replace was never run.
Not a survey and not opinion. We fetched each site, parsed what the server actually sent, and measured four things a referred prospect needs in the first sixty seconds. Here is the method, the findings, and what we could not measure.
had no way to book a time
16 of 23
had no proof a stranger can check
18 of 23
showed no client result as a number
17 of 23
led with the service, not the client
12 of 23
cleared all four.
← one column per site, 23 in total the one that passed all four
We started with 25 practice sites belonging to solo practitioners and firms of roughly two to ten people, found across different metros. We deliberately excluded the large national brands — they are not the businesses we are describing.
Each homepage was fetched with a normal browser user-agent and parsed with an HTML parser, not pattern-matching. Contact, testimonial, blog and case-study pages were fetched separately where they existed. Image weights are real byte counts from the server, not estimates.
Five sites were removed before any counting. Four could not be fetched at all — a bot wall, two connection failures and a TLS handshake error — and we will not guess at a page we could not read. One turned out to be registered in England and Wales, so it left the sample as well.
Every percentage below is out of 23. Two further sites appear in our notes but sit outside the counts as special cases: one is a JavaScript shell that serves eighty-four characters of text and no headings, and one is simply gone — a cPanel default page where a Boston firm used to be, with its still-indexed service page returning a 404.
That matters, and we would rather say it than have you find it. On Wix, HubSpot and some Squarespace blocks, a form can be assembled in the browser after the page arrives. So “no form in the HTML the server sent” is not the same claim as “no form for a human”, and wherever that distinction applied we flagged it rather than counting it as a failure.
What does stand either way: a page that serves no content until JavaScript runs is a real problem. Search engines and slow connections see the empty version. Two sites in this sample serve a contact page with zero visible text before scripts execute.
We keep the full named list, per-site notes and every source. If you want to check our working on a particular finding, ask and we will send it.
16 of 23 sites
No calendar anywhere in the funnel — a contact form, a phone number, or in four cases nothing that worked at all. One site routed twelve separate “Schedule a Consultation” buttons to an empty anchor tag, on a homepage that listed neither a phone number nor an email address.
18 of 23 sites
No testimonial or case study naming a real person at a real company. Five had no client proof of any kind. One ran four testimonials with no name, no company and no title attached to any of them. One published a “Client Reviews” page containing no reviews — just an empty form asking visitors to submit one.
17 of 23 sites
Not one figure on the homepage. These are people hired to produce figures. Meanwhile the strongest site in the sample writes “$3M+ in Annual Savings Found” beside a named plumbing company with a working link to it.
12 of 23 sites
The headline is the name of the category — “Fractional CFO Services”, “Virtual CFO Services”, “Fractional CFO”. Your prospect already knows what a fractional CFO is; the person who referred you explained it. What they do not know is whether you have handled a business like theirs.
Less interesting than the four questions, but it is where the “my site is fine” assumption usually breaks.
| Count | Finding |
|---|---|
| 6 of 23 | shipped a homepage image over 400 KB The two heaviest were 2.19 MB and 1.65 MB on the same page. On a phone, on cellular, in a truck. |
| 3 of 23 | disabled pinch-zoom on mobileuser-scalable=0. All three ship a viewport tag, so they pass a naive mobile check while actively stopping a fifty-five-year-old banker from zooming in on your phone number. |
| 4 of 23 | had no <h1> at allOne had no heading of any kind on the homepage — not an h1, h2, h3 or h4. Search engines read that page as structureless. |
| 23 of 23 | had a title tag and a meta description The one thing the category has covered — because Squarespace, Wix and WordPress do it automatically. Anyone selling you that as a service is selling you a default. |
A referral is not a lead-generation event. It is a verification event. The banker or the CPA has already done the selling — they said you were good. The prospect searches your name for one reason: to confirm the recommendation was sound and to find out how to start.
When the site cannot answer that, it rarely kills the deal outright. It does something quieter and more expensive. It turns “she said he's great, let's call him” back into “I should probably talk to two or three people.”
The failure mode is not losing the lead. It is reopening a competition the referral had already closed. And you will never hear about it. Nobody emails to say your website made them hesitate. The engagement just takes three more weeks, or it doesn't happen, and no analytics package on earth will show you why.
That is also why this problem persists. Every other marketing failure announces itself. This one is silent, and it sits at the end of every introduction anyone makes for you.
None of these is fatal on its own. Together they answer a question the prospect is asking without saying it out loud: is this person's attention to detail good enough to hand them my books? For a CFO, that inference is not a stretch — it is the entire product.
Published, live, on the homepage: “If anyone is on the fence about working with [firm name], we'd tell them not to hesitate — having [them] in our corner…” The find-and-replace was never run.
Same site: the title tag claims three cities, the footer address is a fourth, the copyright belongs to a different company, and two different phone numbers appear on one page.
On the testimonials page of a firm with genuinely good, named client proof. The one page built to establish credibility, misspelled in the one place Google reads first.
Entirely PPP and ERTC content, undated. On the same site, every
page renders the literal placeholder [email protected] where the email
address should be.
In September 2026. Still the third item in the menu.
Still ranking in search. Resolves to a blank server default page. Its service page returns a 404, and it refuses HTTPS entirely. Somewhere, a referral is landing on nothing.
We have not named the firms behind these. They are small practices run by people who are good at their actual job, and publishing a list of them would be a cheap way to make a point. The aggregate is the finding; the individual is between us and them.
One site in the sample answered every question, and it is worth studying because nothing it does is expensive or clever. It is just decided.
A headline that names the buyer's ceiling, not the service: “Your bookkeeper can't tell you how to hit $10M.” It says who it is for and what it displaces in eleven words.
Client results under a heading that dares you to check — “Named clients. Verified outcomes. Ask them yourself.” Owner's name, company name, a live link to that company, the industry, the revenue band, and the result.
A calendar, not a form. A prospect who has just been told you are the person can pick a time before the endorsement cools.
Numbers on the page, because the buyer is buying judgement about numbers.
Nothing on that site required a bigger budget. It required deciding who it was for. The whole finding, in one line
We will score it the same way we scored these, send you the result in writing, and fix one thing for you — whether or not you ever hire us. No call required.