What is PhantomJS?

PhantomJS is a bot in the headless browsers category.

Bot name
PhantomJS
Operator
Unknown
Type
Bot
Respects robots.txt
No
robots.txt user agent
PhantomJS
Signs requests (Web Bot Auth)
No

About PhantomJS

PhantomJS is a discontinued headless browser built on WebKit. It is no longer maintained, so almost all traffic with this user agent today comes from old scraping or automation scripts.

Headless browsers run a full browser engine without a screen. They are used for testing, rendering and scraping sites that need JavaScript. Most scrapers that evade simple checks run in a headless browser, so client side detection matters more than the user agent here.

PhantomJS user agent

Anyone can copy a user agent string. Transfon Security also checks where each request comes from, so a request that claims to be a known crawler but comes from the wrong network is treated as a fake, not as the real crawler.

How to block PhantomJS in robots.txt

PhantomJS does not read robots.txt. The rules below record your policy, but they will not stop it. To actually block PhantomJS, use a WAF rule as shown in the next section.

Block PhantomJS from the whole site

User-agent: PhantomJS
Disallow: /

Block PhantomJS from some folders

User-agent: PhantomJS
Disallow: /private/
Disallow: /search

Allow PhantomJS only on some folders

User-agent: PhantomJS
Allow: /blog/
Disallow: /

Allow PhantomJS and block other crawlers

User-agent: PhantomJS
Allow: /

User-agent: *
Disallow: /

Things to know

  • Each host needs its own file. Rules on www.example.com do not apply to shop.example.com.
  • A crawler obeys only the most specific group that names it. Once you add a User-agent: PhantomJS group, PhantomJS ignores your User-agent: * rules, so repeat any that should still apply.
  • The user agent name is not case sensitive. We take PhantomJS from PhantomJS's user agent; check the operator's own documentation if it publishes a different robots.txt name.
  • Crawlers cache robots.txt, so changes can take up to a day to apply. Disallow stops crawling but does not remove pages already collected or indexed.

Limits of robots.txt

  1. PhantomJS may not follow the rule. PhantomJS does not read robots.txt at all, so a rule for it has no effect.
  2. The user agent could be fake. robots.txt matches the name a request claims. Anyone can send PhantomJS's user agent, and a scraper using it is not bound by the operator's robots.txt policy. Only checking the source network tells a real PhantomJS from a fake one.

Treat robots.txt as a statement of your policy, and enforce it where requests arrive.

Who should care about PhantomJS

Publishers

PhantomJS is a common tool for scrapers. Real readers never use it, so block it on article pages and keep it out of ad requests.

Transfon Security for publishers

Media buyers and advertisers

Traffic from PhantomJS on landing pages is automated. It inflates clicks and visits, so filter it from campaign data and raise it with the ad network.

Transfon Security for advertisers

E-commerce

Price scrapers, stock checkers and card testing scripts often run on PhantomJS. Block it on product, cart and checkout pages.

Transfon Security for e-commerce

SaaS and APIs

PhantomJS is normal for API clients but not for your web app. Allow it only on API routes that need a key, and rate limit it there.

Transfon Security for SaaS and APIs

Block PhantomJS with Transfon Security

PhantomJS ignores robots.txt, so it has to be stopped when the request arrives. Transfon Security shows PhantomJS by name in the Top Bots report, so you can see how often it visits and which pages it reads. Block or allow it with a User Agent rule, or slow it down with a rate limit decision rule.

Transfon Security

Control PhantomJS on your site

  • See every PhantomJS visit and the pages it reads
  • Spot bots that fake trusted crawler names
  • Block, allow or rate limit PhantomJS with one rule
  • Works with or without robots.txt support

Frequently asked questions

What is PhantomJS?

PhantomJS is a bot in the headless browsers category. PhantomJS is a discontinued headless browser built on WebKit. It is no longer maintained, so almost all traffic with this user agent today comes from old scraping or automation scripts.

Does PhantomJS respect robots.txt?

No. PhantomJS does not follow robots.txt, so a Disallow rule will not stop it. Block it by user agent at your server, CDN or WAF instead.

How do I block PhantomJS?

Block requests whose user agent contains "PhantomJS" at your server, CDN or WAF, because PhantomJS does not read robots.txt. In Transfon Security that is one User Agent block rule.

Is robots.txt enough to block PhantomJS?

No. robots.txt is voluntary, so PhantomJS may not follow it, and anyone can send PhantomJS's user agent, so a fake PhantomJS ignores your rule. Enforce the rule where requests arrive, at your WAF, and check the source network.

Should I block PhantomJS?

Headless browsers run a full browser engine without a screen. They are used for testing, rendering and scraping sites that need JavaScript. Most scrapers that evade simple checks run in a headless browser, so client side detection matters more than the user agent here.

Related bots

All headless browsers · Full bot directory

See Which Bots Visit Your Site

Transfon Security identifies every bot in this directory in your traffic reports, flags fake search crawlers, and lets you allow, block or rate limit each bot.

Stay ahead of the publishing curve

Privacy, security, monetization, and performance insights. A few emails a month, no spam.

By subscribing you agree to our privacy policy.