<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SysWP</title>
    <description>The latest articles on DEV Community by SysWP (@syswp_br).</description>
    <link>https://dev.to/syswp_br</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3916275%2Fe819ddce-4115-48fd-860a-3d3c1915de25.png</url>
      <title>DEV Community: SysWP</title>
      <link>https://dev.to/syswp_br</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/syswp_br"/>
    <language>en</language>
    <item>
      <title>When Analytics Said Nothing, Bots Were 90% of the Traffic</title>
      <dc:creator>SysWP</dc:creator>
      <pubDate>Sun, 10 May 2026 23:20:49 +0000</pubDate>
      <link>https://dev.to/syswp_br/when-analytics-said-nothing-bots-were-90-of-the-traffic-3bn9</link>
      <guid>https://dev.to/syswp_br/when-analytics-said-nothing-bots-were-90-of-the-traffic-3bn9</guid>
      <description>&lt;p&gt;For months, &lt;strong&gt;ChinaGlobalSouth&lt;/strong&gt; was under constant attack.&lt;/p&gt;

&lt;p&gt;The site was already protected by several well-known WordPress security tools: Wordfence, Sucuri, All In One Security. But the attacks kept coming. Cloudflare’s Under Attack Mode was being triggered almost every day, and the team could not understand why.&lt;/p&gt;

&lt;p&gt;The problem was not simply that the site was “slow.”&lt;br&gt;
The real question was: why was a news site constantly behaving like it was under siege?&lt;/p&gt;

&lt;p&gt;At first, we looked at the usual sources: Google Analytics, Plausible, server logs, Cloudflare signals. Nothing looked obviously abnormal. Human traffic seemed normal. The site would stabilize for a while, then suddenly fall back into Cloudflare UAM again.&lt;/p&gt;

&lt;p&gt;We installed Shield ( &lt;a href="https://shield.syswp.pro" rel="noopener noreferrer"&gt;SysWP Shield&lt;/a&gt;), and the attacks dropped significantly. For a while, they even stopped. Shield was already creating adaptive rules on the fly, but something still felt incomplete: we were defending against symptoms without fully seeing the traffic pattern.&lt;/p&gt;

&lt;p&gt;That is when we realized the core problem:&lt;/p&gt;

&lt;p&gt;Traditional analytics tools are built to understand visitors. They are not built to clearly expose hostile request behavior.&lt;/p&gt;

&lt;p&gt;So we started looking at the raw traffic differently. That work became Radar &lt;a href="https://radar.syswp.com.br" rel="noopener noreferrer"&gt;SysWP Radar&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And the picture changed completely.&lt;/p&gt;

&lt;p&gt;More than 60% of the traffic was automated bot activity, including SEO spam attempts, fake browser user agents, scraping clients, and abnormal request patterns designed to overload, pollute, or manipulate the site.&lt;/p&gt;

&lt;p&gt;Example attack patterns we found:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SEO spam injection through WordPress search&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bots were injecting spam keywords into the ?s= search parameter, trying to get those terms indexed through the site’s own search result pages.&lt;/p&gt;

&lt;p&gt;Examples included spam signatures like:&lt;/p&gt;

&lt;p&gt;cleantalkorg2.ru&lt;br&gt;
batmanapollo&lt;br&gt;
Stock Market breaking news english&lt;br&gt;
Психолог Онлайн&lt;br&gt;
encoded external URLs&lt;br&gt;
This was not normal search traffic. It was an attempt to use the site’s HTML as an SEO spam surface.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fake browser user agents&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One repeated user agent looked like a browser, but it was not a real one:&lt;/p&gt;

&lt;p&gt;Mozilla/5.0 AppleWebKit/605.1.15 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/605.1.15&lt;br&gt;
The problem: AppleWebKit/605 belongs to Safari-like traffic. Real Chrome usually reports AppleWebKit/537.36, and the platform block was missing. This was a scraper pretending to be a browser, badly.&lt;/p&gt;

&lt;p&gt;The volume was also increasing hour by hour.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Non-browser HTTP clients&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We also saw clients that should almost never appear as normal reader traffic on a news website:&lt;/p&gt;

&lt;p&gt;Embarcadero URI Client/1.0&lt;br&gt;
Go-http-client/2.0&lt;br&gt;
These are automation clients, not typical human visitors.&lt;/p&gt;

&lt;p&gt;Once Radar exposed the real traffic, we could train Shield’s AI with the correct signals. Instead of guessing, we could build rules based on actual attacker behavior.&lt;/p&gt;

&lt;p&gt;The result: the attacks were identified, classified, and blocked much more effectively.&lt;/p&gt;

&lt;p&gt;The lesson was simple:&lt;/p&gt;

&lt;p&gt;You cannot protect what you cannot see.&lt;/p&gt;

&lt;p&gt;Performance, security, and observability are no longer separate problems. On modern WordPress sites, especially publishers and high-traffic content sites, bot traffic can look like a hosting issue, an SEO issue, or a Cloudflare issue.&lt;/p&gt;

&lt;p&gt;But sometimes the real problem is hidden in plain sight: thousands of requests pretending to be normal traffic.&lt;/p&gt;

&lt;p&gt;Radar gave us visibility. &lt;a href="https://radar.syswp.com.br" rel="noopener noreferrer"&gt;SysWP Radar&lt;/a&gt;&lt;br&gt;
Shield gave us enforcement. &lt;a href="https://shield.syswp.pro" rel="noopener noreferrer"&gt;SysWP Shield&lt;/a&gt;&lt;br&gt;
Together, they turned a confusing performance problem into a clear security response.&lt;/p&gt;

</description>
      <category>syswpradar</category>
      <category>syswpshield</category>
      <category>seospaminjection</category>
      <category>attacks</category>
    </item>
  </channel>
</rss>
