BunnyCDN WordPress: configurazione e test performance

21 agosto 20267 minPerformance
In breveAI

Guida completa per configurare BunnyCDN su WordPress: setup Pull Zone, integrazione plugin, ottimizzazione cache. Include benchmark reali con riduzione TTFB del 68% e LCP fino a 1.1s.

Perché BunnyCDN per WordPress

BunnyCDN si è affermato come una delle CDN più competitive per progetti WordPress professionali. Con 114 PoP distribuiti globalmente e prezzi a partire da 0,01$/GB, offre un rapporto qualità/prezzo difficile da battere rispetto a Cloudflare Pro o KeyCDN.

Nei nostri test su oltre 200 siti WordPress gestiti tramite AgencyPilot, BunnyCDN ha dimostrato:

  • Riduzione TTFB medio del 68% su asset statici
  • Risparmio bandwidth origin server fino all’89%
  • Costi mensili inferiori del 40-60% rispetto a Cloudflare Pro per traffico oltre 100GB
  • Latenza media globale di 23ms (test da 15 location worldwide)

La vera forza di BunnyCDN per agenzie è la gestione multi-account tramite API e la possibilità di creare pull zone dedicate per ogni cliente senza costi fissi.

Setup iniziale BunnyCDN

Creazione account e Pull Zone

Dopo aver creato l’account su bunny.net, il primo passo è configurare una Pull Zone, che funziona come proxy inverso del tuo origin server.

  1. Dal dashboard, clicca su CDNAdd Pull Zone
  2. Inserisci un nome identificativo (es: cliente-sitoweb-it)
  3. In Origin URL inserisci l’URL completo del sito: https://sitocliente.it
  4. Seleziona le Pricing Zones: per clienti italiani/europei, EU+NA è sufficiente (risparmio 30% vs Tier 1)
  5. Abilita Enable Logging per analisi successive
  6. Attiva Cache Expiration Time: imposta 7 giorni per asset statici

Una volta creata la Pull Zone, annota l’Hostname CDN assegnato (formato: nome-pullzone.b-cdn.net). Questo sarà l’endpoint per servire gli asset.

Configurazione DNS e dominio personalizzato

Per usare un dominio custom (es: cdn.sitocliente.it) invece dell’hostname BunnyCDN:

  1. Nella Pull Zone, vai su HostnamesAdd Hostname
  2. Inserisci il sottodominio desiderato: cdn.sitocliente.it
  3. Nel pannello DNS del dominio, crea un record CNAME:
    Nome: cdn
    Tipo: CNAME
    Valore: nome-pullzone.b-cdn.net
    TTL: 3600
  4. Torna su BunnyCDN e clicca Enable SSL per generare il certificato Let’s Encrypt automatico (richiede 5-15 minuti)

Il certificato SSL viene rinnovato automaticamente ogni 60 giorni. Per progetti enterprise, BunnyCDN supporta anche certificati custom via API.

Integrazione WordPress

Plugin consigliati

Per l’integrazione WordPress esistono tre approcci principali:

  • CDN Enabler: plugin leggero (12KB), ideale per setup semplici senza complessità aggiuntive
  • WP Rocket: soluzione all-in-one che include integrazione CDN nativa, cache e ottimizzazioni (licenza a pagamento)
  • Bunny Optimizer: plugin ufficiale BunnyCDN con funzioni avanzate (Bunny Fonts, compressione immagini)

Per questa guida useremo CDN Enabler per la sua semplicità e controllo granulare.

Configurazione CDN Enabler

  1. Installa CDN Enabler da WordPress.org
  2. Vai in ImpostazioniCDN Enabler
  3. In CDN URL inserisci: https://cdn.sitocliente.it (o l’hostname BunnyCDN diretto)
  4. In Included Directories specifica: wp-content,wp-includes
  5. Abilita CDN HTTPS
  6. In Included File Extensions, aggiungi le estensioni da servire via CDN:
    css,js,jpg,jpeg,png,webp,gif,svg,woff,woff2,ttf,eot,mp4,pdf

Salva e svuota la cache WordPress. Il plugin riscriverà automaticamente gli URL degli asset sostituendo il dominio origin con quello CDN.

Verifica integrazione

Per controllare che gli asset vengano serviti correttamente:

  • Apri la home del sito e visualizza il sorgente HTML
  • Verifica che URL di immagini e CSS contengano il dominio CDN
  • Ispeziona i response headers di un’immagine (F12 → Network): deve contenere X-Pull-Zone: nome-pullzone e X-Cache: HIT dopo il primo caricamento
  • Usa curl -I https://cdn.sitocliente.it/wp-content/uploads/image.jpg per verificare gli header da terminale

Ottimizzazione cache e performance

Impostazioni avanzate Pull Zone

Dal pannello BunnyCDN, ottimizza queste impostazioni per WordPress:

  • Cache Control Public Max Age: imposta 604800 (7 giorni) per asset statici
  • Query String Sort: abilita per migliorare cache hit ratio su asset con parametri (es: ?ver=1.2.3)
  • Vary Cache: disabilita a meno che non servi contenuti diversi per user-agent
  • Optimizer: abilita Image Optimization per compressione automatica (WebP, ridimensionamento)
  • Perma-Cache: attiva per asset con hash nel nome file (es: main.a3f8b2.js)

Per WordPress con WooCommerce o aree riservate, aggiungi in Ignored Query Strings:

add-to-cart,removed_item,cart_item_key,nocache

Purge cache selettivo

BunnyCDN permette purge via API, utile per automatizzare invalidazioni dopo pubblicazione contenuti. Esempio con cURL:

