Facebook's Fascination with My Robots.txt

(blog.nytsoi.net)

62 points | by Ndymium 3 hours ago

12 comments

  • Nextgrid 1 hour ago
    > Perhaps someone at their end screwed up a loop conditional, but you'd think some monitoring dashboard somewhere would have a warning pop up because of this.

    If you've been in any big company you'll know things perpetually run in a degraded, somewhat broken mode. They've even made up the term "error budget" because they can't be bothered to fix the broken shit so now there's an acceptable level of brokenness.

    • nazgulsenpai 10 minutes ago
      In my 3rd year of enterprise now and learned that there are many engineers who will purposefully not fix/improve their problematic applications as a weird sort of job security. It kind of blew up in their faces last year when we moved most of the affected on-premise applications to cloud. Seems like when you introduce tons of friction on-premise it makes the cloud look even better to the suits.
    • goodmythical 43 minutes ago
      >they can't be bothered to fix the broken shit

      Surely it's more likely that it's just cheaper to pay for the errors than to pay to fix the errors.

      Why fix 10k worth of errors if it'll cost me 100k to fix it?

      • DanielHB 33 minutes ago
        The orgs are not ruthless like that, anything less than a certain % of the org revenue is not worth bothering unless it creates _more_ work to the person responsible for it than fixing it does.

        Add some % if person who gets more work from the problem is not the same as the person who needs to fix it. People will happily leave things in a broken state if no one calls them out on it.

    • nine_zeros 1 hour ago
      [dead]
  • xg15 1 hour ago
    Facebook just decided that instead of loading the robots.txt for every host they intend to crawl, they'll just ignore all the other robots.txt files and then access this one a million times to restore the average.
    • Vinnl 22 minutes ago
      Ah yes, robots_georg.txt.
  • Ndymium 3 hours ago
    For some reason, Facebook has been requesting my Forgejo instance's robots.txt in a loop for the past few days, currently at a speed of 7700 requests per hour. The resource usage is negligible, but I'm wondering why it's happening in the first place and how many other robot files they're also requesting repeatedly. Perhaps someone at Meta broke a loop condition.
    • antonyh 1 hour ago
      As facebookexternalhit is listed in the robots.txt, it does look like it's optimistically rechecking in the hope it's no longer disallowed. That rate of request is obscene though, and falls firmly into the category of Bad Bot.
      • mghackerlady 55 minutes ago
        That is probably the dumbest yet most genius solution to getting your scraper blocked I've ever seen
  • tananaev 1 hour ago
    Maybe they’re trying to DDoS it, and once an error is returned, they assume that no robots.txt file exists and then crawl everything else on the site?
    • Ndymium 1 hour ago
      While 7700 per hour sounds big, pretty much any dinky server can handle it. So I don't think it's a matter of DDoS. At this point it's just... odd behaviour.
      • mghackerlady 52 minutes ago
        especially for a txt file. I don't know anything really about webdev but I'm pretty sure serving up 7700 plaintext files with roughly 10 lines each an hour isn't that demanding
  • VladVladikoff 13 minutes ago
    My bet is this is a threading bug rather than just a broken loop. Somehow the threads are failing to communicate with each other, or some sort of race condition, so it keeps putting in the same task to the queue but missing the result. Something like that.
  • dormento 1 hour ago
    Has anyone done research on the topic of trying to block these bots by claiming to host illegal material or talking about certain topics? I mean having a few entries in your robots like "/kill-president", "/illegal-music-downloads", "/casino-lucky-tiger-777" etc.
    • pousada 1 hour ago
      Yea I can’t see how that could backfire in any way
    • DetroitThrow 19 minutes ago
      FB crawler is used for national security reasons at times. The first would probably make it more active.
  • 13pixels 14 minutes ago
    Facebook is honestly the least interesting crawler misbehaving right now. The real shift is GPTBot, ClaudeBot, PerplexityBot and a dozen other AI crawlers that don't even identify themselves half the time.

    I've been monitoring server logs across ~150 sites and the pattern is striking: AI crawler traffic increased roughly 8x in the last 12 months, but most site owners have no idea because it doesn't show up in analytics. The bots read everything, respect robots.txt maybe 60% of the time, and the content they index directly shapes what ChatGPT or Perplexity recommends to users.

    The irony is that robots.txt was designed for a world where crawling meant indexing for search results. Now crawling means training data and real-time retrieval for AI answers. Completely different power dynamic and most robots.txt files haven't adapted.

  • petee 39 minutes ago
    Do crawlers follow/cache 301 permanent redirects? I wonder if you could point the firehouse back at facebook, but it would mean they wouldn't get your robots.txt anymore (though I'd just blackhole that whole subnet anyway)
  • evv 1 hour ago
    Have you considered serving a zip bomb to this user agent?
    • delecti 1 hour ago
      I'm sure their crawler can handle a zip bomb. Plus it might interpret that as "this site doesn't have a robots.txt" and start scraping that OP is trying to prevent with their current robots.txt.
      • 1e1a 1 hour ago
        Could allow only the path to the zip bomb for this user agent.
        • FartyMcFarter 1 hour ago
          That will work once at most and then quickly get fixed.
          • xp84 2 minutes ago
            Yeah it seems like this team takes a really tough stance on obvious bugs
          • esseph 52 minutes ago
            Are you so sure? :)
  • matja 2 hours ago
    Did you try adding a Cache-Control response header?
    • mrweasel 1 hour ago
      Even if they haven't added any cache control headers, what kind a of lazy Meta engineer designed their crawler with to just pull the same URL multiple times a second?

      Is this where all that hardware for AI projects is going? To data centers that just uncritically hits the same URL over and over without checking if the content of a site or page has chanced since the last visit then and calculate a proper retry interval. Search engine crawlers 25 - 30 years ago could do this.

      Hit the URL once per day, if it chances daily, try twice a day. If it hasn't chanced in a week, maybe only retry twice per week.

      • bot403 1 hour ago
        It's not the "same" crawler. Probably each thread or each cluster machine instance of the crawler hitting it independently.
        • OliverGuy 1 hour ago
          That's still the same crawler system though. And it's lazy engineering to not build in something to track when you last requested a url.

          And it's quite a trivial feature at that.

        • mrweasel 1 hour ago
          I sincerely doubt that search engines run their crawlers on a single machine and they got it figured out.
    • Ndymium 1 hour ago
      Forgejo does set "cache-control: private, max-age=21600", which is considerably more than one second, but I grant it uses the "private" keyword for no reason here.
  • mghackerlady 50 minutes ago
    >my extreme LibreOffice Calc skillz

    How does one learn these skills, I can see them being useful in the future

  • lloydatkinson 34 minutes ago
    I recently started maintaining a MediaWiki instance for a niche hobbyist community and we'd been struggling with poor server performance. I didn't set the server up, so came into it assuming that the tiny amount of RAM the previous maintainer had given it was the problem.

    Turns out all of the major AI slop companies had been hounding our wiki constantly for months, and this had resulted in Apache spawning hundreds of instances, bringing the whole machine to a halt.

    Millions upon millions of requests, hundreds of GB's of bandwidth. Thankfully we're using Cloudflare so could block all of them except real search engine crawlers and now we don't have any problems at all. I also made sure to constrain Apache's limits a bit too.

    From what I've read, forums, wikis, git repos are the primary targets of harassment by these companies for some reason. The worst part is these bots could just download a git repo or a wiki dump and do whatever it wants with it, but instead they are designed to push maximum load onto their victims.

    Our wiki, in total, is a few gigabytes. They crawled it thousands of times over.