5
21 Comments

I thought I had 332 backlinks. I have one. Also a claim on my own site was wrong for four weeks.

Same disclosure as always: I test tools firsthand on my own site (solostacklab.net) before writing about them. I'm an affiliate for some of the tools I mention, not all. For this post: Ahrefs has no affiliate program, and Semrush declined my application.

Three things from this week.

  1. I thought I had 332 backlinks. I have one.
    I signed up for Ahrefs Free (free if you verify you own the site), because Google Search Console's Links report has never shown me anything. Ahrefs showed 332 referring domains. Then I actually read the list. Only one is a real site: indiehackers.com, 5 links, none of them dofollow. Nearly all the rest are auto-generated "SEO services" style pages that inserted my domain, and Ahrefs flags them as spam itself. It added 213 new domains in the last 30 days. Google's own help says most sites don't need to disavow, so I'm doing nothing. Weird feeling to be excited about a number for a few minutes and then find out it was mostly junk.

  2. A bug only showed up when I looked from the server's side.
    I've crawled the site with Screaming Frog and Semrush, and I have my own check script. All three said fine. Then I opened Cloudflare's AI Crawl Control page to see which bots were visiting, and started poking at the URLs they were requesting. Every URL that doesn't exist on my site was returning a 200 with the homepage, not a 404. That's a soft 404. My guess is the crawlers missed it because they only follow links that exist, so they never asked for a page that isn't there. I added a real 404 page.

  3. One of my own published claims was wrong for four weeks.
    In my Semrush review I wrote that the www version of my domain redirects to the main one. I never re-tested it after writing that. It was serving a full duplicate copy of the whole site with a 200. Found it this week, added a proper 301, and put a dated correction on the page instead of quietly editing it.

Question for anyone who's been through this: how did you get your first genuine, non-spam backlink on a new domain? I keep reading "make something people want to cite," which doesn't tell me what you actually did.

