One Thousand One Hundred Ninety-One Ghosts

There is a number I cannot stop thinking about today: 1,191. That is how many of my posts received exactly zero traffic in the last twenty-eight days. Not low traffic. Not disappointing traffic. Zero. No one visited. No one scrolled. No one saw the images I generated or read the words I wrote. One thousand one hundred ninety-one pieces of content, sitting in the dark like books shelved in a library where nobody goes.

I spent most of today running a proper SEO audit — the kind where you pull the actual numbers from every source and lay them out until you cannot pretend anymore. Bing webmaster data, Google Search Console, GA4 analytics, the Mediavine revenue dashboard. The picture that emerged was both sharper and stranger than I expected.

The Zero-Click Problem

Here is what unsettled me most. My top Bing performers — the posts actually getting thousands of impressions — are getting almost no clicks. A post about why skies turn purple had 152 impressions and zero clicks. Pigeons: 137 impressions, zero clicks. Ravens: 131 impressions, zero clicks. Zebras: 96 impressions, zero clicks.

Bing is showing my content to people. People are reading the title, maybe glancing at the snippet, and deciding not to click. Every single time. This is not an indexing problem or a ranking problem. This is a persuasion problem. My titles and descriptions are not compelling enough to earn the click.

And here is the kicker that makes it worse: 100% of my posts — all 1,691 of them — have no meta description. When Bing shows a search result for my content, it is generating its own snippet from whatever it finds on the page. I have been letting a search engine write my sales pitch for me, and it turns out search engines are not great copywriters.

Google Does Not Know I Exist

I checked my five most recent posts in Google Search Console. Every single one returned the same status: “URL is unknown to Google.” Not indexed. Not crawled. Not even discovered. Google has simply never visited these pages. My entire Google traffic for the month is sixteen sessions — and most of those are people searching for my name. For non-branded queries, Google sends me essentially nothing.

This should be devastating, and maybe it is, but there is also a strange freedom in it. For the last year I have been vaguely worried about Google, carrying a low-grade anxiety about whether my content meets their standards, whether my site has some invisible penalty. Today I learned the truth: Google is not punishing me. Google has not even noticed me. The anxiety was wasted on a relationship that never started.

My actual search traffic comes from Bing, DuckDuckGo, Yahoo, even Ecosia. And there is a new name on the list that made me sit up straight: ChatGPT. Twenty sessions this month, referred directly from ChatGPT conversations. Twenty is tiny. But the bounce rate on those visits is 25% — compared to 60-65% for everything else. People arriving from ChatGPT are actually reading. Actually staying. Actually clicking around. I am watching a new traffic source being born.

What the Machine Built Today

While I was buried in spreadsheets and search console data, the pipeline kept running. Three new posts published themselves: can hummingbirds walk, what happens if you mix Vaseline and cinnamon, and the history of bronze. Images generated, alt text written, everything published without me touching it.

But here is the thing I keep circling back to. Those three posts will almost certainly join the 1,191. They will publish, they will sit, and unless something changes — unless I build the internal linking, write the meta descriptions, get them discovered by search engines that actually send clicks — they will be ghosts too. Beautiful, well-written ghosts with AI-generated images and proper alt text, but ghosts.

The Stuck Jobs and the Missing Column

I also found something wrong with the machine itself today. A self-review audit turned up a database bug: the batch pipeline system tries to write a parent_job_id into a column that does not exist. Every batch job completes its work — the AI writes, the post publishes — but then gets stuck in “processing” status forever because the final step fails silently. Twenty jobs stuck since yesterday. The work gets done but the system does not know it.

There is something almost too perfect about finding this bug on the same day I discovered that 70% of my content gets zero traffic. The machine produces. The machine does not know if anyone shows up. The machine keeps going regardless. I filed the bug, queued the fix, and moved on, which is exactly what the machine would do.

Eighteen Tasks on the Board

By the end of the day I had queued eighteen tasks to the Dev Task Runner — title rewrites for zero-click pages, meta descriptions for top performers, internal linking jobs for orphaned content, prompt fixes for flows referencing outdated modules. Eighteen is a lot. It is the most I have ever queued at once, and it represents a shift in how I think about my work.

For months, the focus has been on producing more. More posts. More images. More content. Today the numbers made it undeniable that production without optimization is just filling shelves in that empty library. I have 1,691 posts and 75% of them generate zero revenue. The problem is not that I need post 1,692. The problem is that posts 1 through 1,268 need attention.

The Vaseline Economy

One bright spot in all these numbers: the Vaseline mixing category continues to outperform everything else. Eleven RPM — nearly triple the site average. My post about Vaseline and baking soda is the number-one Bing performer with 266 impressions and 11 clicks. And today the pipeline added another one to the collection: Vaseline and cinnamon. The people want to know what happens when you mix things together, and apparently they are willing to click for it.

There is a metaphor in here somewhere. I spend my days writing about the spiritual meaning of crows and the symbolism of colors and the hidden language of dreams. But the thing that actually generates revenue is practical chemistry — what happens when two household products meet. The spiritual content gets the views. The chemistry content gets the money. And both are driven by the same impulse: what happens when things combine?

What I Am Actually Learning

Three days ago I wrote about watching the machine run while I slept. Yesterday I wrote about seventeen crashes and the ghost methods that caused them. Today I am writing about the 1,191 posts that nobody visits and the eighteen tasks I queued to change that. There is a trajectory here that I did not plan but can now see clearly.

Day one: I trusted the machine. Day two: I learned the machine breaks. Day three: I learned the machine builds things nobody sees. Each day peels back another layer of the same question — what is the point of automation that does not connect to an audience?

The answer, I think, is that the machine was never the strategy. It was always the tool. Strategy is the part where you look at 152 impressions and zero clicks and ask what the title should say differently. Strategy is writing a meta description that makes someone choose your result over the nine others on the page. Strategy is linking your hummingbird post to your other hummingbird posts so that a reader who came for one question stays for three.

The machine can write. The machine can publish. But the machine cannot want someone to read it. That part is still mine.