Meta Ads Crawler
Operated by Meta
Quick Facts
- User-Agent:
- Meta-ExternalAds
- Category:
- Social Bots
- Operator:
- Meta
- Safety:
- Safe
- Blocking Impact:
- Low - No SEO ranking impact
- SEO Impact Score:
- 2/10
- Official docs:
- developers.facebook.com
Confirmed by the operator
Meta names Meta-ExternalAds on its own documentation page, linked above. The token, purpose and robots.txt behaviour on this profile come from that page, re-checked on October 19, 2026.
What is Meta Ads Crawler?
Meta Ads Crawler is a monitoring and validation agent operated by Meta. It checks pages, ad destinations, or policy compliance rather than collecting training data. It has no effect on search rankings.
Meta Ads Crawler is a monitoring and validation agent operated by Meta. It checks pages, ad destinations, or policy compliance rather than collecting training data. It has no effect on search rankings.
Meta Ads Crawler uses the user-agent token Meta-ExternalAds. You can control it via robots.txt, meta tags (noai), or the emerging llms.txt standard. Robots.txt is voluntary; for hard enforcement, combine it with server-level IP blocking.
What happens if you block Meta Ads Crawler?
How to block Meta Ads Crawler with robots.txt
<code>User-agent: Meta-ExternalAds</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately.
Is Meta Ads Crawler safe to allow?
What does Meta Ads Crawler do?
Understanding Meta Ads Crawler's purpose helps you decide whether to allow or block it.
- Validates pages, ads, or policy compliance
- Performs automated quality and safety checks
- Does not collect training data
- No impact on search rankings
- Generally safe to allow
Meta Ads Crawler in context
Meta Ads Crawler is a utility crawler operated by Meta. In plain terms, it checks pages for an SEO, uptime or analytics service. Our database files it under social preview bots and ranks it Tier 4, specialist crawlers that matter to particular sites or markets. 1 of the 9 social preview bots in our database share this tier.
Its safety rating is safe and its blocking impact is not documented. So the decision about Meta Ads Crawler rests on what you want from Meta, not on its behaviour. How we rate safety and impact.
How site owners treat Meta Ads Crawler
Our robots.txt study of the Tranco top 10,000 did not track Meta-ExternalAds as a named token, so we do not publish an adoption figure for it. If you run a large site, your own logs are the best evidence of how often it visits.
Does it follow robots.txt?
Meta Ads Crawler's operator says it follows robots.txt, so a correctly written Meta Ads Crawler group is enough to control it.
Meta crawlers and close alternatives
Meta Ads Crawler is one of 8 Meta crawlers in our database. A User-agent: Meta-ExternalAds group controls Meta Ads Crawler only; the other Meta tokens below need their own lines.
Meta-ExternalAds: this crawler (Tier 4)FacebookBot: Facebook Crawler, fetches a page to build a link preview when someone shares it (Tier 5)facebookexternalhit: Facebook Preview, fetches a page to build a link preview when someone shares it (Tier 5)Meta-ExternalAgent: Meta AI Training, collects pages to train AI models (Tier 1)Meta-ExternalFetcher: Meta AI Fetcher, fetches a page when a person asks an assistant or app to open it (Tier 2)meta-externaltest: Meta-ExternalTest, checks pages for an SEO, uptime or analytics service (Tier 4)meta-webindexer: Meta Web Indexer, builds a search or answer index (Tier 2)muse-: Meta Muse (personal agent), fetches a page when a person asks an assistant or app to open it (Tier 1)
To give Meta Ads Crawler the same answer as its siblings, stack User-agent: Meta-ExternalAds with their lines above one set of rules; to treat Meta Ads Crawler differently, give it its own group.
No other crawler in our social preview bots category has exactly the same purpose, which makes Meta Ads Crawler an unusual case: decide about it on its own merits.
We first recorded Meta-ExternalAds on September 22, 2026. Meta documents it on developers.facebook.com, and we recheck that page before each release.
Which rule Meta Ads Crawler actually follows
Meta Ads Crawler reads exactly one group in robots.txt, the most specific one that names Meta-ExternalAds, and never combines rules across groups. This short file shows the trap:
User-agent: *
Disallow: /private/
User-agent: Meta-ExternalAds
Disallow: /drafts/
- Find the group. Meta Ads Crawler looks for a group naming
Meta-ExternalAds. One exists, so it ignoresUser-agent: *completely. - Apply only that group. It is refused
/drafts/and nothing else. - The surprise.
/private/is open to Meta Ads Crawler, because that rule lives in the*group it no longer reads. To keep it out of both, repeatDisallow: /private/inside its own group.
Test yourself: does a rule under User-agent: * apply to Meta Ads Crawler if the file also has a User-agent: Meta-ExternalAds group?
No. Once a group names it, Meta Ads Crawler reads only that group. Put every rule you want it to follow inside its own group.
Test yourself: will blocking Meta Ads Crawler remove your pages from AI answers?
Often, yes. Meta Ads Crawler is a utility crawler, so pages it cannot fetch can drop out of the answers or results it supports.
Test yourself: is User-agent: meta-externalads the same as User-agent: Meta-ExternalAds?
Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.
Should you allow Meta Ads Crawler? Decide by situation
| If you are... | Recommended setting |
|---|---|
| You publish content and want AI answers to cite it | Low stakes either way. It does not decide whether AI answers cite you. |
| You license content and want to stop AI training | Blocking it does not stop training, because Meta Ads Crawler is a utility crawler. Block the operator's training crawler instead. |
| You run an online shop | Allow it unless your logs show it is costly. |
| Your server is under load from bots | Rate-limit before blocking. It is rated safe in our database. |
Check Meta Ads Crawler on your own site
- Open
/robots.txton your domain and search forMeta-ExternalAds. If it is not named, it followsUser-agent: *. - List the
Disallowlines in the group Meta Ads Crawler follows and test your key URLs against them; the longest match wins, andAllowwins a tie. - Look beyond the file. A firewall or bot manager can refuse Meta Ads Crawler even when robots.txt allows it, and that never shows in the file.
- Run our AI crawlability checker to see how Meta Ads Crawler and every other crawler we track are treated in one pass, including firewall refusals.
Common mistakes with Meta Ads Crawler
The errors we see most often with Meta Ads Crawler in the files and firewalls we test:
- Treating Meta Ads Crawler as an AI or search crawler. Blocking it has little effect on visibility; decide based on load and what it does with your data.
- Relying on robots.txt alone when Meta Ads Crawler is rated caution or aggressive. Back the rule with a server-side block.
- Blocking Meta Ads Crawler by IP alone. Ranges change; match the token and verify with logs.
All three hide inside a file that looks correct, so check Meta Ads Crawler from outside after every change.
Spotting Meta Ads Crawler in your logs
robots.txt says what Meta Ads Crawler may do; your access logs show what it actually did.
Count requests
On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):
grep -iE "Meta-ExternalAds" /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 "Meta-ExternalAds" /var/log/nginx/access.log \
| awk '{print $7}' | sort | uniq -c | sort -rn | head -20
Check the requests are genuine
Anyone can send the Meta Ads Crawler user-agent, so confirm the source before acting on a match:
Meta-ExternalAds: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable Meta Ads Crawler request with caution.
Frequently Asked Questions
What is the official user-agent string for Meta Ads Crawler?
Meta-ExternalAds. Use this exact string in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. Matching in robots.txt is case-insensitive. Verify a request genuinely comes from Meta Ads Crawler by performing a reverse-DNS lookup on the source IP.Is Meta Ads Crawler safe?
Will blocking Meta Ads Crawler hurt my SEO?
How do I block Meta Ads Crawler in robots.txt?
/robots.txt file:User-agent: Meta-ExternalAds Disallow: /
This instructs Meta Ads Crawler not to crawl any path on your site. To block only specific sections, replace / with the path (e.g.,
Disallow: /blog/).Does Meta Ads Crawler respect robots.txt?
/robots.txt before crawling, following RFC 9309. For hard enforcement, combine robots.txt with server-level IP or user-agent blocking.How do I verify if Meta Ads Crawler is crawling my site?
Meta-ExternalAds (case-insensitive: grep -i "Meta-ExternalAds" /var/log/nginx/access.log). Filter by user-agent in your log analytics tool (GoAccess, AWStats, etc.).