Added structured logging to IndexNow service (#28295)
ref https://github.com/TryGhost/Ghost/pull/25773 IndexNow (behind the `indexnow` labs flag) pings api.indexnow.org when posts are published or edited. This adds structured logging so the logs are easier to read and it's clearer how IndexNow is doing: whether pings are landing, and how often it sees rate limits (429) or key rejections (422). Each outcome now logs a `system.event` (indexnow.pinged, api_key_missing, rate_limited, key_validation_failed, ping_failed) plus post_id, post_slug, url, and status_code, matching the shape used by llms/handler.js and upload-size-limit-reporter.js. It's purely additive: error types, catch-and-swallow, and log levels stay the same. The status_code is now reported on every event, including the unexpected-status path where it previously defaulted to 500.
H
Hannah Wolfe committed
6b8a26473a1466dbc5e114c2816d3972786f7137
Parent: 1123fff
Committed by GitHub <noreply@github.com>
on 6/1/2026, 3:53:17 PM