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
- Scale is itself a signal. Multiplying thin variants of a page is legible as spam at a structural level, regardless of intent, and no technical hygiene compensates for it.
- Suppression is silent. The absence of a penalty is not the absence of judgment. If six months of submitted URLs produce zero indexed pages, the verdict is already in — nobody is going to send it to you in writing.
- Fix the structure or nothing. Canonicals, 404s and crawl budgets are real, but they are multipliers on a structure. A multiplier on zero is zero.
- Analytics lie by omission. Bot traffic looks like growth. Search-console impressions are the number that cannot flatter you.
- Every index fails differently. Google indexed this site while Bing sat at zero, for a mechanical reason no dashboard surfaced. Verify each index directly — an API key costs nothing.
- Publish your numbers. Specific figures with dates are the only version of this story worth anyone's time, which is why they are all here.
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.