HN Debrief

A year of fighting scrapers on my 1.5 million-page website

  • AI
  • Infrastructure
  • Open Web
  • Developer Tools
  • Business Models

The post is a year-long field report from the owner of PatronView, a 1.5 million-page site that tracks charitable foundations and grants. The claim is simple: bot traffic, especially from AI crawlers and low-quality scrapers, now dominates the site, pushes hosting bills far above normal, poisons analytics, and turns basic site operation into an anti-abuse exercise. The author walks through the progression from odd traffic spikes to sustained crawling, then through the mitigations that helped, mostly Cloudflare rules, geoblocking, and route-specific defenses. A key datapoint that stuck with people was the mismatch between scraping and actual value sent back. One commenter running a financial data site saw Claude fetch about 205,000 pages in 72 hours and send one referral. That fit the post’s core complaint that AI companies are extracting value while pushing bandwidth, compute, and operational costs onto everyone else.

If you run a site, assume bot pressure is now a product and infrastructure problem, not a logging curiosity. Favor cheap static delivery, tight caching, bounded expensive routes, and selective friction, because broad bot blocking will cost you users and broad openness will cost you money.

Discussion mood

Frustrated and resigned. Most commenters accepted that scraper traffic is now a real operational and financial burden, but they were equally unhappy with the current defenses because Cloudflare, CAPTCHA gates, and JavaScript challenges break legitimate access and centralize control of the web.

Key insights

  1. 01

    Cloudflare fixes abuse by breaking access

    For many operators Cloudflare is the default answer, but several people described the same pattern. Old browsers, JavaScript-disabled setups, VPN users, and even ordinary home connections get trapped in human verification loops while the bots often keep working. That makes Cloudflare less like a clean shield and more like a tax on legitimate edge-case users. The technical win is real, but so is the damage to reach and trust when access failures are silent and hard to appeal.

    Treat Cloudflare-style gating as a business decision, not a free security upgrade. Measure who gets blocked and keep an escape hatch for customers, older devices, and no-JavaScript access if those users matter to you.

      Attribution:
    • m463 #1
    • qingcharles #1
    • autoexec #1
    • binaryturtle #1
    • arcrevenant #1
    • dspillett #1
  2. 02

    Bad economics start with bad architecture

    A lot of the pain is self-inflicted by dynamic pages on usage-priced infrastructure. Commenters kept coming back to the same failure modes: database-backed page generation, inefficient queries, unbounded calendars and archives, and expensive routes exposed to anonymous crawlers. Static delivery, precomputed pages, and heavy caching change the economics fast. The difference is not subtle. Several people said a cheap VPS or residential box survives bot traffic just fine when it mostly serves files rather than compute.

    Audit every route that can trigger database work, search, history expansion, or infinite navigation. If a page can be rendered ahead of time, cached to disk, or bounded by date and depth, do that before shopping for better bot filters.

      Attribution:
    • inigyou #1 #2
    • creshal #1
    • nickgray #1
    • marginalia_nu #1
    • allthetime #1
    • bigbuppo #1
    • thomashabets2 #1
  3. 03

    Anubis works because bots are lazy

    The proof-of-work pitch around Anubis drew a useful reality check. It is not strong browser verification and it is not hard to bypass for anyone willing to write a native solver. What gives it value is that most scraping is bulk, cheap, and sloppy. That makes even trivial friction effective at cutting off the bottom 95 percent of opportunistic crawlers. In practice, the win comes from attacker economics, not cryptographic strength.

    Use lightweight challenges when your real enemy is commodity scraping, not targeted abuse. Do not mistake a deterrent for a durable security boundary, and do not rely on it where blocking paying users would be costly.

      Attribution:
    • tarr11 #1
    • basilikum #1
    • randomblock1 #1
    • inigyou #1
    • harshreality #1 #2
    • leros #1
    • kro #1
  4. 04

    Some bot traffic is now customer intent

    A meaningful slice of automated access is no longer background indexing. People are using LLMs and scripts to comparison shop, track prices, summarize catalogs, and evaluate purchases across many pages. That is still bot traffic from the server’s perspective, but it can represent real buying intent. The hard part is that a merchant cannot easily tell a future customer apart from a competitor or a training crawler, so blanket blocking throws away some revenue along with the abuse.

    If your site sells products or aggregates options, test a machine-friendly path for pricing and catalog data before banning every scraper. A small paid API, feeds, or selective allowlisting may preserve high-intent automation without reopening the floodgates.

      Attribution:
    • hk__2 #1
    • matsemann #1
    • baby_souffle #1 #2
    • jbs789 #1
    • carlosjobim #1
    • pwillia7 #1
  5. 05

    The web lacks a payment rail for machine access

    Several comments circled the same missing piece. Site owners can tolerate machine access if they get compensated or if the traffic is tightly scoped, but today most AI crawling is extractive and free-riding. That is why Cloudflare's pay-per-crawl idea kept coming up even from people who dislike Cloudflare. The problem is not just bots existing. It is that there is no standard way to authenticate, meter, charge, and grant rights to machine users at web scale.

    Watch for standards and vendor products around paid crawling, signed agents, and machine-readable permissions. If your business depends on public content, plan for a future where raw HTML is not the only interface you expose.

      Attribution:
    • eigencoder #1
    • paul7986 #1
    • gmerc #1
    • paytonjjones #1
    • wandr #1
    • subscribed #1
  6. 06

    LLMs are replacing browsers for some users

    One strong undercurrent was that many people now treat an LLM as their front end to the web because it strips ads, inconsistent layouts, and SEO sludge. Others pushed back that this changes trust models completely. Search engines mostly ranked links, while LLMs synthesize claims and can misread or invent them. That means the access pattern is changing faster than the reliability model. People want agent-mediated browsing, but the underlying content and attribution system is not built for it.

    Expect more traffic to arrive as agent fetches rather than page views, but do not assume that means useful referrals. If you publish high-value information, think about how it should appear in agent workflows and how users can verify the source when the summary is wrong.

      Attribution:
    • johnorourke #1
    • wulfmann #1
    • mmh0000 #1
    • sdellis #1
    • lunar_mycroft #1 #2
  7. 07

    Referral collapse is the real business threat

    The traffic imbalance bothered people, but the lack of return bothered them more. The post’s claim that Claude crawled hundreds of thousands of pages for a handful of human visits lined up with another operator’s screenshot showing about 205,000 Claude fetches and one referral in three days. That is a very different bargain from classic search crawling, where indexing at least had a clear path back to audience growth. AI search looks more like syndication without attribution, revenue, or control.

    Separate 'machine discovery' from 'human acquisition' in your analytics and strategy. Do not assume allowing AI crawlers preserves the old SEO bargain, because the clicks may never come back.

      Attribution:
    • GodelNumbering #1
    • thomashabets2 #1
    • arcrevenant #1
    • subscribed #1

