Katy Walsh
|
Jul 24, 2026
|17 min read
Search Topic

Making up for more than 50% of all traffic, automated traffic is increasingly becoming a performance, reliability, security, and infrastructure challenge for site owners and operators.
Automated traffic can affect search pages, faceted listings, login forms, contact forms, API endpoints, and other high-traffic areas of your site. Left unmanaged, it can increase infrastructure load, distort analytics, create support noise, and make it harder to keep digital platforms fast and available for real (human) users.
Some automated traffic is useful, expected, and necessary. Search engine crawlers, uptime monitors, accessibility tools, RSS readers, link previews, and integrations all rely on automated access. The goal is to reduce traffic that creates cost or risk while allowing legitimate users, crawlers, and tools to continue working.
For enterprise Drupal sites, this means taking a layered approach across hosting, CDN, WAF, caching, observability, infrastructure controls, and Drupal application-level protection.
Modern bot traffic is harder to manage than it used to be. It used to be that you could block a few individual IP addresses, reject some obvious user agents, and rely on robots.txt. But now, many automated clients behave much more like real users.
Several changes are driving this:
This evolution represents the collapse of legacy perimeter defenses. Standard user-agent blacklists are trivially spoofed, static IP subnet bans risk blocking legitimate human users on shared residential networks, and basic robots.txt files are completely ignored by aggressive AI harvesters (such as Meta’s externalagent). The modern threat profile is defined by automated clients that execute JavaScript, solve standard challenges, and continuously query uncacheable, dynamic application routes.
Automated traffic is now part of normal operating conditions. The key question is whether your platform can absorb, control, observe, and prioritize that traffic while maintaining performance for real users.
Automated traffic creates different levels of impact depending on the route, cacheability, and request pattern.
A bot requesting a cached article page may have a limited effect. A bot crawling thousands of uncached search results, filter combinations, or form endpoints can create a disproportionate load.
This is where teams need to think beyond security and consider performance economics: which traffic is served by the CDN, which traffic reaches the origin, and which requests force Drupal to perform expensive work.
When a request can be served from a CDN, reverse proxy, or page cache, it costs relatively little. When a request bypasses the cache and reaches Drupal, PHP, and the database, it becomes much more expensive. If automated traffic repeatedly targets uncached routes, it can increase CPU usage, database load, memory pressure, and response times.
For user experience, hosting cost, and operational stability, this matters.
On an enterprise Drupal platform, the goal is to keep as much legitimate anonymous traffic as possible served from the CDN, reverse proxy, or page cache, while making expensive dynamic requests visible, measurable, and controllable.
Faceted search is useful for users and can generate a large number of URL combinations.
Every filter, category, sort option, and pagination state can generate a separate URL. For a human, that is helpful navigation. For a crawler, it can become an enormous crawl space.
If those pages are expensive to render or poorly cached, a bot crawling faceted listings can place a heavy load on the Search API, the database, and the application layer.
Login, registration, password reset, newsletter, and contact forms are common targets for bots.
Form abuse can trigger email, bloat your CRM, create database writes, fill moderation queues, and generate support work. It can also become a security concern if authentication endpoints are being tested at scale.
The right controls for forms differ from those for public content pages.
Automated traffic can inflate page views, distort referral data, and make campaign performance harder to interpret. For marketing, product, and content teams, this can lead to misleading conclusions about what real users are doing on your site.
At enterprise scale, bot traffic can contribute to incidents, slowdowns, and scaling pressure.
This is why bot protection should sit alongside performance, caching, observability, hosting architecture, and platform operations.
Effective bot protection starts with a clear distinction: automated traffic includes both useful and harmful activity.
Some bots are essential:
Overly aggressive blocking can create real problems:
A mature bot protection strategy focuses on intent, impact, and endpoint sensitivity.
A public-cached page, a login form, a faceted search results page, and an authenticated dashboard all need controls tailored to their risk and cost.
There is no single tool that solves bot traffic for every site.
The most effective strategies use multiple layers. The further away from Drupal you can block unwanted traffic, the cheaper that block usually is. The closer a request gets to the application, the more context you have, and the more expensive the decision becomes.
A practical layered model looks like this:
Used together, these layers help reduce unnecessary load while preserving flexibility and user experience.
This is also where your hosting partner matters. amazee.io helps enterprise Drupal teams design and operate this layered model across hosting infrastructure, managed CDN integration, advanced WAF configuration, caching behavior, observability, and incident response.
| Defense Tier | Core Technology | Primary Objective | Execution Cost Per Block | amazee.io Delivery Model |
|---|---|---|---|---|
| Layer 1: The Edge | Fastly Managed CDN / Advanced WAF | Drop high-volume script vectors, malicious bots, and DDoS noise globally. | Ultra-Low (Absorbed by Edge Network) | Fully managed Fastly integration with cluster IP lockdown. |
| Layer 2: Web Server | Kubernetes Ingress & Nginx Containers | Rate limiting (built into the Fastly NGWAF) | 🪙 Low (Handled prior to PHP execution) | Standard Nginx containers behind ingress routing; fully customizable via GitOps. |
| Layer 3: Caching | Fastly CDN, Dynamic Page Cache, Redis | Serve repeated requests instantly without hitting application databases. | Very Low (Origin memory lookup) | Tuned reverse proxy & edge caching configurations optimized for Drupal. |
| Layer 4: Application | Drupal Core & Modules (Perimeter, Antibot, Honeypot) | Apply context-aware decisions on forms, logins, and dynamic search API filters. | 🪙 🪙 🪙 High (Requires full PHP bootstrap) | Application-aware hosting environment built to handle dynamic workloads. |
| Layer 5: PoW Proxy | Proof-of-Work Proxies | Force scrapers' CPUs to compute tokens on uncacheable routes (?page=, search). | Shifted to Attacker (Scraper pays CPU tax) | Developer-configurable routing for high-overhead application paths. |
The CDN or edge layer is often the best place to stop obvious high-volume automated traffic.
If a request is blocked at the edge, it never reaches your origin infrastructure, meaning it does not consume Drupal, PHP, database, or Kubernetes resources.
Vendors such as Fastly (with whom we partner) offer distinct approaches to edge security and bot management. Every site owner should assess which edge protections match its traffic profile, risk level, and budget. Basic WAF and CDN protections can reduce noisy or obviously malicious traffic. Sites experiencing more sophisticated scraping or abuse may need advanced bot management.
When CDN and WAF controls are integrated into the hosting and observability layer, teams can make better decisions about which requests are being blocked, which are reaching Drupal, and where expensive traffic is still causing load.
Edge rules often live outside the Drupal application codebase. They need ownership, documentation, monitoring, and review. A rule that blocks the wrong traffic may not show up in Drupal logs because the request never reached Drupal. So observation is still essential.
amazee.io works with enterprise Drupal teams to align CDN, WAF, caching, and hosting configuration so that protection happens as far upstream as possible, while Drupal-specific decisions remain available where application context is needed.
Infrastructure-level filtering can also block common exploit probes and obviously irrelevant paths.
Drupal sites often receive automated requests for files or routes associated with other platforms, such as WordPress admin paths or exposed environment files. Blocking this noise before it reaches Drupal helps reduce log clutter and wasted application work.
→ Dig Deeper: [Webinar] Enhance and Protect your Website with Managed CDN & Advanced WAF
The next layer is the web server and infrastructure.
This is where teams can apply practical controls before requests reach Drupal. You may have less application context at this level, although you can still reduce unnecessary load.
Rate limiting is especially useful for routes that are expensive or commonly abused. Examples include search pages, faceted listing URLs, login routes, registration forms, and password reset flow.
The goal is to slow down patterns that are unlikely to represent legitimate browsing. Rate limits should be based on real traffic data. A limit that works for a small brochure site may be inappropriate for a public-sector portal, university site, or large e-commerce site.
Geo-blocking can be useful when a site serves a specific regional audience. For example, a local city-based business may choose to restrict traffic from outside that city.
For global organizations, broad geo-blocking can create more harm than benefit. It may block real customers, partners, staff, search crawlers, or third-party services.
Caching is one of the most important bot protection tools available to Drupal teams.
Strong caching improves user experience, reduces infrastructure load, and lowers the cost of unwanted automated traffic. A bot requesting a cached page is much less expensive than a bot triggering a dynamic Drupal response. That makes cache strategy central to resilience.
You should review the following:
For more details, access our Drupal and CDN Integration Guide
The key is to identify where bots are creating expensive work.
If a high-traffic page is uncached, review why. If search pages are repeatedly causing database load, investigate whether they can be cached, rate-limited, or protected differently. If query parameters are causing excessive variation, review which parameters should affect the response.
Caching is a performance optimization and a defensive layer, and this is where hosting architecture and application architecture meet. The best results usually come from collaboration between developers, platform engineers, and hosting specialists.
For amazee.io customers, this is where managed Drupal hosting expertise can make a measurable difference. Bot protection is about understanding how Drupal cache metadata, reverse proxy behavior, CDN configuration, and infrastructure scaling interact under real traffic conditions.
A well-configured amazee.io hosting environment can help teams reduce origin load, identify cache bypasses, and coordinate CDN and WAF rules with Drupal-specific performance behavior.
→ Dig Deeper:
Drupal knows the route, user state, form, permissions, content model, cache state, and business logic. That makes it the right place for certain decisions. Application-level blocking comes with a cost. By the time your site rejects a request, the request has already consumed infrastructure and application resources.
When a request reaches the application layer, Drupal must initialize system configuration, parse routing tables, check permissions, and establish database connections before deciding whether to reject the caller. Under a heavy automated attack, processing thousands of these application-layer drops per minute leads directly to memory exhaustion, database thread locks, and origin failure. Application controls must therefore be chosen judiciously.
Use Drupal-level controls where that context is worth the cost.
Forms often benefit from layered, low-friction protection.
Common options include:
For critical endpoints like user login and registration forms, integrating with reputation signal modules such as CrowdSec or AbuseIPDB enables Drupal to check IP reputation scores at runtime, dropping abusive requests at the form level while avoiding latency on public cached pages.
The best approach is usually progressive. Start with low-friction protections, then add stronger challenges where abuse justifies them. This helps protect accessibility and conversion rates while reducing spam.
If bots are crawling combinations of filters, sort orders, and pagination states, application-level controls can help identify and limit problematic patterns. For Drupal sites using Search API with facets, facet-specific rate limiting or bot controls may be appropriate. Counters should ideally use Redis or memcache rather than adding more database load.
Modules like Facet Bot Blocker, backed by decoupled memory caches (Redis/Memcached), specifically track rapid facet-combination crawls and block anomalous crawl depth before it triggers expensive database queries or Search API re-indexing.
The aim is to prevent automated exploration of expensive URL combinations from degrading site performance.
Drupal can also integrate with reputation and pattern-based tools, such as community blocklists, IP reputation services, and modules that reject known-bad request patterns.
Implementing targeted utility modules like Perimeter allows Drupal to immediately reject generic probe patterns, such as automated requests scanning for WordPress /wp-admin paths or unmapped .env configuration files, keeping error logs clean and preventing log bloat.
These can be useful around authentication and form workflows, where the additional context is valuable.
The guiding principle is balance. Drupal should work as one layer in a broader defense strategy, with application awareness used where it adds the most value.
If bots are crawling combinations of filters, sort orders, and pagination states, application-level controls can help identify and limit problematic patterns. For Drupal sites using Search API with facets, facet-specific rate limiting or bot controls may be appropriate. Counters should ideally use Redis or memcache rather than adding more database load.
Modules like Facet Bot Blocker, backed by decoupled memory caches (Redis/Memcached), specifically track rapid facet-combination crawls, blocking anomalous crawl depth before it triggers expensive database queries or Search API re-indexing.
The aim is to prevent automated exploration of expensive URL combinations from degrading site performance.
Drupal can also integrate with reputation and pattern-based tools, such as community blocklists, IP reputation services, and modules that reject known-bad request patterns.
Implementing targeted utility modules like Perimeter allows Drupal to immediately reject generic probe patterns, keeping error logs clean and preventing log bloat.
These can be useful around authentication and form workflows, where the additional context is valuable.
The guiding principle is balance. Drupal should work as one layer in a broader defense strategy, with application awareness used where it adds the most value.
Challenge-based protection is evolving.
Traditional CAPTCHA-style tools ask users to prove they are human. These can be effective, although they also introduce accessibility and user experience concerns. Proof-of-work approaches take a different route. They ask the client device to perform a small amount of computational work before proceeding.
For a real user, that cost may be barely noticeable. For a scraper making thousands or millions of requests, the cost compounds.
Open source tools are exploring this model for modern scraping scenarios, including AI-driven content collection.
Proof-of-work protection is best suited to selected routes where automated abuse is expensive, such as:
As with any challenge mechanism, teams need to consider SEO, accessibility, legitimate crawlers, and monitoring tools. Allowlisting and ongoing maintenance are important.

Bot protection begins with measurement. Before implementing new tools or rules, security teams must identify exactly where automated traffic incurs the highest costs or poses the greatest risks. This involves analyzing server metrics, traffic logs, and user behavior to identify anomalies.
To locate your highest risks, start by asking these core questions:

Once you have these answers, prioritize your most expensive and sensitive endpoints. Focus your initial efforts on internal search, faceted listings, and deep pagination, as these areas consume significant database resources.
Next, secure user entry points like login, registration, and password reset forms. Finally, ensure you protect public-facing contact forms, API endpoints, and authenticated user flows.
With your target endpoints identified, match the defensive control to the specific risk. High-volume scraping is best managed with CDN or WAF rules. Resource-heavy search pages benefit from caching reviews and rate limiting. For form spam, tools like Honeypots, Antibot, or Turnstile-style controls offer excellent defense. Credential abuse is mitigated through a combination of rate limiting and reputation checks.
Ultimately, a layered defense strategy provides the strongest security.
Bot protection is highly effective when hosting, CDN, WAF, caching, and observability operate as a single system. A unified platform strategy allows enterprise Drupal teams to protect their applications while maintaining optimal performance.
An integrated hosting partner helps your team achieve several critical operational goals:
Traditional WAF management often suffers from "dashboard drift," where manual changes made in cloud vendor consoles are undocumented and unversioned. WAF rules, edge redirects, and routing directives live alongside your application code.
A critical vulnerability in modern cloud hosting occurs when scrapers bypass edge WAFs by making direct IP requests to the origin cluster. amazee.io mitigates this risk through strict network isolation in its Kubernetes ingress controller. Cluster routing is explicitly configured to accept web traffic only from authenticated Fastly edge nodes, ensuring malicious traffic cannot bypass edge security layers.

At amazee.io, we build our managed hosting platform specifically for complex Drupal environments that require high reliability, secure CDN integration, and strong operational support. If automated traffic is increasing your site's load, amazee.io can help you design a comprehensive strategy that protects your platform from the edge to the application.
👓 [Article] Bring Your Own Cloud: The Hosting Architecture of Trust
👓 [Webinar] Continuous Software Security with Dependency-Track
Katy Walsh is the Marketing Lead at amazee.io and amazee.ai, bringing over a decade of deep-tech and B2B communication expertise to the enterprise cloud and AI infrastructure sectors. Holding an M.Sc. in Management and a B.A. in Communication Studies from Dublin City University, Katy specializes in technical storytelling, digital content strategy, and multi-channel brand management. Her extensive background spans highly complex technology environments, including wearable wireless sensor networks, virtual advertising tech, and enterprise PaaS architectures. At amazee.ai, Katy works in lockstep with core software architects and compliance officers, translating low-level technical milestones into authoritative, peer-reviewed insights that help enterprise decision-makers balance AI innovation with strict data privacy and risk mitigation.