Facebook Crawler
SafeUser-agent: FacebookBot
Category: Social Bots
SEO impact if blocked: 2/10
8 crawlers operated by Meta
https://www.facebook.com/Meta operates 8 crawlers in our directory, filed under Social Bots and Social Media Bots and AI & LLM Bots. Of those 8, 4 rated safe, 4 rated caution for crawl behaviour.
Blocking Meta carries an SEO impact score of 0/10 to 2/10 across its crawlers. 5 of them share the highest blocking impact here: Varies - Evaluate before blocking.
Our recommendation for Meta, set by its least reassuring crawler (Meta-ExternalAgent, rated caution): Generally safe to allow; provides legitimate crawling value.
| Operator | Meta |
|---|---|
| Crawlers in directory | 8 |
| Categories | Social Bots, Social Media Bots, AI & LLM Bots |
| SEO impact if blocked | 0/10 to 2/10 |
| Crawl behaviour | 4 rated safe, 4 rated caution |
| Website | www.facebook.com |
| Official crawler docs | Meta crawler documentation |
User-agent: FacebookBot
Category: Social Bots
SEO impact if blocked: 2/10
User-agent: facebookexternalhit
Category: Social Media Bots
SEO impact if blocked: 0/10
User-agent: Meta-ExternalAds
Category: Social Bots
SEO impact if blocked: 2/10
User-agent: muse-
Category: AI & LLM Bots
SEO impact if blocked: 2/10
User-agent: meta-webindexer
Category: AI & LLM Bots
SEO impact if blocked: 2/10
User-agent: meta-externalagent
Category: AI & LLM Bots
SEO impact if blocked: 0/10
User-agent: meta-externalfetcher
Category: AI & LLM Bots
SEO impact if blocked: 0/10
User-agent: meta-externaltest
Category: AI & LLM Bots
SEO impact if blocked: 2/10
Meta runs 8 crawlers in our database. Grouped by the job each one does:
FacebookBot, facebookexternalhit, Meta-ExternalAds, meta-externaltestmuse-, Meta-ExternalFetchermeta-webindexerMeta-ExternalAgentThe highest-priority token is Tier 1. That puts Meta among the operators whose crawlers have a direct effect on whether AI answers or search results can include your pages.
How often site owners write rules for Meta's tokens, from our own robots.txt study of the Tranco top 10,000:
| Token | Files naming it | Files blocking it |
|---|---|---|
FacebookBot | 395 (7.1%) | Not measured |
muse- | 0 (0%) | Not measured |
Meta-ExternalAgent | 598 (10.7%) | 706 (12.6%) |
meta-externaltest | 0 (0%) | Not measured |
A Meta token can be blocked without being named, through a User-agent: * group with Disallow: /, so its blocking share can be higher than its naming share.
All counts come from 5,583 valid files fetched October 20, 2026.
A robots.txt file cannot say "Meta"; it can only name Meta's tokens, one group at a time. So "block Meta" really means naming each of its 8 tokens, and you can give them different answers.
# Allow Meta search and assistants, refuse training
User-agent: Meta-ExternalAgent
Disallow: /
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: Meta-ExternalAds
User-agent: muse-
User-agent: meta-webindexer
User-agent: Meta-ExternalFetcher
User-agent: meta-externaltest
Allow: /
User-agent: *.* group, so copy any Disallow lines you still want it to obey.User-agent: Meta block all of Meta's crawlers?No. robots.txt matches crawler tokens, not company names. Name each token: FacebookBot, facebookexternalhit, Meta-ExternalAds, muse-, meta-webindexer, Meta-ExternalAgent, Meta-ExternalFetcher, meta-externaltest.
No. Each token is read separately. Blocking one leaves the rest following whatever group applies to them.
A one-paragraph brief for every Meta token in our database, covering what it does, how it treats robots.txt and how often large sites write rules for it:
FacebookBot, Tier 5): a utility crawler that fetches a page to build a link preview when someone shares it. Rated safe. Facebook Crawler's operator does not clearly document how it treats robots.txt. Write the Facebook Crawler rule anyway, then confirm in your logs that its requests stop. 7.1% of top-site robots.txt files name it.facebookexternalhit, Tier 5): a utility crawler that fetches a page to build a link preview when someone shares it. Rated safe. facebookexternalhit's operator says it follows robots.txt, so a correctly written facebookexternalhit group is enough to control it. Not tracked in our robots.txt study.Meta-ExternalAds, Tier 4): a utility crawler that checks pages for an SEO, uptime or analytics service. Rated safe. Meta Ads Crawler's operator says it follows robots.txt, so a correctly written Meta Ads Crawler group is enough to control it. Not tracked in our robots.txt study.muse-, Tier 1): a user-triggered agent that fetches a page when a person asks an assistant or app to open it. Rated caution. Meta Muse (muse-)'s operator does not clearly document how it treats robots.txt. Write the Meta Muse (muse-) rule anyway, then confirm in your logs that its requests stop. 0% of top-site robots.txt files name it.meta-webindexer, Tier 2): a retrieval crawler that feeds AI search answers that builds a search or answer index. Rated caution. Meta Web Indexer's operator says it follows robots.txt, so a correctly written Meta Web Indexer group is enough to control it. Not tracked in our robots.txt study.Meta-ExternalAgent, Tier 1): a training crawler that collects pages to train AI models. Rated caution. Meta-ExternalAgent's operator says it follows robots.txt, so a correctly written Meta-ExternalAgent group is enough to control it. 10.7% of top-site robots.txt files name it and 12.6% block it.Meta-ExternalFetcher, Tier 2): a user-triggered agent that fetches a page when a person asks an assistant or app to open it. Rated caution. Meta-ExternalFetcher's robots.txt behaviour is documented with exceptions or has been publicly questioned, so pair a Meta-ExternalFetcher rule in robots.txt with a server-side rule if blocking matters to you. Not tracked in our robots.txt study.meta-externaltest, Tier 4): a utility crawler that checks pages for an SEO, uptime or analytics service. Rated safe. Meta-ExternalTest's operator does not clearly document how it treats robots.txt. Write the Meta-ExternalTest rule anyway, then confirm in your logs that its requests stop. 0% of top-site robots.txt files name it.The errors we see most often with Meta's crawlers in the files and firewalls we test:
All three hide inside a file that looks correct, so check Meta's crawlers from outside after every change.
robots.txt says what Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest may do; your access logs show what they actually did.
On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):
grep -iE "FacebookBot|facebookexternalhit|Meta-ExternalAds|muse-|meta-webindexer|Meta-ExternalAgent|Meta-ExternalFetcher|meta-externaltest" /var/log/nginx/access.log \
| awk '{print $4}' | cut -d: -f1 | sort | uniq -c
And this shows which paths it requested most, which is the quickest way to see whether your Disallow lines are being respected:
grep -iE "FacebookBot|facebookexternalhit|Meta-ExternalAds|muse-|meta-webindexer|Meta-ExternalAgent|Meta-ExternalFetcher|meta-externaltest" /var/log/nginx/access.log \
| awk '{print $7}' | sort | uniq -c | sort -rn | head -20
Anyone can send these user-agents, so confirm the source before acting on a match:
FacebookBot: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Facebook Crawler request with caution. Check it separately from facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest.facebookexternalhit: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable facebookexternalhit request with caution. Check it separately from Facebook Crawler and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest.Meta-ExternalAds: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta Ads Crawler request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest.muse-: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta Muse (muse-) request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest.meta-webindexer: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta Web Indexer request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta-ExternalAgent and Meta-ExternalFetcher and Meta-ExternalTest.Meta-ExternalAgent: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta-ExternalAgent request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalFetcher and Meta-ExternalTest.Meta-ExternalFetcher: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta-ExternalFetcher request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalTest.meta-externaltest: we hold no published IP list, so use reverse DNS where Meta documents a hostname and treat an unverifiable Meta-ExternalTest request with caution. Check it separately from Facebook Crawler and facebookexternalhit and Meta Ads Crawler and Meta Muse (muse-) and Meta Web Indexer and Meta-ExternalAgent and Meta-ExternalFetcher.Related: how AI engines choose their sources
Everything below comes from the AI Crawler Check bot database and our two most recent robots.txt scans of the Tranco top 10,000, not from Meta's marketing. It covers 6 Meta tokens in turn.
FacebookBot in our recordsWe first recorded FacebookBot on March 17, 2026. We could not find a page where Meta names it, so treat the token as reported rather than documented. FacebookBot is outside our tracked token set, but 395 of 5,583 top-site files already name it, which is enough to show owners treat it as a real crawler.
Among the 9 social preview bots in our database, FacebookBot sits second by priority (Tier 5), level with facebookexternalhit, LinkedInBot, Pinterestbot, Quora-Bot. 9 of the 9 share its safe rating. Other operators with a crawler that fetches a page to build a link preview when someone shares it: MicrosoftPreview (Microsoft, Tier 3), GoogleMessages (Google, Tier 5), LinkedInBot (LinkedIn, Tier 5), Pinterestbot (Pinterest, Tier 5), Quora-Bot (Quora, Tier 5). A policy for FacebookBot is usually a policy for these too.
FacebookBotTeams that review crawlers once a quarter keep one short entry per token, so anyone can see why a rule exists and when it was last checked. Filled in from our data, the FacebookBot entry reads:
User-agent: FacebookBot
Allow: /
Paste the line into the validator with one of your own URLs before it goes live. Revisit the FacebookBot entry once a quarter, or when Meta publishes a new token next to it.
facebookexternalhit in our recordsWe first recorded facebookexternalhit on March 17, 2026. Meta documents it on developers.facebook.com, and we recheck that page before each release. No file in our top-10,000 scans names facebookexternalhit, so any rule you write for it puts you ahead of almost every large site.
Among the 9 social preview bots in our database, facebookexternalhit sits third by priority (Tier 5), level with FacebookBot, LinkedInBot, Pinterestbot, Quora-Bot. 9 of the 9 share its safe rating. Other operators with a crawler that fetches a page to build a link preview when someone shares it: MicrosoftPreview (Microsoft, Tier 3), GoogleMessages (Google, Tier 5), LinkedInBot (LinkedIn, Tier 5), Pinterestbot (Pinterest, Tier 5), Quora-Bot (Quora, Tier 5). A policy for facebookexternalhit is usually a policy for these too.
Meta-ExternalAds in our recordsWe first recorded Meta-ExternalAds on September 22, 2026. Meta documents it on developers.facebook.com, and we recheck that page before each release. No file in our top-10,000 scans names Meta-ExternalAds, so any rule you write for it puts you ahead of almost every large site.
Among the 9 social preview bots in our database, Meta-ExternalAds sits first by priority (Tier 4), alone in its tier. 9 of the 9 share its safe rating. Other operators with a crawler that checks pages for an SEO, uptime or analytics service: OAI-AdsBot (OpenAI, Tier 2), AdIdxBot (Microsoft, Tier 3), AdsBot-Google (Google, Tier 3), AdsBot-Google-Mobile (Google, Tier 3), Baiduspider-ads (Baidu, Tier 3). A policy for Meta-ExternalAds is usually a policy for these too.
muse- in our recordsWe first recorded muse- on October 11, 2026. We could not find a page where Meta names it, so treat the token as reported rather than documented. muse- is outside our tracked token set, but 0 of 5,583 top-site files already name it, which is enough to show owners treat it as a real crawler.
Among the 104 AI and LLM crawlers in our database, muse- sits 12th by priority (Tier 1), level with ChatGPT Agent, ChatGPT Operator, ChatGPT-User, ChatGPT-User/2.0. 22 of the 104 share its caution rating. Other operators with a crawler that fetches a page when a person asks an assistant or app to open it: ChatGPT Agent (OpenAI, Tier 1), ChatGPT Operator (OpenAI, Tier 1), ChatGPT-User (OpenAI, Tier 1), ChatGPT-User/2.0 (OpenAI, Tier 1), Claude-SearchBot (Anthropic, Tier 1). A policy for muse- is usually a policy for these too.
meta-webindexer in our recordsWe first recorded meta-webindexer on June 18, 2026. Meta documents it on developers.facebook.com, and we recheck that page before each release. No file in our top-10,000 scans names meta-webindexer, so any rule you write for it puts you ahead of almost every large site.
Among the 104 AI and LLM crawlers in our database, meta-webindexer sits 64th by priority (Tier 2), level with AddSearchBot, AI2Bot, AI2Bot-DeepResearchEval, aiHitBot. 22 of the 104 share its caution rating. Other operators with a crawler that builds a search or answer index: AddSearchBot (AddSearch, Tier 2), AIWebIndex (Lyrenth, Tier 2), atlassian-bot (Atlassian, Tier 2), AzureAI-SearchBot (Microsoft, Tier 2), Cloudflare-AI-Search (Cloudflare, Tier 2). A policy for meta-webindexer is usually a policy for these too.
Meta-ExternalAgent in our recordsWe first recorded Meta-ExternalAgent on March 17, 2026. Meta documents it on developers.facebook.com, and we recheck that page before each release. Between our scans of October 17, 2026 and October 20, 2026, files naming Meta-ExternalAgent went from 553 to 598 (+45) and files blocking it from 658 to 706 (+48), so more sites wrote a rule for Meta-ExternalAgent and more of those rules block it.
Among the 104 AI and LLM crawlers in our database, Meta-ExternalAgent sits 11th by priority (Tier 1), level with ChatGPT Agent, ChatGPT Operator, ChatGPT-User, ChatGPT-User/2.0. 22 of the 104 share its caution rating. Other operators with a crawler that collects pages to train AI models: ClaudeBot (Anthropic, Tier 1), Google-Extended (Google, Tier 1), GPTBot (OpenAI, Tier 1), AI2Bot (Allen Institute for AI, Tier 2), aiHitBot (aiHit, Tier 2). A policy for Meta-ExternalAgent is usually a policy for these too.
From our robots.txt study of the Tranco top 10,000 (5,583 valid files, fetched October 20, 2026):
Meta-ExternalAgent, the only one tracked among the Meta's crawlers tokens: blocked in 12.6% of files (486 with its own group, 220 through User-agent: *), more often by the top 1,000 (19.2%) than the long tail (11%).For scale, 20.1% of all files block at least one AI training crawler. Meta-ExternalAgent is one of the tokens driving that figure.
FacebookBot, add Disallow lines for the paths to keep private and Allow lines for exceptions. The longest matching rule wins.User-agent group per decision and repeat any shared rules inside it.These rules cover all 8 crawlers Meta operates. Add them to the robots.txt file at the root of your domain.
These Meta rules ask; they do not enforce. If a Meta token ignores them, block it at the server or CDN. Paths are case-sensitive, and each rule matches the token, not the full user-agent string.
Text size
Saved on this device only. Drag the round button to move it. Accessibility statement