AI training, run by Meta.
What is FacebookBot? Meta's crawler that collects AI training data. It can't be verified beyond its name.
Run by Meta.
Purpose: AI training. A visit means your content is being collected, possibly for training.
robots.txt name: FacebookBot.
Name only: no published list to check a visit against.
At a glance, the facts in one table.
FacebookBot at a glance. Taken from SenseGap's open bot directory, the same data that sorts every visit in the dashboard.
All bots| FacebookBot | |
|---|---|
| Operator | Meta |
| Purpose | AI training |
| User agent contains | FacebookBot |
| robots.txt name | FacebookBot |
| Verification | Name only |
| Documentation | None listed |
Purpose, what it does and why it came.
What FacebookBot does. SenseGap sorts every visit by purpose. FacebookBot is in the AI training group.
FacebookBot is Meta's crawler that collects web content that may be used to train AI models.
What a visit means
A visit means your content is being collected, possibly for training. Nobody asked about you; training crawlers read the web in bulk and don't link back.
Training crawls say nothing about what people ask right now. SenseGap keeps them apart from visits made while answering a person, so a crawl spike never looks like demand.
Detection, the header SenseGap matches.
How SenseGap recognizes FacebookBot. By its User-Agent header. A separate check then decides whether the visit is real.
Every request carries a User-Agent header naming the software that sent it. SenseGap counts a request as FacebookBot when that header contains FacebookBot, in any letter case. The header is plain text, so any script can copy it. Matching the name is where recognition starts, not where trust starts.
/FacebookBot/iVerification, how to tell a real visit from a fake.
FacebookBot can't be fully verified. SenseGap knows of no published IP ranges or DNS names for it, so the name is all there is.
How we verify botsNot beyond the user agent. SenseGap knows of no published IP ranges or DNS names for FacebookBot, so anyone can send its name. SenseGap marks these visits Unverified rather than calling them real.
robots.txt, rules you can copy.
Block or allow FacebookBot in robots.txt. Its robots.txt name is FacebookBot. Paste a group into the robots.txt at your site's root.
User-agent: FacebookBot
Disallow: /User-agent: FacebookBot
Allow: /User-agent: FacebookBot
Disallow: /private/One rule catches people out. Under the robots.txt standard (RFC 9309), a crawler that finds a group naming it follows only that group and ignores your User-agent: * rules. If you add a FacebookBot group, repeat in it anything from the catch-all group you still want applied.
robots.txt is a request, not a lock. To enforce a block, match the User-Agent header at your server or CDN. In nginx:
# nginx, inside a server block
if ($http_user_agent ~* "FacebookBot") {
return 403;
}SenseGap reads your robots.txt and shows, bot by bot, what you allow and which bots fetched pages you disallowed. See what you get.
Trade-off, what blocking changes.
Should you block FacebookBot? It depends on what you want from Meta. Here is what each choice means.
If you allow it
Future models may learn from your content, so they know your products, prices and wording.
If you block it
New content stops reaching that company's training data. It doesn't remove what was already collected, and because training crawlers don't send visitors, it costs no clicks directly.
Meta, every bot it runs.
More bots from Meta. Meta runs 5 bots in the directory, each with its own job.
AI training, other bots with the same job.
Other AI training crawlers. Same purpose, different companies.
Browse the directoryFAQ, FacebookBot in short answers.
FacebookBot, answered plainly
What is FacebookBot?
FacebookBot is Meta's crawler that collects web content that may be used to train AI models.
Who runs FacebookBot?
Meta. SenseGap's directory has no documentation link for it yet.
What does a visit from FacebookBot mean?
A visit means your content is being collected, possibly for training. Nobody asked about you; training crawlers read the web in bulk and don't link back.
What user agent does FacebookBot use?
Its User-Agent header contains "FacebookBot". SenseGap matches it regardless of letter case.
How do I block FacebookBot?
Add "User-agent: FacebookBot" followed by "Disallow: /" to your robots.txt. robots.txt is a request, not a lock; to enforce it, block the user agent at your server or CDN.
Can I verify that a visit is really FacebookBot?
Not beyond the user agent. SenseGap knows of no published IP ranges or DNS names for FacebookBot, so anyone can send its name. SenseGap marks these visits Unverified rather than calling them real.
Does Meta publish IP ranges for FacebookBot?
No. SenseGap knows of no published list of addresses for FacebookBot.
What happens if I block FacebookBot?
New content stops reaching that company's training data. It doesn't remove what was already collected, and because training crawlers don't send visitors, it costs no clicks directly.
See it on a real storeBots, pages and people sent by AI on an example store. No sign-up.