Title: DevDome Analytics – Real Traffic Without Bot Noise
Author: DevDome
Published: <strong>julio 31, 2026</strong>
Last modified: agosto 5, 2026

---

Search plugins

![](https://ps.w.org/devdome-analytics/assets/banner-772x250.png?rev=3630526)

![](https://ps.w.org/devdome-analytics/assets/icon-256x256.png?rev=3630526)

# DevDome Analytics – Real Traffic Without Bot Noise

 By [DevDome](https://profiles.wordpress.org/devdome/)

[Download](https://downloads.wordpress.org/plugin/devdome-analytics.1.0.4.zip)

 * [Details](https://es-uy.wordpress.org/plugins/devdome-analytics/#description)
 * [Reviews](https://es-uy.wordpress.org/plugins/devdome-analytics/#reviews)
 *  [Installation](https://es-uy.wordpress.org/plugins/devdome-analytics/#installation)
 * [Development](https://es-uy.wordpress.org/plugins/devdome-analytics/#developers)

 [Support](https://wordpress.org/support/plugin/devdome-analytics/)

## Description

DevDome Analytics shows you how many real people visit your site. Bots and crawlers
are counted separately, so your numbers are not inflated.

Install the plugin, connect your free DevDome account, done. The plugin stays light:
no analytics tables in your WordPress database. Key numbers show in wp-admin; the
full dashboard lives in your DevDome account.

**What you get**

 * Visitors, pageviews, sessions, live visitors, top pages, referrers, countries,
   devices.
 * Bots and AI crawlers (Googlebot, GPTBot, ClaudeBot and others) reported separately
   from humans.
 * Visits referred by AI assistants such as ChatGPT and Perplexity.
 * Outbound-link click tracking that keeps counting when ad blockers stop the analytics
   script.
 * Reports from the last 24 hours up to 12 months.

**First-Party Delivery (Pro plans and above)**

An optional switch. The tracking script is served from your own domain and events
go through your own server, with randomized names unique to your site, so ad blockers
that block third-party analytics domains cannot drop them. Bypasses most, not all,
blockers. Works with caching and speed plugins without configuration.

**Private by default**

 * Cookieless on new installs: nothing is stored on your visitors’ devices, so no
   cookie banner is needed for DevDome.
 * Returning-visitor tracking is optional and off on new installs.
 * Administrators and editors are not tracked by default, and you can exclude any
   role.
 * The browser Do Not Track signal is respected by default.
 * No form values, post content, user accounts, customer or order data are collected.
 * Every tracking feature has its own switch, plus one master switch.

A free DevDome account is required: collection and reports run on the hosted DevDome
service. Nothing is tracked or sent before you connect the site.

### External services

DevDome Analytics is a connector for the DevDome Analytics service. It talks to 
two hosts, both operated by DevDome.

Terms of service: https://devdome.com/terms-of-service
 Privacy policy: https://
devdome.com/privacy-policy

#### analytics.devdome.com – the analytics service

**The tracking script, https://analytics.devdome.com/track.js**
 Loaded in your 
visitors’ browsers on public pages, once the site is connected and Enable Tracking
is on. It is not added to your pages before you connect. With First-Party Delivery
on, a copy of this script that ships inside the plugin is placed in your uploads
folder and served from your own domain instead; nothing is downloaded from DevDome
for it.

**The event ingest, https://analytics.devdome.com/api/event**
 This is where analytics
events are recorded, and there are four ways it is reached.

 1. From the visitor’s browser, by the tracking script above. Each event carries: your
    Site ID (this site’s domain), your DevDome Account ID, the page URL and path, the
    page title, the referring URL, browser, operating system, device type, user agent,
    browser language, country, the target URL of a click, and a visitor ID and session
    ID only when the browser is storing them (see Privacy). The browser contacts the
    service directly, so its IP address is visible to it, as with any web server.
 2. From your server, when it forwards an outbound-link click. The visitor’s browser
    sends the click to the `/dd-e` path on your own domain and your server relays it.
    Your server adds two fields to that relayed event: the visitor’s country code and**
    the visitor’s IP address**, so location and per-visitor counts stay correct when
    the event arrives from your server instead of from the browser.
 3. From your server, when First-Party Delivery is on: the visitor’s browser sends 
    every tracking event (the same fields as item 1) to a randomized path on your own
    domain and your server relays it, authenticated with this site’s secret token. 
    The relay adds the same two fields as item 2, the visitor’s country code and **
    the visitor’s IP address**, and forwards nothing else: each event is rebuilt from
    an allowlist and the site and account identity always come from the plugin’s own
    settings.
 4. From your server, when a known crawler requests a page and Track Bot Visits is 
    on. That event carries the crawler’s user agent, the bot name and type, the requested
    URL and path, your Site ID and a timestamp. No human visitor data is in it.

**The plan check, https://analytics.devdome.com/api/plugin/entitlements**
 Asks 
whether this site’s DevDome plan includes First-Party Delivery. Sent only while 
that switch is on (once a day) or when you turn it on, carrying your Site ID and
this site’s secret token. No visitor data.

**The connection handshake, https://analytics.devdome.com/api/plugin/status**
 Sent
when you connect the site and when the connection is re-verified. Contains your 
Site ID, this site’s secret token, your Account ID, the site URL, the site name,**
the site administrator’s email address**, the WordPress version, the PHP version,
the plugin version, the active theme name, the timezone, the site language and whether
this is a multisite install. No visitor data.

A shorter form (Site ID and secret token only) also runs when you open the plugin’s
screen, at most once per 15 minutes: a site already connected on devdome.com shows
as connected here without a second connect step. No visitor data, nothing on public
pages.

**The one-click connect handshake, https://analytics.devdome.com/api/plugin/connect/
start and /api/plugin/connect/claim**
 connect/start runs only when you press the«
Connect Via DevDome Account» button, never on its own (opening the plugin’s screen
makes only the connection-status check described above). It sends this site’s domain,
its secret token and the wp-admin address to return to, and receives a short-lived
connect link. `connect/claim` runs when your browser returns from devdome.com and
exchanges that link for your Account ID.

**The stats read, https://analytics.devdome.com/api/plugin/stats**
 Sends your Site
ID, this site’s secret token (so only your own site can read its numbers) and the
selected day range. Used to fill the Overview tiles in wp-admin, and the bot-visit
figure shared with DevDome Bot Protection when that plugin is installed.

**Deleting your data, https://analytics.devdome.com/api/plugin/purge**
 Sends your
Site ID and this site’s secret token, and only when you press Reset Analytics, or
tick «Also delete my data on DevDome» while disconnecting.

#### api.devdome.com – DevDome account services

These two are made by the shared DevDome library bundled with every plugin in the
suite.

**The account check, https://api.devdome.com/plugin/account**
 A GET carrying this
site’s domain and its secret token, answered with the Account ID and account email
address that the token belongs to, so the DevDome screen can show which account 
this site is linked to. It runs when the DevDome screen is displayed, at most once
every twelve hours, and never before you have acted: until you press a Connect button,
save an Account ID or complete a connection, this check is not made at all.

**Disconnecting, https://api.devdome.com/plugin/disconnect**
 A POST carrying this
site’s domain and its secret token, sent only when you press Disconnect, to unlink
the site from the account.

#### Not contacted on this WordPress.org build

The bundled shared library also references endpoints this build never calls: the`
https://api.devdome.com/bot-protection/` signature feeds (used by other DevDome 
plugins; never fetched here, no cron scheduled) and `https://api.devdome.com/plugin-
updates/` (self-hosted updates, disabled here; updates come from WordPress.org).

#### devdome.com

    ```
    https://devdome.com/connect/ is a link you click, not a request the plugin makes. Your browser goes there to sign in and approve the connection, and comes back. The plugin makes no server-side call to devdome.com.
    ```

#### Never sent, in any request

 * Passwords and password hashes.
 * Form field values submitted by visitors.
 * Post, page, comment or any other WordPress content.
 * User accounts, user lists, or the email addresses of your registered users. The
   one exception is the site’s administration email address, which is sent once 
   during the connection handshake described above.
 * Customer, order or payment data.
 * Anything at all about what happens inside wp-admin.

### Privacy

**What is stored on your site.** Roughly thirty option rows: the tracking switches,
the service addresses, this site’s ID and secret token, your Account ID and account
email, the timestamp of the connection, and, for First-Party Delivery, the switch
itself and the randomized path and file names generated for this site. When that
switch is on, one JavaScript file (the tracking script copied out of the plugin’s
own package) is placed under your uploads folder; it is removed at uninstall. Nothing
else. No custom tables, no post meta, no user meta, and not one analytics event.
The short-lived transients: a connect handle (10 minutes), the cached bot-visit 
figure (1 hour), the cached plan answer for First-Party Delivery (a day), and flood
counters for the `/dd-e` and First-Party relay endpoints that live for 2 minutes
and are keyed by an MD5 hash of the visitor’s IP address.

**Public paths the plugin adds.** Up to four. `/dd-e` (only while connected) accepts
the outbound-click beacon described in External services; it answers empty to everything
else, requires the browser’s own same-site Origin header, ignores requests from 
excluded roles, is rate limited per IP address and stores nothing. The First-Party
Delivery relay (only while that switch is on) is a randomized path unique to your
site that accepts the tracking events described in External services under the same
rules and stores nothing. `/.well-known/devdome-analytics.txt` (only while connected)
returns one short line of fixed text, so DevDome can confirm the plugin really is
installed on the domain you connected. `/.well-known/devdome-connect-proof.txt` 
returns a one-way SHA-256 fingerprint of this site’s secret token (never the token
itself), so DevDome can confirm during connection that the request really came from
this site.

**What is stored on a visitor’s device.** Two settings decide this, and they are
independent of each other.

 * **Track Returning Visitors, off on new installs.** While it is off, the DevDome
   tracking script writes nothing at all: no cookie, no localStorage, no sessionStorage.
   Unique visitors are still counted, using an identifier DevDome derives on its
   own server from the request (site, date, IP address and user agent, combined 
   with a secret key); it changes daily, differs per site, and cannot be reversed
   to identify a person. The trade-off: a visitor who returns tomorrow counts as
   new. Turning the setting on stores a random visitor ID in a first-party cookie
   and localStorage, plus a session ID in sessionStorage, so the same person is 
   recognised across days and a click can be tied back to its visit. Random values,
   nothing personal in them, but they are storage on a visitor’s device, so **you
   may need visitor consent for it**. The setting says so where you switch it on.
 * **Track Outbound Links, on by default.** This is the exception to «nothing is
   stored». The built-in click detector stores two randomly generated IDs the first
   time a visitor clicks a link that leaves your site: `td_vid` in localStorage 
   and `td_sid` in sessionStorage. It does this **even when Track Returning Visitors
   is off**, because a click has to be tied to the visit it came from to be worth
   anything. Visitors who never click an outbound link are unaffected. If you do
   not want it, switch Track Outbound Links off; a visitor whose browser sends the
   Do Not Track header never gets it either.

**Sites upgrading from an earlier version** keep returning-visitor tracking on, 
exactly as they behaved before, so nothing changes on a live site until you decide
otherwise.

**IP addresses.** The plugin never stores a visitor’s IP address on your site in
readable form. It reaches DevDome two ways: the tracking script connects to the 
service from the visitor’s browser, like any web request; and relayed events (outbound
clicks, First-Party Delivery) deliberately carry the visitor’s real address, else
they would all be attributed to your server. DevDome uses it for geolocation and
per-visitor counts.

**How to turn things off.** Enable Tracking is the master switch, and turning it
off stops all collection. Track Clicks, Track Outbound Links, Track AI Referrals
and Track Bot Visits each switch off on their own. Do Not Track Admins is on by 
default. Excluded roles lets you name any role that must never be tracked; new installs
start with Administrator and Editor. Respect Do Not Track is on by default and honours
the browser signal.

**How to remove your data.** Disconnect stops everything immediately: the tracking
script is no longer added to your pages, the `/dd-e` endpoint stops relaying, and
the domain-verification file is no longer served. To delete what DevDome has already
collected, either press Reset Analytics, or tick «Also delete my data on DevDome»
while disconnecting. If you do neither, DevDome deletes it automatically after 90
days of inactivity. On your own site there is nothing to clean up beyond the option
rows listed above: the plugin creates no tables and stores no analytics data locally.

### Source code

All of this plugin’s PHP and JavaScript ships unminified and human-readable.

One file is generated: `assets/devdome-tools-tw.css`, the admin screen’s stylesheet.
It is a Tailwind CSS v3 utility bundle built from `src/tw.css` and `tailwind.config.
cjs` with:

    ```
    npx tailwindcss -c tailwind.config.cjs -i src/tw.css -o assets/devdome-tools-tw.css --minify
    ```

Those two build inputs are not included in the distributed package. Ask for them
at https://devdome.com/contact and we will send them.

## Installation

 1. Install and activate the plugin from **Plugins > Add New**.
 2. Open **DevDome > Analytics**.
 3. Select **Connect Via DevDome Account**, or enter your DevDome Account ID manually.
 4. Review the Settings tab and enable only the tracking features you want.

## FAQ

### Do I need a DevDome account?

Yes. DevDome Analytics is a connector for the hosted DevDome Analytics service, 
where analytics events are processed and full reports are displayed. A free plan
is available. No visitor data is collected until you connect the site.

### Does it remove all bot traffic from visitor reports?

It detects known bots and AI crawlers and reports them separately from human visitors.
Unknown, new, or deliberately disguised bots may not always be identifiable.

### Is anything sent before I connect?

No visitor data, ever. Before the site is connected, the tracking script is not 
added and no analytics events are sent. The one exception is a connection-status
check (this site’s domain and its secret token, nothing else) when you open the 
plugin’s own screen, so a site you already connected on devdome.com shows as connected
here without a second connect step.

### Does it set cookies?

General traffic tracking is cookieless on new installs. Returning-visitor tracking
is optional and disabled by default.

Outbound-link tracking stores random IDs in localStorage and sessionStorage after
a visitor clicks an external link. Disable Track Outbound Links if you do not want
that storage. See the Privacy section for full details.

### Can I exclude myself and my team?

Yes. Logged-in administrators are excluded by default. You can exclude any additional
WordPress role.

### Will it slow down my site?

The tracking script loads asynchronously and does not block page rendering. The 
plugin does not write analytics events to your WordPress database.

### Does it work with caching plugins?

Yes. The tracking snippet is the same for every visitor, so it works with full-page
caching. Connecting or disconnecting also clears common page caches so the change
is applied.

### Which crawlers can it report?

The current detection list includes GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot,
Google-Extended, Bytespider, CCBot, Googlebot, bingbot, Slurp, DuckDuckBot, Baiduspider,
YandexBot, AhrefsBot, SemrushBot, MJ12bot, DotBot, and Screaming Frog.

The plugin reports detected crawlers; it does not block them.

### What happens when I disconnect?

Tracking stops immediately. You can also delete the site’s hosted analytics data
when disconnecting or by selecting Reset Analytics. Data that remains inactive is
deleted automatically after 90 days.

### Does it support WordPress multisite?

Yes. Each site connects separately and has its own settings, Site ID, and reports.

### Where do I see the reports?

The WordPress Overview tab shows key metrics. Full traffic, referral, click, location,
device, and crawler reports are available in your DevDome account.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DevDome Analytics – Real Traffic Without Bot Noise” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

[Translate “DevDome Analytics – Real Traffic Without Bot Noise” into your language.](https://translate.wordpress.org/projects/wp-plugins/devdome-analytics)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/devdome-analytics/),
check out the [SVN repository](https://plugins.svn.wordpress.org/devdome-analytics/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/devdome-analytics/)
by [RSS](https://plugins.trac.wordpress.org/log/devdome-analytics/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * New: First-Party Delivery, an optional ad-block-resistant mode (off by default,
   included in the DevDome Pro plan and above). The tracking script is served from
   your own domain and events relay through your own site server-side with randomized
   per-site names, so ordinary blockers of third-party analytics domains cannot 
   drop them. Bypasses most, not all, blockers. Every relayed field is validated
   and sanitized, identity always comes from the plugin’s own settings, and the 
   relay accepts only same-site browser requests.
 * Connecting works again for fresh installs: the plugin serves a one-way fingerprint
   of its site token at `/.well-known/devdome-connect-proof.txt`, which the DevDome
   service verifies against your site before accepting the connection. No token,
   secret, or visitor data is exposed by it.
 * One connection, both sides: a site connected through the devdome.com dashboard
   now shows as connected in wp-admin by itself, and if the site is removed or its
   token rotated on the dashboard, the plugin flips to disconnected with a clear
   notice instead of staying green while calls fail. A local Disconnect always sticks.
 * Fixed: the Overview tiles never loaded on sites using plain permalinks (the WordPress
   default). They now show the same numbers as the DevDome dashboard everywhere,
   and an unavailable answer leaves the placeholders instead of showing zeros.
 * First-Party Delivery hardening: forwarded visitor IP and country headers are 
   trusted only when the connection they arrived on vouches for them; events relay
   correctly on subdirectory and subdirectory-multisite installs; relayed forwards
   no longer block the visitor’s request; in-app (social webview) visits keep their
   traffic source; the served script copy is refreshed only when its content really
   changed; and the `/dd-e` click endpoint requires the browser’s own same-site 
   Origin header too.
 * The tracking script used for First-Party Delivery ships inside the plugin package
   and is copied, never downloaded, into your uploads folder.
 * Turning First-Party Delivery on requires a real answer from the plan check; an
   unreachable service or a rejected credential no longer enables it, and a rejected
   credential switches it off with a notice instead of silently losing events.
 * Toggling First-Party Delivery clears common page caches so cached pages stop 
   beaconing to a stale endpoint.
 * The daily refresh event is removed on plugin deactivation, and uninstalling always
   cleans up the cron event and the generated script file.
 * The plan check sends the site token in a request header instead of the URL.

#### 1.0.3

 * New optional First-Party Delivery mode (off by default, included in the DevDome
   Pro plan and above): the tracking script is served from your own domain and events
   are relayed through your site server-side, using randomized names unique to your
   site, so ordinary ad blockers that block third-party analytics domains cannot
   drop them. Bypasses most, not all, blockers. Every relayed field is validated
   and sanitized before forwarding, identity always comes from the plugin’s own 
   settings, and the forward authenticates with your site token. All other tracking
   is unchanged on every plan.

#### 1.0.2

 * Unified DevDome suite icons and updated the suite hub with one-click installs
   for WordPress.org plugins.

#### 1.0.1

 * No request is made to DevDome before you act: the one-click connect link is now
   requested only when you press «Connect Via DevDome Account», and the account 
   check no longer runs until a connection has been started or completed. Off by
   default, opt-in by a button press.
 * The connect screen now says exactly what connecting sends before you press the
   button.
 * Every field of the relayed outbound-click event is individually validated and
   sanitized before it is forwarded, and the site and account identifiers in it 
   now always come from the plugin’s own settings, never from the request body.
 * Request paths and IP addresses read from server variables are sanitized where
   they are read.

#### 1.0.0

 * First release on WordPress.org.
 * The admin screen’s styles and behaviour now load as enqueued files instead of
   inline blocks.
 * The tracking snippet is enqueued too: the plugin no longer writes script tags
   into the page markup. Outbound-click counting is unchanged, including on sites
   where a blocker stops the tracker file from loading.
 * Internal rename: every function, class, constant, option and transient the plugin
   owns now carries its own identifier prefix. Existing settings and your DevDome
   connection are carried across automatically.
 * Fixed a fatal error that could break wp-admin on sites running several DevDome
   plugins when this one loaded first.

## Meta

 *  Version **1.0.4**
 *  Last updated **4 días ago**
 *  Active installations **10+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/devdome-analytics/)
 * Tags
 * [ai referrals](https://es-uy.wordpress.org/plugins/tags/ai-referrals/)[analytics](https://es-uy.wordpress.org/plugins/tags/analytics/)
   [click tracking](https://es-uy.wordpress.org/plugins/tags/click-tracking/)[traffic analytics](https://es-uy.wordpress.org/plugins/tags/traffic-analytics/)
 *  [Advanced View](https://es-uy.wordpress.org/plugins/devdome-analytics/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/devdome-analytics/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/devdome-analytics/reviews/)

## Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/devdome-analytics/)