Safe Official docs Social Bots

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

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?

🔶 AI Visibility Trade-off - Blocking Meta Ads Crawler will not hurt Google or Bing rankings, but it can remove your content from AI search answers and assistant citations powered by this crawler. Block only if you have a deliberate reason.
Generally safe to allow; provides legitimate crawling value.

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.

Block completely (robots.txt)
User-agent: Meta-ExternalAds Disallow: /
Allow all (robots.txt)
User-agent: Meta-ExternalAds Allow: /
Block private only (robots.txt)
User-agent: Meta-ExternalAds Disallow: /private/ Disallow: /api/ Disallow: /admin/ Allow: /
Nginx server block
# Nginx: Hard-block Meta Ads Crawler if ($http_user_agent ~* "Meta-ExternalAds") { return 403 "Bot blocked"; }
Apache .htaccess
# Apache: Hard-block Meta Ads Crawler SetEnvIfNoCase User-Agent "Meta-ExternalAds" bad_bot Order Allow,Deny Allow from all Deny from env=bad_bot
Meta robots tag
<meta name="robots" content="noindex, nofollow">
X-Robots-Tag header
X-Robots-Tag: noindex, nofollow

Is Meta Ads Crawler safe to allow?

Yes, Meta Ads Crawler is a safe and legitimate crawler operated by Meta. It follows the Robots Exclusion Protocol (RFC 9309) and can be controlled with standard robots.txt rules.
Verify by reverse-DNS lookup: legitimate Meta Ads Crawler requests resolve to Meta's domain.

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/
  1. Find the group. Meta Ads Crawler looks for a group naming Meta-ExternalAds. One exists, so it ignores User-agent: * completely.
  2. Apply only that group. It is refused /drafts/ and nothing else.
  3. 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, repeat Disallow: /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

Recommended setting for Meta Ads Crawler by type of site
If you are...Recommended setting
You publish content and want AI answers to cite itLow stakes either way. It does not decide whether AI answers cite you.
You license content and want to stop AI trainingBlocking it does not stop training, because Meta Ads Crawler is a utility crawler. Block the operator's training crawler instead.
You run an online shopAllow it unless your logs show it is costly.
Your server is under load from botsRate-limit before blocking. It is rated safe in our database.

Check Meta Ads Crawler on your own site

  1. Open /robots.txt on your domain and search for Meta-ExternalAds. If it is not named, it follows User-agent: *.
  2. List the Disallow lines in the group Meta Ads Crawler follows and test your key URLs against them; the longest match wins, and Allow wins a tie.
  3. 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.
  4. 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:

  1. 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.
  2. Relying on robots.txt alone when Meta Ads Crawler is rated caution or aggressive. Back the rule with a server-side block.
  3. 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?
The official user-agent string for Meta Ads Crawler is: 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?
Yes, Meta Ads Crawler is a safe and legitimate crawler operated by Meta. It follows the Robots Exclusion Protocol (RFC 9309) and can be controlled with standard robots.txt rules.
Will blocking Meta Ads Crawler hurt my SEO?
🔶 AI Visibility Trade-off - Blocking Meta Ads Crawler will not hurt Google or Bing rankings, but it can remove your content from AI search answers and assistant citations powered by this crawler. Block only if you have a deliberate reason.
How do I block Meta Ads Crawler in robots.txt?
Add the following lines to your /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?
Meta Ads Crawler is operated by Meta and is expected to fetch and parse /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?
Search your web server access logs for the string 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.).
WhatsApp us