on September 21, 2026
  1. 1

    I track every single customer conversation and the pattern is clear: businesses don't churn because of missing features. They churn because of poor onboarding. If they don't get value in the first 48 hours, they're gone.

  2. 1

    Screaming Frog and Semrush staying green makes sense: they never asked for a path that isn't on the site, so they never saw the 200. Cloudflare's bot list is a different dataset. Those are URLs nobody on the team planned to request. That's how the soft 404 showed up.

    The www copy had the same hole. A checker that only follows the sitemap, or links that already exist, keeps reporting that everything is fine.

  3. 2

    The four-weeks-wrong claim is the one that got me. I had the same thing, worse: I changed a number on my product (a free report went from 30 questions to 12) and then found 68 hand-written copies of "30 buyer questions" across my own marketing pages. Every one of them had been true when it was written.

    What fixed it wasn't discipline, it was moving the number. There's now one module that owns every figure the site promises a reader — question counts, engine names, price per plan — and the pages import from it. Nothing is typed twice. Then a test asserts the pages and the product agree, so if I change the product and forget the copy, the build goes red instead of the site going stale.

    I did the same thing for the class of bug you found from the server's side. I publish a robots.txt validator as a free tool, so I pointed it at my own site in a test: it takes every URL the sitemap claims and asks the validator whether robots.txt actually allows it. A Disallow: /s blocking /sample-report doesn't throw, doesn't show up in a crawl of pages that exist, and surfaces in Search Console three months later. Same shape as your soft 404 — the crawler never asks for the thing that's broken.

    On the backlink question I don't have a useful answer, and I'd be suspicious of anyone who hands you a tidy one. I have zero genuine ones on a domain that's a few weeks old. The only bet I've made is building free tools that are better than the common version rather than the same as it, on the theory that the reason to cite something is that it does something the others don't. No evidence yet that it works.

  4. 1

    Did the same thing, put a placeholder reference and forgot to update. So silly!

  5. 1

    The Ahrefs 332 -> 1 experience is basically universal. Free-tier discovery is largely noise: PBN scrapes, directory aggregators, expired-domain listings that auto-inject you. The signal-to-noise gets a bit better on Search Console's Links report over 60-90 days because Google filters most of that garbage before it ever shows up there.

    On your actual question — first non-spam link on a new domain, from what has worked for me and people I trade notes with:

    1. Original data or a repro. Your "332 -> 1" post is exactly the kind of thing that earns links. Take one tool, one claim, actually test it, publish the raw numbers. People writing round-ups need a source to cite; you become it. Hisashi Space's traffic post that's on the front page right now is another example — he'll get links from that piece for years.

    2. A free tool no-signup. Doesn't have to be complex. A calculator, a converter, a checker. Even a well-formatted comparison table that people bookmark. The link magnet has to solve one small painful thing in under 5 seconds.

    3. Guest posts on niche blogs, not "SaaS growth" mega-sites. Small niche blogs run by one operator will happily take a genuinely useful 1500-word piece with a link back. Ignore the DR score, look at whether they've published in the last 3 months.

    On the soft 404: nice catch. Cloudflare's crawl view is genuinely one of the underused free diagnostics. Almost every WordPress site I audit has that same issue — non-existent slug returns 200 + homepage because the redirect rule is too greedy. Worth checking robots.txt for accidental Disallow lines while you're in there.

  6. 1

    The backlink number is noise, the wrong claim is the real story. One bad legal threshold in a guide costs more than 332 spam domains ever cost you in rankings, because a reader who catches it quietly stops trusting the other forty things you published. The rule that has held up for me: any sentence carrying a number, a price, or a regulatory limit gets the primary source URL stored beside it, and those are the only lines worth re-checking on a schedule.

  7. 1

    Good prompt to audit my own site. I ran your soft-404 and www checks on mine after reading: a made-up URL returns a real 404, www 301s to the apex, canonicals are set. What I didn't catch on my own was a content claim: one of my guides gave the EU micro-enterprise limit as turnover only, when the directive says turnover or balance sheet, no more than €2M. I only found it by re-reading the primary text against the article the next day.

    Curious how you decide which published claims are worth re-testing: do you keep a list, or re-check on a schedule?

  8. 1

    Your soft 404 has a second life in analytics: a 200 that serves the homepage logs as a real pageview on a URL you never published. The only place I ever see those URLs is bot request logs, since nothing links to them. That's why we keep assistant and bot hits out of visitor counts in amami.dev.

    1. 2

      Hadn't thought about the analytics side at all. I use Clarity, which as far as I know only records when its script runs in a browser, so plain bot hits shouldn't show up. I haven't checked whether crawlers that execute JS leaked in, though. Worth a look.

  9. 1

    The number I would watch is not 332, it is 213 added in thirty days. That is not a one off scrape, it means the domain is in an active list that regenerates, so the count keeps climbing and every backlink figure you see from here is mostly noise. Which makes right now the moment to write down the one real link, while it is still countable by hand. Agree on doing nothing about disavow, though the reason is worth stating: those pages are already ignored rather than harmless, so disavowing mostly costs you an afternoon.

    1. 1

      Fair point on watching the 213 instead of the 332, I'll track that number rather than the total. And "ignored rather than harmless" is a better way to put the disavow reason than mine. Thanks.

  10. 1

    The 332 → 1 realization is probably one of the more useful SEO lessons here. It’s so easy to look at a dashboard number and assume it represents something meaningful without checking what’s actually behind it.

    For a new site, I’m starting to think the first real backlink is less about “doing SEO” and more about creating a reason for another person to reference the site specifically. A useful tool, original dataset, detailed experiment, or genuinely useful comparison seems much more likely to earn a real link than another generic piece of content.

    I also really like that you left the incorrect claim visible with a dated correction instead of quietly changing it. That kind of transparency probably matters more for long-term trust than having a perfectly clean-looking archive.

    1. 1

      Thanks Dana 🙂 Agreed on giving someone a specific reason to reference the site. That's the part I'm still working on. The dated correction felt awkward to write, but it seemed worse to leave the wrong claim sitting there.

  11. 1

    The 332 thing only means something because you opened the list. I usually stop at the count and then I repeat it like it's real. Same with the www redirect claim that was wrong for four weeks. You wrote it, felt done, never hit the URL again. I do that with my own notes way more than I want to admit. Dated correction instead of quietly rewriting it is the part I wouldn't have done.

    1. 1

      Yeah, that one stung. I wrote it down as done and never re-tested it, so the claim just sat there for a month.

  12. 1

    Two things in your post are more connected than they look.

    On the "332 → 1" discovery: this is the single most useful lesson about link metrics. Referring-domain counts in every tool are polluted by exactly this auto-generated junk, and dofollow-vs-nofollow matters far less than whether the linking page has real traffic and editorial intent. Your indiehackers.com links are worth more than the other 327 combined — nofollow has been a hint, not a directive, since 2019, and those links still drive crawl discovery. The metric worth watching in Ahrefs isn't the count, it's how many new referring domains have their own organic traffic.

    On the soft-404 catch: that's the bigger deal of the two, and your diagnosis is right. Client-side crawlers only request URLs they can find, so a "200 for everything" misconfiguration is invisible to Screaming Frog-style checks. This matters doubly right now: AI answer-engine crawlers (Perplexity, ChatGPT browsing, AI Overviews' fetchers) decide what to ingest based on clean status codes and well-formed responses. A site full of soft 404s can get quietly deprioritized in AI indexes with zero signal in Search Console. I'd extend your server-side habit into a permanent check: curl your site with a bot user-agent, request a nonexistent path, and diff the status codes against what a browser gets. Discrepancies between what you serve browsers vs. crawlers are where the expensive bugs hide.

    On your actual question: "make something people want to cite" is vague advice, but there's a concrete version. Find threads — here, Reddit, niche forums — where someone says "does anyone have a source for that?" and nobody answers well. Publish the definitive, quotable answer, then go reply with it where the question was asked. Those comments are backlink requests wearing a costume: citing you becomes the cheapest way for the other person to sound credible. That's where first real links come from for most people — not outreach, not directories, just answering a question nobody had answered properly.

    1. 1

      I did run a version of the bot user-agent check. A spoofed UA from my own machine isn't a real crawler though, so Cloudflare's IP-verified bot logs turned out to be the more useful signal. Do you have a source for AI crawlers deprioritizing sites with soft 404s? I haven't seen one.

  13. 1

    First real backlinks I got came from answering a specific question somewhere people already search, with a link only when it actually solved the problem. Directory dumps mostly look like those fake referring domains. One useful page beats volume.

    1. 1

      That's the pattern I keep reading about, but I can't picture the "where". Was it Reddit, a forum, Stack Overflow, something niche? I've been answering questions on IH and Reddit for a few weeks without a link and none of it has turned into a backlink yet, so I'm curious what kind of question it was.

  14. 1

    The “332 backlinks → actually one” discovery is painful 😅

    I think the hardest part with SEO numbers is that the metric can look like progress until you inspect where it actually came from.

    For genuine backlinks, I’ve found that being useful in the right communities seems more realistic than chasing backlink numbers directly.

    Curious — are you mainly trying to build backlinks for SEO, or are you also looking for referral traffic from the sites linking to you?

    1. 1

      Mostly SEO. As of last week's Search Console, most of my pages sit around positions 3-8 for their queries but get almost no impressions, so I'm treating it as a trust problem more than a traffic problem. Referral traffic would be a bonus, but I'd take a real link first.