Operated by Open Source
An open-source news crawler and extractor library.
An open-source news crawler and extractor library.
news-please is a data aggregation crawler. Unlike search bots or AI crawlers, its purpose is typically to collect content for private datasets, price monitoring, or research. Blocking news-please via robots.txt or at the server level has NO negative SEO impact. If you see excessive crawl volume from this bot in your logs, a hard block is recommended.
<code>User-agent: news-please</code> — Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately. For aggressive bots, supplement with server-level blocking for guaranteed enforcement.
Understanding news-please's purpose helps you decide whether to allow or block it.
news-please. This is the exact string you must use in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. User-agent matching in robots.txt is case-insensitive, but the string must be spelled correctly. You can verify that a request genuinely comes from news-please by performing a reverse-DNS lookup on the source IP — legitimate bots resolve back to their operator's domain./robots.txt file:
User-agent: news-please Disallow: /This instructs news-please not to crawl any path on your site. The Disallow: / directive covers the entire domain including subfolders. To only block specific sections, replace / with the path (e.g.,
Disallow: /blog/). Note: robots.txt is publicly readable — any bot or human can inspect it at yourdomain.com/robots.txt.news-please (case-insensitive grep: grep -i "news-please" /var/log/nginx/access.log). You can also check Google Search Console → Coverage → Crawl Stats for Googlebot variants. For news-please specifically, filter by user-agent in your log analysis tool (GoAccess, AWStats, etc.).Disallow: / you can restrict news-please to specific paths:
User-agent: news-please Disallow: /private/ Disallow: /staging/ Allow: /This allows news-please everywhere except the listed paths. Path matching in robots.txt uses prefix matching —
Disallow: /private/ blocks /private/page.html but NOT /public/private/.Crawl-delay: 30 below the User-agent directive in robots.txt.
2. Rate-limit the user-agent via Nginx's limit_req_zone or Apache's mod_ratelimit.
3. Block it outright at Cloudflare WAF with rule: http.user_agent contains "news-please".
4. Use fail2ban to auto-block IPs exceeding request thresholds.Check instantly with our free AI Bot Checker
Check Your Website