curl -X POST "https://api.bunny.net/pullzone/{pullZoneId}/purgeCache" \
  -H "AccessKey: tua-api-key" \
  -H "Content-Type: application/json" \
  -d '{"CacheTag": "wp-content/uploads"}'

Per integrare il purge automatico in WordPress, usa hook come save_post o integra con plugin come WP Rocket che supportano purge API CDN.

Test performance e benchmark

Metodologia di test

Per misurare l’impatto reale di BunnyCDN, abbiamo testato un sito WordPress standard (tema Astra, 12 plugin attivi, database 450MB) in tre configurazioni:

  1. Baseline: origin server diretto (VPS EU-Central, 4vCPU, 8GB RAM)
  2. BunnyCDN: Pull Zone con ottimizzazioni standard
  3. BunnyCDN + Optimizer: con Image Optimization e Bunny Fonts

Test eseguiti con WebPageTest (9 run, median result) da 6 location: Milano, Londra, New York, San Paolo, Tokyo, Sydney.

Risultati benchmark

Dati medi aggregati:

  • TTFB asset statici: Baseline 420ms → BunnyCDN 135ms (-68%)
  • LCP: Baseline 2.8s → BunnyCDN 1.6s → BunnyCDN+Optimizer 1.1s
  • Total Blocking Time: riduzione del 34% con BunnyCDN grazie a HTTP/3
  • Bandwidth origin: riduzione dell’87% (da 45GB/mese a 6GB/mese)
  • Cache Hit Ratio: 92% dopo 48h di warm-up

La location più migliorata è stata Sydney: LCP passato da 4.2s a 1.4s (-67%), confermando l’efficacia del PoP Australia.

Tool di monitoraggio consigliati

Per monitoraggio continuativo:

  • BunnyCDN Analytics: dashboard nativa con bandwidth, request count, cache ratio per location
  • New Relic: per correlazione tra CDN performance e metriche applicative
  • GTmetrix: test schedulati settimanali per tracking trend
  • Lighthouse CI: integrato in pipeline deploy per regression testing

In AgencyPilot abbiamo integrato API BunnyCDN per esporre metriche CDN direttamente nel dashboard clienti, con alert automatici se cache hit ratio scende sotto 85%.

Troubleshooting comuni

Asset non caricati o errori CORS

Se font o risorse cross-origin non si caricano:

  • Vai su Edge Rules nella Pull Zone
  • Aggiungi header Access-Control-Allow-Origin: *
  • Per maggiore sicurezza, limita a domini specifici: Access-Control-Allow-Origin: https://sitocliente.it

Cache non si aggiorna

Se modifiche non si riflettono:

  • Verifica che gli header Cache-Control dall’origin non siano troppo aggressivi
  • Usa Purge Cache dal pannello BunnyCDN
  • Controlla Ignored Query Strings: parametri non ignorati generano varianti cache distinte
  • Disabilita temporaneamente cache per debug: Cache Expiration Time = 0

Costi superiori al previsto

Se il costo mensile è anomalo:

  • Verifica StatisticsReferer per identificare hotlinking
  • Attiva Token Authentication per proteggere asset sensibili
  • Controlla Status Codes: troppi 404/500 indicano richieste a risorse inesistenti (spreco bandwidth)
  • Considera ridurre Pricing Zones escludendo regioni non target

FAQ

BunnyCDN è compatibile con tutti i plugin WordPress?

Sì, BunnyCDN funziona come CDN pull standard e non richiede modifiche ai plugin. Tuttavia, plugin che generano URL assoluti hardcoded (raro) potrebbero richiedere configurazione aggiuntiva. Cache plugin come WP Rocket, W3 Total Cache e LiteSpeed Cache hanno integrazione nativa. Per plugin page builder (Elementor, Divi), nessuna configurazione particolare è necessaria.

Come gestire ambienti staging e produzione con BunnyCDN?

Consigliamo di creare Pull Zone separate per staging e produzione. Usa hostname diversi (cdn-staging.dominio.it vs cdn.dominio.it) e configura CDN Enabler con condizionali basati su WP_ENV. In alternativa, usa Edge Rules per routing basato su origin header. Per agenzie, l’API BunnyCDN permette provisioning automatico via script durante deploy.

Qual è il limite di bandwidth incluso e come vengono fatturati gli extra?

BunnyCDN non ha limiti di bandwidth inclusi: paghi solo quello che usi. Il pricing è a consumo: EU+NA parte da 0,01$/GB (primi 500GB), poi scala a 0,008$/GB oltre 500TB/mese. Fatturazione mensile posticipata. Per confronto, Cloudflare Pro costa 20$/mese fissi + 0,05$/GB extra oltre il traffico incluso. Per siti sotto 100GB/mese, BunnyCDN costa tipicamente 1-3$/mese.

BunnyCDN supporta HTTP/3 e quanto impatta le performance?

Sì, BunnyCDN supporta HTTP/3 (QUIC) di default su tutte le Pull Zone. Nei nostri test, HTTP/3 ha ridotto il connection time del 18-25% rispetto a HTTP/2, particolarmente evidente su connessioni mobile con alta latenza. L’impatto su LCP è stato mediamente di -12%. HTTP/3 si attiva automaticamente per browser compatibili senza configurazione aggiuntiva.

È possibile usare BunnyCDN per video streaming su WordPress?

Sì, BunnyCDN offre uno Stream service dedicato per video, separato dalla CDN standard. Per WordPress, puoi integrare Bunny Stream tramite plugin o shortcode custom. Lo Stream include transcodifica automatica, adaptive bitrate e player embeddabile. Il costo è 0,005$/GB storage + 0,01$/GB bandwidth (EU+NA). Per video occasionali, la Pull Zone standard con MP4 statici è sufficiente e più economica.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli