0 of 59,507

A postmortem, written by the person who did it. Published August 24, 2026.

Before this site, I ran a locksmith directory. Over six months, Google was asked to index 59,507 URLs from it. It indexed zero. Not few — zero. This page is what that looks like from the inside, why it happened, and the two indexing failures I have hit since — because the second one is new information, and it is the reason this page exists.

What I built

The directory had roughly 35 pages of real content: guides about lockouts, rekeying, pricing, scams. The other ~26,000 pages were those 35 multiplied across US cities. "Locksmith in Springfield." "Locksmith in Riverside." Same page, different city token.

The logic feels reasonable while you are doing it. People search locally; every city needs a locksmith; a page per city serves each searcher a local answer. That is also, almost word for word, what Google's spam policy describes as doorway abuse — many pages that exist to capture query variants and funnel people to the same underlying thing. I did not think of it as spam. Nobody building it does. That is rather the point.

What suppression actually looks like

Here is what I expected: a penalty. A manual action in Search Console, a warning, an email, something to appeal. Here is what I got: nothing. No manual action. No message. Every tool reported normal operation. The sitemap was read. The pages were crawled. They simply never entered the index — 0 of 59,507 submitted URLs, roughly 90 real impressions in six months, average position 60.

I did what a technical person does: I fixed technical things. Real 404s instead of soft ones. Deduplicated canonicals. Unblocked crawlers. Threshold-based indexation so only cities with real supply got pages. None of it moved the number, because none of it was the problem. The structure itself was the judgment. When a site is suppressed structurally, there is no error to fix, no flag to clear, and no one to appeal to, because formally nothing has happened to you.

Meanwhile my analytics said the site was growing. Thousands of "users" — 7,100 from one city in China alone. Bots. If you only look at analytics, you can watch yourself succeed for months while no human being has ever found you through a search engine. Analytics without search-console data is a comfort, not a measurement.

The rebuild

This site is the structural opposite of that one, on purpose. One page per genuinely distinct situation — water through the ceiling, mice in the walls — never per city, never per keyword variant. There are 46 pages instead of 26,000, every cost figure carries a dated link to a source that can actually be opened, and the corrections log is public, including the embarrassing entries. Google indexed 55 URLs from this site in its first two weeks — more in fourteen days than the old site achieved in its life.

The ghost still followed me once. For the first eight days, this site's terms, privacy and editorial pages were still the old site's — inherited verbatim, canonical tags pointing at the dead domain. Nobody had opened them, because nobody links to legal pages. If you rebuild on inherited code: audit the pages no one visits first, because that is where the previous identity survives.

Chapter two: Bing indexed zero, for a different reason

Two weeks in, Google had indexed 55 pages. Then I pulled the Bing Webmaster API numbers and found the other half of the story: Bing had indexed 0 of 65. Thirteen days, sitemap on file and marked Success, and not one page in the index.

The crawl stats explained it, though you have to know where to look. Bingbot fetched one or two URLs a day, and every single fetch landed in a bucket called AllOtherCodes — not 2xx, not 301, not 4xx. What HTTP code is none of those? 308. This site runs on Vercel, and every Vercel redirect — www to apex, http to https, missing trailing slash — is a 308 Permanent Redirect. Bingbot spent thirteen days fetching redirect shells, logging a code its own reporting cannot name, and never once landed on a canonical URL. Googlebot followed the same redirects without complaint.

The fix was not to wait: Bing's URL Submission API accepts batches (100 URLs a day), and submitting all 65 canonical URLs put them directly into the crawl queue, bypassing redirect discovery entirely. If your site sits behind 308s — Vercel, or any modern host that prefers them — and Bing will not index you while Google will: check whether your crawl stats are piling up in AllOtherCodes, and push your canonical URLs through the submission API instead of waiting for bingbot to find its way.

Why care about Bing at all? Because the assistants people increasingly ask instead of searching — ChatGPT, Copilot — read Bing's index. Zero pages in Bing means zero presence in that channel, no matter what Google thinks of you.

What I would tell you

What this site is now, and how it verifies what it publishes: About · How we verify · For AI agents. Something wrong on this page? Corrections.