Before asking anyone else to trust our audit, we ran it on one of our own live apps. It is a content site with a few hundred public pages, built with an AI app builder. It looked finished. Nothing seemed broken. Nobody had complained.
The audit found 9 issues. About 30 hours and two messages to the builder later, a re-check found none. This post shows what we found, how it was fixed, and what we would tell any founder who builds the same way.
What the first audit found
The audit ran on 2 November 2026. These were the findings that mattered most:
| Finding | What it meant |
|---|---|
| The homepage sent 10 words in its raw HTML. After JavaScript ran, it had 709. | Tools that read the raw page without running JavaScript, which includes many AI crawlers and link-preview bots, saw an almost blank page. |
| Made-up addresses loaded a normal page (a "soft 404"). | Search engines could index junk addresses as if they were real pages. |
| No sitemap. | Search engines had to guess which pages existed. |
| Links shared on WhatsApp showed a blank card. | No title, description or image, so every share looked unfinished. |
| The same title on every page. | Search results and browser tabs couldn't tell the pages apart. |
None of these were visible in a normal browser. That is the whole problem: the site looked fine to us, so we had no reason to look.
Message 1: the basics
The audit's fix pack turned the findings into one message for the builder. It asked for:
- the homepage's main text, title and description in the HTML the server sends, before JavaScript runs;
- a real "not found" response (status 404) for addresses that don't exist;
- a sitemap listing every public page, and a robots.txt that points to it;
- a unique title, description and preview image for each page.
It also listed what the builder must not touch. Private pages had to stay private: not indexed, not in the sitemap, not pre-rendered. A fix that exposes private pages is worse than the original problem.
After this message, the homepage sent 714 words in its raw HTML instead of 10, and 23 checks passed.
Message 2: the remaining pages
The re-check sampled a dozen pages and found one issue left. Other public pages still arrived almost empty: one sent 8 words before JavaScript and 736 after. The sitemap listed hundreds of pages like it.
The second message asked the builder to generate the page HTML at build time for every public page, from the same data the app already uses, rather than by hand. All 523 public pages were pre-rendered.
The result
- Every check in the audit passed on the final re-check.
- Lighthouse (Google's quality test) scored 98 for performance and 100 for accessibility, best practices and SEO.
- All 523 public pages now send their text before JavaScript runs.
- Private pages stayed private.
What this does not prove: that the site will rank higher or be quoted by ChatGPT. Nobody can honestly promise that. What it does prove is that search engines and AI tools can now read the site. Before, many of them couldn't.
What we learned
- "Looks fine" is not a test. The browser runs JavaScript, so it hides the problem.
- One clear message beats ten vague ones. Both fixes worked first time because the message said exactly what to change, how to verify it, and what not to touch.
- Re-check after every fix. The first fix solved the homepage but not the other pages. Only the re-check showed that.
Is your site readable by search engines and AI tools?
Run the same checks on your site inside Claude, Cursor, VS Code or Gemini CLI. See the evidence, and get the exact fix for your builder.
Check my site free