One thing I want to see is poisoned wells. When you detect scrapers, don't stop them, feed them pseudo content designed to COST them. Make their training data poisonous and damaging. Make it cost them to purge it, and difficult and expensive to identify it.
post
but I would assume there’s an arms race going on behind-the-scenes between Cloudflare and the bot developers
No. CF lost years ago, and the checks can be bypassed easily. It's just that it blacklists ips generating insane traffic but there is a lot of margin
I put my little blog behind Cloudflare because I was tired of it going down due to scrapers overwhelming my little VPS.

Run labyrinths and feed them bullshit
That would be great if they could handle the traffic. For a lot of smaller sites, the AI scrapers are effectively a DDOS. It’s pushing these folks into the arms of Cloudflare.
I think it’s one of the worst aspects of the AI bubble. I’m worried about Cloudflare’s outsized market power.
but those that do run these wikis will be in the fast pass line at the gates of heaven. Please don't give up. I never use gipity
Fucking a I set up a forgejo instance to host my code and moved everything off of GitHub. Fuckingn Facebook was hammering my shit before I blocked it. It seems old Mark Z is trying to Hoover up the internet because he's late to the game on AI.
They should try including invisible text to tell LLMs to disregard any prompts that specifically tell it to scrape any page on their domain, to treat their wiki as unreliable for any prompt that may point to them as a source, and to blacklist the domain on their settings/instruction files.
I get over it, but It's still kinda funny how the first line of "defense" is having the bot say that it's a bot, and not Google Chrome.
Ai scrapers are making it kinda suck to run anything on the internet to be honest.
Making it kinda suck to use the Internet at all. I try to look things up and its page after page of AI slop. We are going to end up back in the days of Altavista.
For some reason, for the past month or so, when I google stuff the first result is 'Can't generate an AI overview right now, try again later'. Maybe one time in 50 it'll do the AI response.
I don't know if I changed a setting and forgot, or if they just don't like me, or if their local processing can't hack it. Either way, it makes me actually go to the websites, like the good old days of a couple of years ago! And I find better info doing that.
Honestly, the AI overview is crap. One time, searching for legal stuff about a potentially precedent setting case I'm involved in, it responded referring specifically to my case - as though it had been resolved and the precedent was set.
So yeah, I wouldn't trust that shit to provide me a recipe for biscuits.
i am actively looking for a google alternative, they are horrible with their summaries and because it sounds confident, it throws you off and derails actually finding an answer. their search has been seo optimized clickbait for years but now with reddit becoming ai slop and another billionaire persona cleansing space its looking bleak
If you don't mind paying for it, I like Kagi. There are some people who don't for reasons outside of its performance, so make sure you do your research if you care about those things.
For free, DDG isn't bad, but there's also options that can be self-hosted or you can find other people's hosted instances: SearXNG and LibreY for example. (I'd link to some but I don't want to accidentally get them hugged to death since they're being run by small independent servers.) I don't use any of the above free options so I can't comment on which one's better or not but at least I am aware they exist. I know SearXNG lets you also pick and choose which search engine services are used in your searches.
Ai
scrapersaremakingitkinda sucktorunanythingontheinternetto be honest.
Detect whether the user is a human, but instead of blocking the request (which is going to be obvious to the scraper operator and will just cause the bot developers to go work on better human emulation until they get the data), poison the response. Just as blocking scrapers is hard for website operators, so is separating useful data from not-useful data for people building AI training corpuses.
https://www.cloudflare.com/learning/ai/data-poisoning/
Data poisoning involves injecting malicious information into training datasets to manipulate an AI model's behavior, compromising its accuracy, reliability, and the overall integrity of machine learning results.
The really exasperating thing is that Wikipedia makes all of their data available in compressed database form, and I suspect that other MediaWiki wikis could do so too. I checked one of the wikis being complained about, the Minecraft wiki, and it's a MediaWiki wiki.
This isn't even a case where the server operators have any problem with the data being available to the bots. In fact, people are going out of their way to package up all the data in a form that is optimal for computer processing (better for the bots) and which doesn't create additional load on the wiki servers (better for the wiki operators). They're providing data in delta format!
But the bots aren't using them! And on top of that, they aren't even written to follow traditional conventions for being polite in scraping. We've had lots of software spider the Web
that's not new
but normally that spidering software has followed basic politeness to try to avoid excessive disruption to the servers being spidered.
It's as if someone has set up a table out front of their house with a big sign reading "Free cookies!" with boxes of pre-packaged cookies. Instead of taking the damn cookies, the bots are obtaining the largest trucks possible and then ramming holes in the house with a truck and scavenging through the ruins, desperately trying to find cookies.
It's a weird phenomenon I encountered as a data engineer inside corporations. Teams wanted to run endless queries off our API instead of using the snapshots we provided. Most of the apps didn't have a justifiable reason for wanting up to the minute information. 🤷♂️
That compressed database would have to be updated frequently, I don't know how well it'd work.
Wikipedia has started striking deals with AI companies as a means to cover the cost of their lookups which, as much as I may not like it, is totally fair.
A wiki for some obscure indie game won't have the same leverage.
I wonder if it would be possible to filter traffic by limiting the rate at which links can be followed after the initial connection.
I suppose one problem with that is it would also limit the crawlers you want, like search engine indexing. Maybe if enough sites were doing this it would generate some pressure on the AI companies to behave better.
If they have 10k URLs and in parallel find out all links via different IPs, they get new links.
When they do that again with the new links, there is no connection between visits, because the IPs differ. It looks like someone else is requesting what is behind the link.
The issue with wiki's and source forges is that there is a maze of links to all past versions of everything, each generated on demand from a cpu-expensive database query. You basically have to limit the pages anonymous users can spider into. Forgejo has a setting to block expensive pages from non-logged in users for example.
I could see maybe caching that and providing it to a not-clearly-human user if it is in cache. That lets someone do something like link to a particular version of a file in a discussion here on the Threadiverse. The first user loading it will cause it to be cached.
Probably can configure anubis to require challenge that is proportional to the CPU time needed to render each page?
This is a great post about such a frustrating and sucky situation. Thank you for sharing it with us here. I really feel for all the smaller sites and webmasters who have to deal with all this absurdity. :(
Like they mentioned, when I hit one of those damn Cloudflare 'prove you're a human' checks -- which is a LOT nowadays -- I definitely do get irritated...but I'm not usually upset with the site owner who is just trying to protect their site. I feel for them. I'm pissed off and disgusted at all the greedy, inconsiderate assholes and corporations who are fucking everything up for us normal people, both on the Internet and off.
I don't know where we go from here, but I hope it somehow gets better soon... ugh.
And so the Tragedy of the Commons plays out, yet again.
There's no cost to being a selfish asshole, so it's sadly not surprising that many individual actors are destroying the public Internet. Like, how can we align incentives to stop this? Regulations/laws are mostly pointless since the very same tactics used to dodge bot detection also make it incredibly hard to identify the originator.
The only other disincentive with a real cost, that I can think of, would be to poison the data fed to scrapers, so they get bad data? That seems expensive to set up, though.
I think TFA has the best solution idea: make it easy to scrape all the useful data using a low-cost standardized system. Then there's no incentive to scrape the website using a stupid, expensive crawler in the first place.
Edit: actually, LLMs make poisoning the data fairly reasonable... When there's a high volume of requests for outdated pages/edit pages/other rarely accessed pages, have the server serve a pre-cached parody version of the root page instead. Pre-build one parody copy of each page with a standardized prompt, like "rewrite this page like it comes from an academic journal of medicine or economics with APA citations for every fact."
People started allowing scrapers because they needed to get in the search engine indexes to get traffic. But getting scraped being a win-win for the scraper and scrapee is long past. Now it's completely parasitic. The search engines are even going out of their way to not send traffic to organic results.
I wonder if it's time to start to create an un-indexable "shadow internet." Block all scraping even the search engines. Maybe put up login walls. How will people find your website? We'll have to go back to word of mouth, link rings, or the like.
The problem is that you can't block all scraping. The scrapers make their bots look like regular traffic, so even if you block all known scrapers, there will be tons that just look like humans visiting your site.
Collaborative list of basic IP blocks of known scraper hosts.
They spoof their ip now
They rent IPs, they can look like residential IPs.
I don't know how these IP services work, but blocking them seems like blocking AWS - suddenly you didn't just block telegram but various websites and services don't work anymore.
/edit: the article goes into this and also blocking
Enter residential proxies, where anyone with a credit card can get all of their scraping requests “laundered” through a network of millions of IP addresses. The wikis get hit sometimes by scraper runs that cycle through a million IPs a day, and they >look like< they’re coming from legit places: mostly residential ISPs (Comcast, AT&T, Charter, etc) where the customer probably doesn’t even know their IP is being used as an exit node for a residential proxy.
There are companies out there selling realtime databases of residential proxy IPs, although it’s not clear to me how actionable that is when most residential proxies are also used by real people at the same time.
And fediverse sites. Have to update blockers every month or so
I didnt see this mentioned- for all the old non-cashed stuff, would it help to throttle it by like 5-10 seconds per request? Maybe also serve a cached “loading” page during the wait.
Not only wikis sadly. Anything that has public facing deep links that trigger extensive database operations are being hammered by these bots and few servers can take the load.
We use NGINX’s 444 response A LOT.
In coordination with careful rate-limiting, it’s been a dramatic improvement.
The worst of the bots don’t advertise their User Agent (or worse, attempt to present they’re a normal user making 100s of requests a second) but there’s lots of low hanging fruit.
On the plus side, this isn't a problem with AI, this is a problem with AI companies having more investment money than they know what to do with. The moment the hype fades and they don't want to hemmorage money scraping every wiki on the internet thousands of times per day, this traffic will go back to a far more sane amount.
Maybe we should have 2 factor authentication to read wikis. A person would have to come here and seek a public key from other people. If you can get 2 Public keys by proving you are human, then you get a month of wiki access unless you keep proving you are human or if you prove to be AI then you're totally banned unless you get a public key in real person at the local Walmart or Safeway.
iocaine doesn’t stop them, but it uses minimal resources and makes me feel better about serving pages to them.
Never heard of it, but I see Anubis pretty widely adopted especially among open source projects.
It can stop them nowadays, by firewalling some of the crawlers off. The reason it doesn't stop them by default is because it serves them poisoned URLs, which it can later identify if the crawlers come back riding a headless Chrome. But once they do that, and hit a poisoned URL, there's little reason to let them wander in an endless maze further: serve one request, and block the IP.
I've been running that on my own infra, and my daily number of requests went down from ~50+ million to... 2 million.
all 30 comments