Webbot activity on Oct 25, 2025

name activity Country
Baiduspidersearch engine1 page CHINA
IP 45.67.230.75  Spammer4 pages in  3s RUSSIAN FEDERATION
IP 52.169.13.133  Zombie98 pages in  32s IRELAND
SemrushBotcrawler1 page UNITED STATES
IP 141.94.194.132 1 page FRANCE
Yandexsearch engine1 page RUSSIAN FEDERATION
Yandexsearch engine1 page RUSSIAN FEDERATION
googleusercontent robot 1 page UNITED STATES
IP 41.216.188.2  Zombie1 page GERMANY
IP 182.43.76.198  Zombie21 pages in  1min 2s CHINA
Qwantifysearch engine1 page FRANCE
IP 38.170.211.183  Zombie2 pages in  7s UNITED STATES
Python-urllib 2 pages in  1s NETHERLANDS
Baiduspidersearch engine1 page CHINA
IP 141.94.194.132 1 page FRANCE
IP 38.152.154.178  Zombie2 pages in  6s UNITED STATES
Yandexsearch engine1 page RUSSIAN FEDERATION
Amazonbotcrawler1 page UNITED STATES
Baiduspidersearch engine1 page CHINA
IP 216.73.216.137 1 page UNITED STATES
528,105 visits of identified bots
about 96 a day in 2025
45 today at 17:03 (+3 visitors)
zombies : 8 visits / 179 requests - spammers : 4 visits

Where does the data come from?

It has been extracted from $_SERVER["HTTP_USER_AGENT"] -$HTTP_USER_AGENT with PHP 3-, $_SERVER ["QUERY_STRING"], $_SERVER ["SCRIPT_NAME"] and gethostbyaddr().
As this website host (free.fr) sometimes filters access, it is biased.
The site statistics do not consider robots as visitors. The browser and country they show are ignored.
Even if they read a few pages they are stored once except if they come back after more than 10 minutes (for Google Desktop or semrush after more than 30 minutes).
This list gives approximate information as it assumes a perfect connection to MySQL which is not the case for this site. But web hosting here is free, so...

Robots represent at least 80 % of the visits in 2025:

Robot Detection

This routine is commented in the page about webbot traps.
Logging other visitors' user agent is necessary to update the lists of webbots visiting the site and of their User Agents.

The Data Table

Here is the structure of the table robots I use:
#
# Structure of the table `robots`
#
CREATE TABLE `robots` (
  `timeoflastaccess` int(10) unsigned NOT NULL default '0',
  `timeofarrival` int(10) unsigned NOT NULL default '0',
  `nameofbot` varchar(64) NOT NULL default '',
  `lastpage` varchar(30) NOT NULL default '',
  `numberofpages` mediumint(8) unsigned NOT NULL default '0',
  KEY `timeoflastaccess` (`timeoflastaccess`),
  KEY `timeofarrival` (`timeofarrival`),
  KEY `nameofbot` (`nameofbot`),
  KEY `numberofpages` (`numberofpages`)
) TYPE=MyISAM;

You can use double or datetime for times, double or int for numberofpages, if necessary, increase the number of caracters for lastpage.

Table Update

Data Display

We have the name of the robot, the time of its arrival, the time of the last page it loaded and the total number of pages indexed.
If there is one page and different values for timeoflastaccess and timeofarrival, then the page was reloaded.
I chose to display the number of pages loaded and the length of reading time.

A similar script is now online here

topTop of the page

With javascript

W3C XHTML 1.0
W3C CSS