Integrare Sentry con WordPress per error tracking avanzato

Sentry per WordPress: integrazione

Sentry è una piattaforma di error tracking famosa nel mondo dev moderno. Supporta PHP, JavaScript, mobile, e offre breadcrumb, source map e issue grouping potenti. Vediamo come integrarla con WordPress e affiancarla a WP Error Monitor.

Vantaggi di Sentry

Issue grouping automatico (gli errori simili vengono raggruppati), breadcrumb (sequenza di azioni precedenti l’errore), source map (debug JS con codice originale), release tracking (associa errori a deploy specifici), assegnazione e workflow team. La free tier (5k eventi/mese) è sufficiente per siti piccoli.

Setup PHP per WordPress

Installa l’SDK PHP via Composer: composer require sentry/sentry. In mu-plugin crea wpem-sentry-init.php che chiama Sentry\init(['dsn' => 'https://...']). L’SDK aggancia set_exception_handler e set_error_handler. WP Error Monitor lo rileva e non duplica gli eventi: il chain pattern è rispettato (entrambi catturano, entrambi inoltrano).

Integrazione JS frontend

Aggiungi Sentry Browser SDK via wp_enqueue_script con DSN come opzione. Errori JS finiscono sia in Sentry (con stack trace + breadcrumb) sia in WP Error Monitor (se snippet attivo). Decidi quale è la fonte primaria e configura snooze sull’altro per evitare doppia notifica.

Release tracking e regression detection

Sentry distingue gli errori per 'release' (versione deployata). Su WordPress configura release con la versione e l’hash commit Git. Così' Sentry segnala 'regression': errore che era stato risolto in release X torna in release Y. Questa feature da sola giustifica l’uso di Sentry per team con deploy frequenti. WP Error Monitor offre cosa simile con 'tag deploy_id’ negli eventi.

Performance monitoring (APM Sentry)

Sentry ha aggiunto APM nel 2021: tracing distribuito con span PHP, DB query, HTTP call. Con traces_sample_rate=0.1 hai sample del 10% delle richieste con span dettagliati. Pro: tutto in un'unico tool. Contro: meno maturo di New Relic/Datadog. Coesistenza con WP Error Monitor: Sentry per APM + tracing, WP Error Monitor per errori WP-specifici e canale notifiche.

Issue grouping intelligente

Sentry raggruppa errori 'simili' in un solo issue: stesso file+riga+stack trace top frame. Quando un'utente clicca 'Resolve' su un'issue, tutte le ricorrenze future tornano in dashboard come 'regression'. Algoritmo grouping personalizzabile via fingerprint: per dare granularità diversa puoi aggiungere user_id, locale, ecc. Ottimo per gestire migliaia di errori unique senza essere sommersi. WP Error Monitor implementa logica simile con hash su (message, file, line) e 'first_seen / last_seen' tracking. Sentry è più sofisticato (ML-based grouping), WP Error Monitor più semplice ma deterministico.

Sentry Performance vs Sentry Errors

Sentry ha due prodotti: Errors (gratuito 5k events/mese) e Performance (APM, pagamento). Errors copre il caso d’uso WP Error Monitor (errori), Performance aggiunge transaction tracing. Per WordPress base, Sentry Errors free tier + WP Error Monitor copre 95% dei casi. Per scaling con APM serve passare a piano team (26 USD/mese) o team-plus (80 USD/mese). Calcolo ROI: piano team conviene se eviti 1h/mese di downtime grazie a APM proactive (1h downtime ecommerce = decine di migliaia euro persi tipicamente).

Sentry self-hosted per dati sensibili

Quando i dati nei stack trace sono sensibili (es. sanitari, finanziari) Sentry self-hosted è la scelta. Setup: docker-compose Sentry on-prem, storage Cassandra (eventi) + Redis (cache) + PostgreSQL (metadata). Hardware: 8GB RAM minimum, 50GB SSD per 1M events/mese. Manutenzione tua: backup DB, upgrade ogni 3-6 mesi. Costo TCO: ~150€/mese hosting + 4h/mese ops. Vale se hai vincoli compliance stretti, altrimenti Sentry SaaS conviene per il time saved. WP Error Monitor offre opzione self-hosted equivalente nei piani enterprise.

Procedura passo-passo

  1. Crea progetto su Sentry e ottieni il DSN.
  2. Su staging installa l’SDK PHP via Composer in mu-plugins.
  3. Crea mu-plugin wpem-sentry-init.php con la chiamata Sentry\init.
  4. Configura environment, release, traces_sample_rate.
  5. Aggiungi Sentry Browser SDK al frontend (wp_enqueue_script).
  6. Genera un'errore di test e verifica che arrivi su Sentry.
  7. Configura WP Error Monitor per filtrare gli eventi che Sentry già gestisce (WPEM_IGNORE_IF_SENTRY=true).
  8. Definisci runbook: Sentry per analisi tecnica, WP Error Monitor per visibilità cliente.
  9. Configura release in Sentry init con build hash.
  10. Abilita Sentry APM con sampling rate basso (0.1).

Errori comuni e come risolverli

  • DSN non valido: Copia il DSN intero da Sentry settings, è una URL completa.
  • Eventi non arrivano: Probabile firewall outbound: aggiungi *.sentry.io alle whitelist.
  • Issue grouping troppo aggressivo: Configura fingerprint custom in beforeSend per separare meglio.
  • Sentry release non rilevata: Hash non passato correttamente: hardcode per test.
  • APM rallenta sito: Sampling rate troppo alto: scendi a 0.01.

Domande frequenti

D: Sentry self-hosted possibile?
R: Sì, self-hosted su VM dedicata: utile per dati sensibili.

D: Costi Sentry?
R: Free fino 5k events/mese, poi 26$/mese per piano team.

D: WP Error Monitor inoltra a Sentry?
R: Sì, via webhook: configura il forward in impostazioni notifiche.

D: Sentry self-hosted limitazioni?
R: Tutte le feature, ma manutenzione è tua: serve devops dedicato.

D: Posso migrare da Sentry a WP Error Monitor?
R: Sì, via webhook bridge che inoltra eventi.

Hai bisogno di aiuto?

Se vuoi affidare il monitoraggio WordPress al team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?