1
Install
2
Set your site key
.env
3
Mount the middleware
Behind a proxy
If Express sits behind nginx, a load balancer or Cloudflare, make sure the real client address reaches it - the SDK readsCF-Connecting-IP, X-Real-IP, True-Client-IP and X-Forwarded-For, in that order.
Without a real address, crawlers cannot be verified against published IP ranges and every hit shows as Unverified.
Response status
Markdown hits carry the realstatusCode; HTML hits usually do not. That is deliberate rather than an oversight - the middleware sees the response before your route has run, so its 200 is a default, and reporting it would log every 404 as a success.
Supply ctx.statusCode only where you have the genuine post-route status.