Against the grain

  1. 01

    Many bot crises are performance bugs first

    A minority took a harder line on the operator, arguing that sites collapsing under modest scraping are often architected poorly. The GitHub example was used to say that modern web stacks create expensive server work where older, simpler setups would have held up. That does not excuse abusive crawlers, but it does change the diagnosis. Some 'bot problem' stories are really cloud billing and application design stories wearing a scraper mask.

    Before blaming the internet, load-test your own stack with ugly but ordinary crawl patterns. You may find the first fix is deleting framework complexity, not adding another firewall rule.

      Attribution:
    • bob1029 #1
    • bediger4000 #1
    • throw93003838 #1
  2. 02

    Blocking agents violates the web’s original contract

    A persistent dissent argued that websites on the public web were always meant to be consumed by user agents, not just interactive browsers chosen by publishers. From that view, scripts, translation layers, assistive tools, home automation dashboards, and LLMs are all part of the same continuum of user-controlled software acting on a user’s behalf. Operators can still block them, but the complaint is that doing so turns publishing into conditional access and moves the web closer to apps and walled gardens.

    If your mission depends on openness, keep at least one low-friction path for standards-compliant non-browser access. RSS, simple HTML, or a narrow API can preserve user agency even if you harden the main site.

      Attribution:
    • jwr #1
    • Terretta #1
    • autoexec #1 #2
    • scotty79 #1
  3. 03

    Open websites do not need a monetization story

    Some commenters rejected the premise that every public site should optimize for monetization or control over presentation. In that older web ethos, if you want strict terms, charging, or access conditions, put the content behind a paywall. If you publish openly, people will read it with whatever tools they want, and that is part of the deal. The weak point in that argument is that AI training and summary products can still ingest paywalled material indirectly, so paywalls solve less than they used to.

    Be explicit about whether your site is a public good, a lead generator, or a paid product. Your bot policy will be incoherent until you decide which of those you are actually running.

      Attribution:
    • autoexec #1 #2
    • drnick1 #1
    • thesuitonym #1

In plain english

Anubis
An open source anti-bot tool that adds a browser challenge before allowing access to a website.
Cloudflare
A company that provides web infrastructure such as security filtering, content delivery, and anti-bot protections that sit in front of websites.
GPU
Graphics Processing Unit, a processor that can also be used for fast parallel computing tasks.
LLM
Large Language Model, an AI model trained on large text datasets to generate and analyze language.
RSS
Really Simple Syndication, a standard feed format that lets software automatically fetch updates from websites.
SEO
Search Engine Optimization, techniques used to make pages rank higher in search results.
VPS
Virtual Private Server, a rented virtual machine used to host websites or applications.

Reference links

Anti-bot tools and vendor features

Web crawl and indexing infrastructure

Related Hacker News discussions

Project and code references

Story and evidence links