De CoreDash-bots: wat ze opvragen en hoe je ze herkent

CoreDash/1.0 in je logs is een van de twee CoreDash-bots. Beide openen alleen pagina's waar een CoreDash-klant om heeft gevraagd.

Wie de CoreDash-bots beheert en waarom ze langskomen

In het kort

  • CoreDash heeft twee bots: de uptime-check vraagt elke 30 minuten een pagina op. De cRUM-audit, een snelheidstest van één pagina, laadt die één keer in Chrome als een klant het rapport van die pagina opent.
  • Beide sturen een user-agent die begint met CoreDash/. Hun adressen staan in ips.json, en CoreDash-klanten krijgen ook een geheim token in een header.
  • Wil je ze doorlaten, sta dan de user-agent toe. Heb je ze liever niet, neem contact op met CoreDash en de bezoeken stoppen.

CoreDash is een real user monitoring tool voor Core Web Vitals. Website-eigenaren zien ermee hoe snel hun pagina's laden voor echte bezoekers, op mobiel en op desktop. CoreDash is gevestigd in Bergen op Zoom, in Nederland, en draait beide bots zelf.

Een CoreDash-bot bezoekt een pagina alleen als een CoreDash-klant erom vraagt: door de pagina toe te voegen aan een uptime-monitor, of door de audit van die pagina te openen. De bots volgen geen links en gaan nooit zelf op zoek naar pagina's. Niets van wat ze ophalen belandt in een zoekindex of traint een AI-model. De resultaten gaan naar de klant die erom vroeg, en naar niemand anders.

CoreDash-user-agents

CoreDash/1.0 (uptime; +https://www.coredash.app/bot)
CoreDash/1.0 (audit; +https://www.coredash.app/bot)

Het woord tussen haakjes geeft aan welke bot het request stuurde, en de link brengt je naar deze pagina. Elke CoreDash-tool stuurt een user-agent die begint met CoreDash/, ook tools die later worden toegevoegd. Een zoekopdracht in je logs of een firewall-regel op CoreDash/ vindt ze allemaal. Maar iedereen kan die naam meesturen. Controleer het adres waar een request vandaan komt daarom ook tegen ips.json.

De uptime-check en de cRUM-audit

In het access-log van een server zien de twee bots er zo uit: de uptime-check op het hele en het halve uur, en één audit die een pagina inlaadt samen met de CSS en een afbeelding.

Nginx access log of www.example-shop.com: CoreDash uptime checks at 13:00, 13:30 and 14:00 asking for the home page, and a CoreDash audit loading /checkout/ with its CSS and an image, between normal visitors

Het access-log van www.example-shop.com.

De uptime-check

Een klant voegt een URL toe aan een uptime-monitor in CoreDash. Vanaf dat moment vraagt de uptime-check die URL elke 30 minuten op: de ene CoreDash-server op het hele uur, de andere op het halve uur. Dat zijn 48 checks per dag voor elke monitor.

Elke check is één GET-request voor de HTML, plus één extra voor elke redirect, tot maximaal vijf achter elkaar. De check leest hooguit de eerste 256 KB van het antwoord en laadt geen afbeeldingen, scripts of CSS. Heeft de klant het IP-adres van de server van de site ingevuld, dan stuurt elke check ook een request rechtstreeks naar die server, om het CDN heen, om te zien of de server zelf antwoordt. CoreDash bewaart de statuscode en de timings, en niets van de pagina zelf.

De cRUM-audit

De cRUM-audit is de snelheidstest van CoreDash voor één pagina. Die draait zodra een klant het rapport van die pagina opent in CoreDash, en opnieuw als die de audit herstart of wisselt tussen mobiel en desktop. Er is geen vast schema: opent niemand het rapport van een pagina, dan krijgt die nooit een audit.

De audit laadt de pagina één keer in Chrome, met de cache uit, als nieuwe bezoeker op mobiel of desktop. Chrome haalt vervolgens alles op wat de pagina opvraagt: de CSS, scripts en afbeeldingen, net als bij elke bezoeker. In je log zie je het request voor de pagina met _cache_bust= en een timestamp toegevoegd aan de URL, gevolgd door de requests voor de bestanden, allemaal met de audit-user-agent.

Bestanden die de pagina laadt vanaf een andere site, zoals een webfont of een analytics-script, gaan ook met de audit-user-agent de deur uit. Host je zo'n bestand, dan kan CoreDash in je log opduiken voor een pagina die niet van jou is. Elk van die requests is onderdeel van het laden van de pagina die een klant heeft gekozen.

Zo controleer je of een request van CoreDash komt

CoreDash publiceert de adressen waar de bots vandaan sturen op app.coredash.app/bot/ips.json. Het is een JSON-bestand in het format dat Google gebruikt voor de adressen van zijn crawlers, met een service-veld dat voor elk adres "uptime" of "audit" aangeeft. Komt een request met een CoreDash-user-agent van een adres dat niet in dat bestand staat, dan komt het niet van CoreDash.

Die adressen kunnen veranderen: CoreDash voegt af en toe servers toe of verplaatst ze. Controleer daarom altijd tegen het bestand zoals het nu is. De creationTime verandert bij elke wijziging in de lijst.

CoreDash-klanten hebben een tweede check. Elk project heeft een eigen geheim bot-token, en beide bots sturen dat mee in de X-CoreDash-Bot-header als ze de eigen site van het project of een van de subdomeinen bezoeken. Bij een bezoek aan een andere site sturen ze geen token mee. Het token staat in CoreDash onder Project settings, tab "CoreDash bot token".

De CoreDash-bots doorlaten in je firewall

Een firewall of CDN ziet de CoreDash-bots soms aan voor bots die hij niet vertrouwt en blokkeert ze. Wil je ze doorlaten, sta dan requests toe waarvan de user-agent begint met CoreDash/. Staat de site in je eigen CoreDash-project, dan is een regel op je bot-token veiliger, omdat alleen de requests van jouw project dat token meesturen. Sta de IP-adressen alleen toe als niets anders werkt, en houd er rekening mee dat ze kunnen veranderen. CoreDash-bots doorlaten in je CDN of firewall bevat de stappen voor Cloudflare en AWS WAF.

Waarom de CoreDash-bots robots.txt niet lezen

Een robots.txt-bestand vertelt crawlers welke pagina's ze mogen bezoeken als ze op eigen houtje een site doorzoeken. De CoreDash-bots doen dat nooit. Elk bezoek is gestart door een klant, net zoals Lighthouse een pagina laadt als iemand een test uitvoert. Daarom leest geen van beide bots robots.txt, en houdt een Disallow-regel ze niet tegen.

De CoreDash-bots stoppen op je site

Heb je een vraag over de bots of wil je ze liever niet op je site, neem dan contact op met CoreDash via de contactpagina. Stuur de URL en een CoreDash-regel uit je log mee. CoreDash zet de bezoeken aan je site dan stop.

CoreDash-bots: user-agents, IP-lijst en wat ze opvragen Core Web Vitals CoreDash-bots: user-agents, IP-lijst en wat ze opvragen