Controlling Web Crawlers For a Site

When a site notices a spike in their pageviews it’s important to check how web crawlers fit into the mix.

How to see if your site is hit by crawlers

Head to the Consolidated Pageviews report (/admin/reports/consolidated_page_views) on your admin dashboard. Here you will see a breakdown of pageview numbers from Logged in users, Anonymous Users, and Crawlers.

A site where crawlers work normally:

A site where crawlers are out of control:

Which crawlers are hitting your site

Navigate to the Web Crawler User Agent report (/admin/reports/web_crawlers) to find a list of web crawler names ordered by highest pageview count.

When a problematic web crawler hits the site, the number of its pageviews will be much higher than the other web crawlers. Note that there may be a number of malicious web crawlers at work at the same time.

How do you know which crawlers to block and which to limit

It is a good habit not to block the crawlers of the main search engines, such as Google, Bing, Baidu (Chinese), Yandex (Russian), Naver (Korean), DuckDuckGo, Yahoo and others, based on your country.

When a web crawler is out of control just do a search on the internet to figure out if it is malicious or not. There is a good chance that the same crawler has hit other sites and someone else has already asked for information or created reports about it that will be useful to understand whether to limit or block that particular crawler.

Note that some crawlers may contribute a large number of pageviews if you use third-party services to monitor or add functionality to your site via scripts, etc.

To obtain a record of untrustworthy web crawlers, you may refer to this list,

Which settings do you need to change

You’ll want to make sure you have identified the proper crawler user agent name. If you adjust any of the settings below and do note see a reduction in pageviews of that agent, you may want to double check that your are using the proper name.

Under Admin > Settings there are some settings that can help rate limit specific crawlers:

  • slow down crawler user agents
  • slow down crawler rate

and block crawlers:

  • blocked crawler user agents

When in doubt about how to act, always start with the “slow down” option rather than a full block. Check over time if there are improvements. You can proceed with a full block if you do not notice appreciable results.


Should there be somekind disclaimer that this works only with good behaving ones? And even Google will bypass all of those when it comes via links from gmail.

Both are enforced on the server.

However, if a bad bot pretends to be Chrome or someone else by spoofing headers then we can not use headers to detect it…


Killer fact: Preview cards show count as a page view !

The server I admin appears to have been swamped with preview card requests of the form http.rb/5.1.0 (Mastodon/4.0.2; + [](

I don’t think any action can be taken apart from telling mastodon posters to include an image so the preview card is not added automatically.

1 Like

I already have over 1500 hits per day by crawlers. :tired_face: Can I block them all by using Cloudflare DNS? Or what option is needed to force block them all? (Privat instance)

I simply don’t want them.

Using i.e. nginx as a reverse proxy and stopping there unwanted user agents. That helps a lot. Blocking countries you don’t need helps quite much too.

I can’t block US, France and Germany (big VPS-countries) but for me Russia, Vietnam, Iran, Iraq etc. helped quite much.

But Discourse is quite… is resilient right word. The situation is very much different than with WordPress where those useless SEO-bots, knockers, script kiddies and malicious actors can easily put a server on its knees.


I’m hosting at Hetzner Germany, with just two open ports in my firewall (80/443). And Discourse runs behind the NGINX proxy manager (sure, there are better solutions, but I’m a lazy person to code and like web frontends).

Now I’m going the whitelist route, with a random string as the only allowed entry … from now on, no more page views :smiley: