Does Matomo's JavaScript tracker record search engine bots?

The Citead team, updated

In short. Matomo excludes identified bot requests by default, while bots=1 includes them as normal visits or actions when recMode is unset.

Definition: As of 17 October 2026, Matomo excludes tracking requests identified as bots or crawlers from visitor analytics by default. Its JavaScript tracker supports bots=1 to include those requests, provided they reach Matomo's Tracking API, the endpoint that receives analytics data.

Key facts

  • Matomo's JavaScript tracking guide says page views are tracked when the tracking code loads and executes.
  • Matomo's search bot FAQ says bots=1 only changes the handling of tracking requests already received; it does not cause bots to send them.
  • The Tracking HTTP API reference specifies that bots=1 records identified bots as normal visits or actions when recMode is unset.
  • The log import FAQ documents a separate --enable-bots option for importing crawler requests from server logs.

What must happen for JavaScript tracking to record a page view?

Matomo's JavaScript tracking guide describes page-view recording through code that loads and executes on the page. Its standard installation loads matomo.js, configures matomo.php as the tracking endpoint, and calls trackPageView.

A crawler fetching a website page and an analytics request reaching that endpoint are separate events. Matomo's search bot FAQ makes receipt of the tracking request a condition of the bots=1 override.

How is the JavaScript bot option configured?

Matomo's search bot FAQ documents this line for the existing JavaScript tracking code:

_paq.push(['appendToTrackingUrl', 'bots=1']);

This appends bots=1 to every tracking request. For installations using Matomo Tag Manager, the same FAQ gives an alternative: enable Track bots in the Matomo Configuration Variable and publish the updated container.

The Tracking HTTP API reference defines the parameter's effect more precisely: an identified bot request is recorded as a normal visit or action. The override works only when recMode, the request-handling mode parameter, is unset. The reference gives automated testing and controlled monitoring tools as examples of uses for preserving visits from known bots.

How can server logs supply crawler data?

Matomo's log import FAQ says its importer excludes bot traffic by default. The option for including it is:

--enable-bots

The importer identifies bots from the log's User-Agent identification field. With this option enabled, Matomo stores the bot name in a custom variable. The documentation warns that processing takes longer because all bot page views are sent to Matomo.

FAQ

Does enabling this option make every crawler appear?

No. Matomo's search bot FAQ says the option only prevents exclusion of identified bot requests that already reach the Tracking API.

Can I collect bot requests through log import instead?

Yes. Matomo's log import documentation provides --enable-bots and records the bot name in a custom variable, using the log's User-Agent field for detection.

Sources

  1. Matomo, "Does Matomo track search engine bots or other spider / robots?", undated
  2. Matomo, "JavaScript Tracking", undated
  3. Matomo, "Tracking HTTP API", undated
  4. Matomo, "Import additional data including bots, static files, and HTTP errors tracking", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark