17 September 2026 · Jimmy Yu
My website scanner was wrong more than half the time
Every AI audit product ships you the scan. I checked mine against the actual websites, one at a time, and found out what the scan is worth.
I write software that looks at a small business's website and tries to answer one question: if somebody wanted to hire you right now, could they actually reach you?
It reads the pages anyone can read. It counts the fields you could type into. It compares what the site promises about availability against the opening hours printed on the same site. It notices when the only way to book goes off to somebody else's domain. It's not clever. It's a careful reader that never gets tired.
I ran it over 153 Australian businesses. It came back with a ranked list. Then, instead of believing it, I opened 24 of those websites myself and checked its work line by line.
Fourteen of the twenty-four didn't hold up.
What that number is and isn't
It is a statement about my list and my tool. It is not a statement about Australian small business, and it is not a published error rate for anything you can buy. I checked 24 sites by hand; on 14 of them the finding I'd have put in front of an owner turned out to be wrong, or too weak to say out loud.
I'm publishing it because the interesting part isn't the number. It's the shapes.
1. Friendliness that reads like a promise
A clinic invited people to get in touch any time. My tool read that as a claim to be available around the clock, compared it to the opening hours, and reported a contradiction.
There was no contradiction. The sentence meant "don't hesitate" — it was warmth, not a roster. A human reads that in a quarter of a second. A pattern-matcher reads the word and files a finding.
This is the most common way the tool was wrong, and the most dangerous, because the finding looks specific. It quotes the site back at you. It feels checked.
2. A menu item read as a commitment
Plenty of trades sites list "emergency" work among their services — it's the name of a page, sitting in a footer with twenty other page names. My tool found the word, found the Monday-to-Friday hours elsewhere on the site, and announced a gap between what the business promises and when it's open.
But nobody promised anything. A service being on the menu is not a statement about what time somebody answers the phone. Two separate businesses got flagged this way, and in both cases the finding would have been embarrassing to send.
3. The form the reader couldn't see
This is the one that nearly got past me.
A contact page came back as having no way at all to leave your details. I was about to write to the owner about it. On a whim I opened the page properly and counted the input boxes in the live page rather than in the text I'd extracted.
Nine fields. Name, phone, email, message, the lot. Working perfectly.
The extraction had grabbed the main article region of the page and stopped, and the form sat just outside it. The tool wasn't lying. It answered the question it was actually asked, which was a narrower question than the one I thought I'd asked.
A tool that reports what it looked at is not the same as a tool that reports what is there.
4. A founding year read as a dead business
"Serving Melbourne since 1998." A copyright line. An ABN registration date. My tool treated the oldest year it could find on the page as a sign that nothing had been updated in years, and marked businesses as drifting when they were simply old and proud of it.
Easy to fix once you see it. Impossible to see from inside the output, because the output just says a year.
5. The one that returns nothing, confidently
The worst failure wasn't a wrong answer. It was a tidy, well-formed, entirely empty one.
Several sites came back with no forms, no contact details, no opening hours, no promises — nothing at all. That reads like a damning result. It wasn't. The page simply hadn't finished loading when the tool looked at it. Modern sites assemble themselves in the browser; arrive a second early and you are reading a blank room and writing down that the house is empty.
There is no error message for this. The report comes back looking exactly like a report about a business with a very bare website. I only caught it because a result was implausible — a practice with no listed hours at all — and I went and looked.
Why I'm telling you this
There is a whole product category built on sending you the scan. Enter your domain, get a score out of a hundred, get a list of red crosses, get an invitation to book a call. I've built the engine that does that. It took me three rounds of fixes and a day of opening websites by hand to find out what its output is actually worth.
The scan is a good first pass. It reads 153 sites in the time I'd take to read six, and it is genuinely better than me at not getting bored. What it cannot do is tell the difference between a sentence that means something and a sentence that contains a word.
So the finding that reaches you should never be the one the machine produced. It should be the one a person opened, read, and either kept or threw away. In my case that meant throwing away more than half.
What this changes about how I work
Three rules came out of it, and they're now just how I do this:
- Nothing goes to an owner unless I've opened the site myself and can point at the thing. If I can't show you where it is, it isn't a finding.
- If the machine's finding doesn't survive that check, I drop the business rather than inventing a different reason to write to them. Changing the hook to keep the prospect is how you end up saying something untrue to somebody who can check.
- An implausibly clean result is treated as a failure, not a pass. Nothing is that tidy.
None of this is a clever technique. It's just the unglamorous half of the work, and it's the half that determines whether the other half is worth anything.
The same applies to mine
There's a free check on this site. It's automated, it looks at what anyone can see, and everything I've just written about my scanner applies to it too. Read it as a starting point for a conversation, not a verdict on your business — and if something on it looks wrong to you, it might simply be wrong.
If you'd rather see the other side of the same idea — a machine drafting work and a person deciding what actually goes out — the demo is the overdue-invoice chase. Five customers, five situations, and one draft you should delete.
See it work →Jimmy Yu runs MoreHours, which installs simple AI systems in owner-run Australian businesses. Every automation ends with a named person approving the output. The 4-Minute Check is free.