CoreDash-botarna: vad de anropar och hur du känner igen dem

CoreDash/1.0 i dina loggar är en av två CoreDash-botar, och båda öppnar bara sidor som en CoreDash-kund har bett om.

Vem som kör CoreDash-botarna och varför de besöker din sajt

Kort sammanfattat

  • CoreDash har två botar: uptime-kontrollen anropar en sida var 30:e minut, och cRUM-auditen, ett hastighetstest av en enskild sida, läser in den en gång i Chrome när en kund öppnar sidans rapport.
  • Båda skickar en user agent som börjar med CoreDash/. Deras adresser finns i ips.json, och CoreDash-kunder får dessutom en hemlig token i en header.
  • Vill du släppa in dem tillåter du deras user agent. Vill du hellre slippa dem kontaktar du CoreDash, så slutar besöken.

CoreDash är ett verktyg för real user monitoring av Core Web Vitals. Webbplatsägare använder det för att se hur snabbt deras sidor laddar för verkliga besökare, på mobilen och på datorn. CoreDash är baserat i Bergen op Zoom i Nederländerna och kör båda botarna självt.

En CoreDash-bot besöker bara en sida när en CoreDash-kund ber om det: genom att lägga till sidan i en uptime-bevakning eller genom att öppna sidans audit. Botarna följer inga länkar och letar aldrig upp sidor på egen hand. Inget de hämtar hamnar i ett sökindex eller tränar någon AI-modell. Resultaten går till kunden som frågade, och till ingen annan.

User agents från CoreDash

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

Ordet inom parentes visar vilken bot som skickade requesten, och länken leder till den här sidan. Alla CoreDash-verktyg skickar en user agent som börjar med CoreDash/, även verktyg som läggs till senare. En sökning i loggen eller en brandväggsregel på CoreDash/ hittar allihop. Men vem som helst kan skicka det namnet, så kontrollera även adressen requesten kom ifrån mot ips.json.

Uptime-kontrollen och cRUM-auditen

I en servers accesslogg ser de två botarna ut så här: uptime-kontrollen varje hel- och halvtimme, och en audit som läser in en sida tillsammans med dess CSS och en bild.

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

Accessloggen för www.example-shop.com.

Uptime-kontrollen

En kund lägger till en URL i en uptime-bevakning i CoreDash. Därefter anropar uptime-kontrollen den URL:en var 30:e minut: en CoreDash-server varje heltimme, den andra varje halvtimme. Det blir 48 kontroller om dagen för varje bevakning.

Varje kontroll består av en GET-request efter HTML-koden, plus ytterligare en för varje omdirigering, upp till fem i rad. Den läser som mest in de första 256 KB av svaret och laddar inga bilder, skript eller CSS. Har kunden angett IP-adressen till sajtens server skickar varje kontroll även en request direkt till den servern, förbi CDN:et, för att se om själva servern svarar. CoreDash sparar statuskoden och svarstiderna, och ingenting av själva sidan.

cRUM-auditen

cRUM-auditen är CoreDashs hastighetstest av en enskild sida. Den körs när en kund öppnar sidans rapport i CoreDash, och igen när de startar om testet eller växlar mellan mobil och dator. Det finns inget schema: en sida vars rapport ingen öppnar får aldrig någon audit.

Auditen läser in sidan en gång i Chrome, med cachen avstängd, som en förstagångsbesökare på en mobil eller dator. Därefter hämtar Chrome allt som sidan frågar efter – CSS, skript och bilder – precis som för vilken besökare som helst. I din logg ser du requesten för sidan med _cache_bust= och en tidsstämpel tillagd i URL:en, följt av alla requests för dess filer, samtliga med audit-user agenten.

Filer som sidan läser in från en annan sajt, till exempel en webbfont eller ett analysskript, hämtas också med audit-user agenten. Har du en sådan fil på din server kan CoreDash dyka upp i din logg för en sida som inte är din. Varje sådan request är en del av att läsa in sidan som kunden har valt.

Så kontrollerar du att en request kom från CoreDash

CoreDash publicerar adresserna som deras botar skickar ifrån på app.coredash.app/bot/ips.json. Det är en JSON-fil i samma format som Google använder för adresserna till sina crawlers, med ett service-fält som anger ”uptime” eller ”audit” för varje adress. En request med en CoreDash-user agent från en adress som inte finns i den filen kommer inte från CoreDash.

Adresserna kan ändras: CoreDash lägger till eller flyttar servrar då och då. Kontrollera alltid mot filen så som den ser ut nu. Dess creationTime ändras vid varje uppdatering av listan.

CoreDash-kunder har ytterligare ett sätt att kontrollera. Varje projekt har sin egen hemliga bot-token, och båda botarna skickar med den i headern X-CoreDash-Bot när de besöker projektets egen sajt eller en av dess underdomäner. Besök på andra sajter skickar ingen token. Du hittar din token i CoreDash under Project settings, på fliken ”CoreDash bot token”.

Släpp igenom CoreDash-botarna i brandväggen

En brandvägg eller ett CDN kan ibland missta CoreDash-botarna för botar den inte litar på och blockera dem. Vill du släppa in dem tillåter du requests vars user agent börjar med CoreDash/. Ligger sajten i ditt eget CoreDash-projekt är en regel för din bot-token säkrare, eftersom bara ditt projekts requests har den. Tillåt bara IP-adresserna om inget annat fungerar, och tänk på att de kan ändras. Släpp igenom CoreDash-botarna i ditt CDN eller din brandvägg beskriver stegen för Cloudflare och AWS WAF.

Varför CoreDash-botarna inte läser robots.txt

En robots.txt-fil talar om för crawlers vilka sidor de får besöka när de söker igenom en sajt på egen hand. Det gör aldrig CoreDash-botarna. Varje besök startas av en kund, på samma sätt som Lighthouse läser in en sida när någon kör ett test. Därför läser ingen av botarna robots.txt, och en Disallow-rad stoppar dem inte.

Stoppa CoreDash-botarna på din sajt

Har du frågor om botarna eller vill du slippa dem på din sajt kontaktar du CoreDash via kontaktsidan. Skicka med din URL och en CoreDash-rad från din logg, så stoppar CoreDash besöken på din sajt.

CoreDash-botar: user agents, IP-lista och vad de anropar Core Web Vitals CoreDash-botar: user agents, IP-lista och vad de anropar