
Day ???/100. I've given up on the counter.
Hey—It's Tim.
Four months. I know. The collarbone saga ran a lot longer than anyone warned me, I've been back in the UK getting it sorted properly, and most of the rest of my time has gone into Canadian visa paperwork. I'm fine. Plate's still in. I can type again.
That's the update. Now the thing I actually want to tell you.
Dead internet theory isn't a theory anymore.
Imperva published their 2026 Bad Bot Report on April 29th, covering 2025.
Automated traffic is now more than 53% of all web traffic.
Humans are 47%, and falling.
Second year running that machines have outnumbered us.
Then Cloudflare, July 1st this year, in their Content Independence Day report:
52% of crawler requests are now for AI training as of June 2026, up from 22% in Spring 2025.
Read that one again. Twenty-two percent to fifty-two percent. Fifteen months.
We have seen this exact shape before.
StatCounter clocked mobile traffic passing desktop in October 2016.
Everyone who'd built a desktop site with a squashed-down mobile version spent the next two years rebuilding under pressure, badly, while their rankings slid.
The people who went mobile-first before the crossover just carried on. Same content. Right container. No panic.
The crossover has already happened again. Most of what hits your site isn't a person, and a fast-growing slice of it is a machine deciding whether you're worth citing.
If you're not building for that reader, you're the desktop-first site in 2017. You just haven't had the bill yet.
32 companies.
Over the last few months I've been through the content of 32 companies.
Penfriend users. Old clients from the agency days. Mates who asked me to take a look. People who just emailed me out of nowhere and said "can you tell me why this isn't working."
Their content ranged from fine to genuinely great. Nobody in that 32 had a content problem I'd call urgent. Someone had done the work. The strategy was sound, the writers were decent, the process was running.
Almost every single one of them had a bigger problem sitting underneath it.
Their site could not be read by the thing that's now most of their traffic.
Not "needs a refresh" bad. Properly fucked.
Pages where the argument only exists after JavaScript runs. Schema throwing errors for two years and nobody watching. Headings that describe nothing. Content welded into layouts that can't be chunked, so retrieval pulls half a sentence and moves on.
Good content. Wrong container. And the container is the bit that changed under them.
What that actually looks like.
When it was just Google's crawler, a mediocre site was survivable. Google is patient. It renders your JavaScript. It comes back. It's been indexing broken sites for twenty years and it's got very good at guessing what you meant.
The machines reading you now are not patient.
→ If your content isn't in clean, self-contained chunks, retrieval can't pull it. Doesn't matter how good the paragraph is.
→ If your key facts only exist after JavaScript runs, a large share of AI crawlers never see them.
→ If your entity data conflicts, your site says one thing and an old article says another, the model picks one. Usually the wrong one, and then repeats it to everyone who asks.
→ If your headings aren't declarative, there's nothing to extract. "Our Approach" gives a model nothing. "How we price fixed-scope projects" gives it everything.
The gap between "ranks fine" and "gets cited" is almost entirely mechanical. And barely anyone is auditing for it, because the tools we all pay for were built for a reader that isn't the majority anymore.
Three things you can check in five minutes.
Not a lead magnet. No signup. Go and do these.
1. Ask an AI who you are.
Open ChatGPT and Claude. Ask: "Who is [your company]? What do they sell, who runs it, what does it cost?"
Write down everything it gets wrong. That's your hallucination surface. You can't email OpenAI to fix it, you have to overwrite it in public. But you can't overwrite what you haven't measured.
2. Turn JavaScript off and reload your best page.
DevTools → Cmd/Ctrl+Shift+P → "Disable JavaScript" → reload.
Whatever disappears is invisible to a big chunk of AI crawlers. If your pricing, your proof, or your actual argument vanishes, that's the whole ballgame right there.
3. Read your H2s on their own.
Copy just the subheadings out of your best article. Read them as a list, no body text.
Does that list answer the question the article is about? If it reads like a brochure contents page ("Introduction", "Our Philosophy", "Getting Started") there's nothing extractable in it. Models pull from declarative headings. Vague ones get skipped entirely.
I'm here every day this week. There's something specific I want to walk you through and it won't fit in one email.
Tomorrow: what to do about whatever check number one just turned up. You can't email OpenAI and ask them to correct their answer about you. There's another way in.
Thursday: I'm giving away the 100 checks I use for this, and five recipes for reading them. Free, no signup, no gate.
See you tomorrow.

✌️ Tim "titanium and paperwork" Hanson
CMO @Penfriend.ai
Same brain, different platforms: X, Threads, LinkedIn.
P.S. Penfriend's still running and still works. Nothing's changed there, your access is exactly where you left it.

Penfriend.ai
Made by content marketers. Used by better ones.

