AI-crawlertracking installeren
Stapsgewijze installatiegidsen voor Cloudflare, Vercel, WordPress, eigen Node-servers, Webflow en Shopify.
Deze pagina loopt elk installatiepad klik voor klik door. Wat crawlertracking meet en hoe verificatie werkt, lees je in AI-crawlers.
Kies de gids die past bij waar je site draait:
| Jouw setup | Gebruik deze gids |
|---|---|
| Site zit achter Cloudflare (orange-cloud-proxy) | Cloudflare Worker |
| Next.js-app op Vercel (of zelf gehost Next.js) | Vercel / Next.js-middleware |
| WordPress-site | WordPress-plugin |
| Zelfgebouwde site op eigen servers (AWS, GCP, Azure, VPS, containers) | Eigen server / Node |
| Webflow-site | Webflow |
| Shopify-winkel | Shopify |
Voordat je begint: genereer een sitesleutel
Elke installatie heeft een sitesleutel nodig, welk platform je ook gebruikt:
- Ga in de app naar AI-crawlers → Tracking installeren.
- Klik op Sitesleutel genereren. Geef de sleutel een naam en, het liefst, het domein waarvoor hij gaat rapporteren; dat domein versterkt ook de verificatie van gesigneerde crawlers voor die site.
- Kopieer beide waarden uit de bevestigingsdialoog: de sleutel-ID en
het signeergeheim (het begint met
ctk_). Het geheim wordt één keer getoond; raak je het kwijt, gebruik dan Vernieuwen bij de sleutel om een vervangend geheim te genereren.
Houd het signeergeheim privé: iedereen die het heeft kan vervalste verkeersmeldingen voor je site indienen. Commit het niet naar een publieke repository en plak het niet in client-side code.
Cloudflare Worker
Gebruik deze route wanneer je DNS bij Cloudflare staat en de site via de proxy loopt (de orange-cloud-schakelaar). Het is de meest complete optie: hij ziet elk verzoek aan de edge, rapporteert echte HTTP-statuscodes en werkt ongeacht wat er achter Cloudflare draait.
- Open op AI-crawlers → Tracking installeren het tabblad Cloudflare en kopieer het snippet.
- Vervang
SITE_KEY_IDenctk_SITE_KEY_SECRETin het snippet door je sleutel-ID en signeergeheim. - Ga in het Cloudflare-dashboard naar
Workers & Pages → Create → Create Worker. Geef hem een naam
(bijvoorbeeld
ai-crawler-tracker) en klik op Deploy om de lege worker aan te maken. - Klik op Edit code, vervang het gegenereerde voorbeeld door je snippet en klik opnieuw op Deploy.
- Koppel de worker aan je site: open bij de worker Settings →
Domains & Routes → Add → Route, kies je zone en voeg de route
example.com/*toe. Wordt je site ook geserveerd opwww.example.com, voeg dan een tweede route toe voorwww.example.com/*. - Klaar: geen codewijzigingen aan je site. De worker geeft elk verzoek ongewijzigd door aan je origin en rapporteert passende bezoeken op de achtergrond.
Twee dingen om te controleren:
- De route moet alle paden dekken (
/*), anders blijven crawlerbezoeken aan niet-geroutete pagina's onzichtbaar. - Draait er al een worker op die routes, dan voert Cloudflare maar één worker per route uit; voeg de logica van het snippet samen met je bestaande worker in plaats van een tweede toe te voegen.
Vercel / Next.js-middleware
Gebruik dit voor een Next.js-app op Vercel. Hetzelfde bestand werkt ook op zelf gehost Next.js.
- Open op AI-crawlers → Tracking installeren het tabblad Vercel / Proxy en kopieer het snippet.
- Maak in je Next.js-repository
middleware.tsaan in de projectroot (of insrc/als je app daar staat) en plak het snippet erin. - Vervang
SITE_KEY_IDenctk_SITE_KEY_SECRETdoor je sleutel-ID en signeergeheim. - Heb je al een
middleware.ts, voeg dan geen tweede bestand toe; Next.js voert er maar één uit. Kopieer het helperblok van het snippet naar je bestaande bestand, roep de rapportagelogica ervan aan aan het begin van je middlewarefunctie en zorg dat jematcher-configuratie nog steeds alle paden dekt. - Commit en deploy.
Let op:
- Middleware draait voordat het antwoord bestaat, dus events rapporteren
hun HTTP-status als
unknown. Dat is verwacht gedrag; foutinzichten vereisen de Cloudflare- of eigen-serverinstallatie. - Op Vercel komt het bezoekers-IP uit een door het platform gezette header en is het betrouwbaar. Host je Next.js zelf achter je eigen proxy, zorg er dan voor dat de forwarded-IP-header die het snippet leest door jouw proxy wordt gezet en niet vanaf de client wordt doorgegeven.
WordPress-plugin
Gebruik dit voor elke WordPress-site waarop je plugins kunt installeren.
- Open op AI-crawlers → Tracking installeren het tabblad WordPress en klik op WordPress-plugin downloaden.
- Ga in WordPress-admin naar Plugins → Nieuwe toevoegen → Plugin uploaden, kies de gedownloade zip, klik op Nu installeren en daarna op Activeren.
- Ga naar Instellingen → AI Crawler Tracker en vul alle drie de
velden in:
- Tracker base URL:
https://app.citlyze.com - Key ID: je sleutel-ID
- Signing secret: je
ctk_...-geheim De plugin rapporteert niets zolang de basis-URL leeg is.
- Tracker base URL:
- Klik op Testgebeurtenis versturen (“Send test event”). Je hoort een "connected"-bevestiging te zien; dat bewijst je gegevens en de verbinding end-to-end.
Kanttekening: paginacaches en CDN's kunnen verzoeken beantwoorden zonder WordPress überhaupt uit te voeren, waardoor crawlerbezoeken worden ondergeteld. Is je site zwaar gecachet achter Cloudflare, kies dan liever de Cloudflare-Worker-installatie.
Eigen server / Node
Gebruik dit voor zelfgebouwde sites die je zelf host: AWS, Google Cloud, Azure, een VPS of containers. Het snippet is een Express-achtige middleware voor Node 20 of nieuwer (hij draait ook op Bun en Deno).
- Open op AI-crawlers → Tracking installeren het tabblad Eigen server / Node en kopieer het snippet.
- Sla het op als
aeo-tracker.mjsnaast het entrypoint van je server. - Vervang
SITE_KEY_IDenctk_SITE_KEY_SECRETdoor je sleutel-ID en signeergeheim. Werkt je team liever met omgevingsvariabelen, lees ze dan in in de twee constanten bovenaan het bestand; houd het geheim alleen buiten versiebeheer. - Registreer de middleware vóór je routes:
import { aeoCrawlerTracker } from "./aeo-tracker.mjs"; app.use(aeoCrawlerTracker()); - Staat je server achter een load balancer of reverse proxy (nginx, ALB),
configureer Express dan om die te vertrouwen (bijvoorbeeld
app.set("trust proxy", 1)), zodat de middleware het echte client-IP rapporteert in plaats van dat van de proxy. De verificatie van de crawleridentiteit controleert dat IP. - Deploy. De middleware rapporteert nadat elk antwoord is afgerond, voegt dus geen latency toe en levert echte HTTP-statuscodes mee.
Geen Express? De geretourneerde handler neemt gewone
(req, res, next)-argumenten aan en past zich aan aan Fastify, Koa of
Node's http-server. Voor heel andere talen (Python, Go, PHP, Ruby, ...)
implementeer je het
signed-beacon-protocol;
het is één gesigneerde HTTPS-POST per passend verzoek.
Webflow
Webflows eigen hosting kan geen server-side code draaien, en browser-side scripts zien AI-trainingscrawlers niet; tracking wordt daarom geïnstalleerd op een proxylaag vóór Webflow:
- Webflow ondersteunt zelfbeheerde reverse proxy's op Enterprise-abonnementen; regel dit met je Webflow-contactpersoon en leid je domein via je proxy (Cloudflare, CloudFront, Fastly of je eigen nginx).
- Installeer de tracker op die proxylaag:
- Proxy op Cloudflare → volg de gids Cloudflare Worker.
- Je eigen Node-proxy → volg de gids Eigen server / Node.
- Al het andere → implementeer het signed-beacon-protocol in je proxy.
- Controleer je installatie zoals hieronder beschreven.
Webflow Cloud-apps zijn geen route naar tracking voor de hele site: ze bedienen alleen verzoeken onder hun mount-pad en zien dus nooit crawlerbezoeken aan je gewone pagina's.
Shopify
Standaard Shopify-winkels kunnen deze tracker niet draaien: Shopify laat merchants geen server-side code uitvoeren op storefront-verzoeken en ondersteunt niet dat je een proxy (zoals Cloudflare) voor een winkel zet. Browser-side scripts zijn geen uitweg: AI-trainingscrawlers voeren nooit JavaScript uit, en een browserscript zou je signeergeheim blootstellen.
Wat je wel kunt doen:
- Headless storefronts gebouwd op Hydrogen en gehost op Oxygen (of elke zelf gehoste setup) draaien server-side code; sluit de logica van het snippet voor Eigen server / Node aan in de server-request-handler van je storefront.
- Voor standaardwinkels werken je andere Citlyze-metingen (prompttracking, citaties, GEO-audits) gewoon, waar de winkel ook wordt gehost.
Je installatie controleren
- Op AI-crawlers → Tracking installeren heeft de sitesleuteltabel een kolom Laatste gebeurtenis. Die wordt bijgewerkt zodra je installatie de eerste geaccepteerde melding aflevert; crawlerbezoeken en AI-referral-kliks tellen allebei.
- WordPress-gebruikers kunnen de aflevering meteen bevestigen met Testgebeurtenis versturen (testevents verifiëren gegevens en verbinding, maar werken Laatste gebeurtenis niet bij).
- Geef het even de tijd: op sites met weinig verkeer kan het eerste echte crawlerbezoek uren of een paar dagen duren. Zodra events binnenkomen, vult AI-crawlers → Analytics zich.
- Komt er na een paar dagen niets binnen, controleer dan opnieuw of de sleutel-ID en het signeergeheim in je installatie horen bij een actieve (niet-ingetrokken) sleutel, en of je route of middleware alle paden dekt.