I picchi di traffico non toccano solo ai siti aziendali. Anche un modesto negozio WooCommerce può veder triplicare il suo traffico dopo un annuncio pubblicitario, un’email o una promozione stagionale ben mirati.

Prendiamo ad esempio il Black Friday. Secondo NPR, i consumatori statunitensi hanno speso 10,8 miliardi di dollari online in un solo giorno nel 2024 e anche i negozi più piccoli ne hanno risentito. Una campagna che di solito porta qualche centinaio di visite può improvvisamente spingere migliaia di persone verso il checkout.

Per i clienti di Kinsta, non è necessario cambiare livello di hosting ogni volta che ciò accade. Questa guida illustra tre opzioni efficaci: l’utilizzo di un add-on per le prestazioni di PHP, la massimizzazione della cache e la riduzione del carico del database.

1. Usa l’add-on per le prestazioni PHP

La maggior parte dei picchi di traffico sovraccarica i siti perché PHP raggiunge la sua capacità di elaborare le richieste. Quando si verificano troppe visualizzazioni di pagine non memorizzate o azioni di checkout in una sola volta, i thread si accumulano e i visitatori iniziano a vedere errori, rallentamenti o carrelli abbandonati.

L'add-on per le prestazioni PHP
L’add-on per le prestazioni PHP

È qui che l’add-on per le prestazioni PHP di Kinsta può rivelarsi davvero utile. Invece di passare a un piano di hosting di livello superiore, puoi aumentare i thread PHP e l’allocazione della memoria temporaneamente durante gli eventi di punta. Il costo è pro-rata, quindi pagherai le risorse extra quando ne avrai bisogno e niente di più.

change php performance
Aggiungere più thread e memoria con l’add-on per le prestazioni di PHP.

Prendiamo ad esempio un piccolo negozio WooCommerce che organizza un’offerta flash di 48 ore. La campagna e-mail triplica il traffico durante la notte e, mentre la cache assorbe la maggior parte delle visite alla pagina del prodotto, le richieste di pagamento aumentano.

Senza thread PHP aggiuntivi, i carrelli si bloccano e gli ordini falliscono. Gli studi dimostrano che un acquirente online su tre abbandona il carrello se le pagine si caricano troppo lentamente, e questo può tradursi in migliaia di euro di vendite perse. Abilitando il componente aggiuntivo per le prestazioni di PHP il giorno prima dell’inizio dell’offerta, il negozio può mantenere il flusso di cassa senza intoppi, e l’add-on può essere disattivato in seguito per evitare di pagare la capacità inutilizzata.

rimuovere l'add-on php performance
È possibile rimuovere l’add-on per le prestazioni PHP quando il periodo di attività sarà terminato.

2. Ottimizza la cache prima di modificare il piano

Prima di scalare le risorse, assicurati che la cache stia facendo il lavoro pesante. Il caching serve versioni precostituite delle tue pagine, in modo che i visitatori non debbano colpire il PHP a ogni richiesta. Se è configurato correttamente, la maggior parte delle visite alle pagine delle categorie e dei prodotti non tocca affatto il server.

Il problema è che i negozi spesso compromettono il proprio caching senza rendersene conto. I plugin o i temi possono forzare le intestazioni “no-cache”, le pagine di checkout e del carrello possono bypassare inutilmente la cache o le impostazioni del CDN possono essere configurate in modo errato. Ognuno di questi problemi consuma le risorse di PHP e rallenta il tuo negozio.

Un esempio può aiutare a illustrare rapidamente questo concetto. Supponiamo che un piccolo negozio di abbigliamento organizzi una svendita estiva e veda un improvviso picco di visite. Le pagine dei prodotti dovrebbero essere memorizzate nella cache, ma poiché il tema ha aggiunto le intestazioni “no-cache”, ogni singola richiesta del visitatore viene eseguita da PHP.

I tempi di caricamento superano i tre secondi e gli acquirenti iniziano ad abbandonare il sito. Dopo aver corretto le intestazioni e confermato le risposte “HIT” nella loro CDN, lo stesso livello di traffico impatta a malapena su PHP, lasciando le risorse disponibili per le vere attività di carrello e di checkout.

Per applicare questo metodo al tuo negozio, esegui una rapida checklist della cache:

  • Controlla i principali bypass della cache per individuare i salti non necessari.
  • Esegui un test in un browser privato o in incognito per fare la stessa esperienza dei tuoi nuovi visitatori.
  • Verifica che le intestazioni della cache funzionino e cerca “HIT” al posto delle risposte di origine.

Livelli di caching in Kinsta

Kinsta gestisce automaticamente diversi livelli di caching, ma puoi regolare o eliminare ciascuno di essi all’interno di MyKinsta:

Caching a livello di server

Il caching delle pagine a livello di server di Kinsta memorizza le pagine HTML complete sul server in modo che PHP non debba ricostruirle a ogni visita. È abilitato per impostazione predefinita su tutti i siti.

server caching

Puoi anche cancellare la cache andando su MyKinsta > Siti WordPress > nome del sito > Cache > Cache del server e poi cliccando su Cancella cache.

Impostazioni della cache in MyKinsta
Regolare le impostazioni della cache del server all’interno di MyKinsta.

Edge caching

L’Edge caching esegue il push delle stesse pagine precostruite verso la rete globale di Cloudflare, servendole dal data center più vicino a ciascun visitatore. Puoi attivarlo o disattivarlo in Siti WordPress > Edge Cache in MyKinsta.

Cache Edge in MyKinsta
È possibile attivare e disattivare la cache Edge in MyKinsta.

Questo riduce drasticamente la latenza e toglie ancora più carico al tuo server di origine.

Cache del CDN

Il CDN integrato di Kinsta memorizza nella cache i file statici, come immagini, CSS e JavaScript, sull’edge.

cache cdn
Le impostazioni di cache del CDN possono essere regolate anche in MyKinsta.

Puoi configurare l’ottimizzazione delle immagini ed escludere file specifici.

Svuotare la cache manualmente

Per svuotare tutte le cache in una volta (server, edge e CDN), clicca su Svuota tutte le cache in MyKinsta > Cache, oppure utilizza il comando WP-CLI wp kinsta cache purge –all.

Svuotare tutte le cache in MyKinsta
Puoi svuotare tutte le cache in una volta sola in MyKinsta.

3. Riduci l’affaticamento inutile del database

Anche se PHP e cache sono in buono stato, il database può comunque avere prestazioni ridotte. Ogni filtro di prodotto, pagina di categoria o query di ricerca aumenta il carico di lavoro e, nei periodi di traffico elevato, questa pressione si moltiplica rapidamente.

Ad esempio, immagina un negozio di articoli per la casa con centinaia di prodotti in promozione per il weekend di festa. Le pagine delle categorie caricano tutti gli articoli in una volta sola e ogni opzione di filtraggio comporta pesanti query al database.

Quando il traffico aumenta, le pagine si bloccano e gli acquirenti frustrati se ne vanno uno dopo l’altro. Tuttavia, impaginando correttamente i risultati dei prodotti e rimuovendo i filtri inutilizzati, il negozio può ridurre drasticamente il carico del database. Le richieste di pagamento rimangono veloci, anche quando il traffico è in aumento.

Ecco alcuni semplici modi per mantenere il database snello:

  • Ripulisci le opzioni caricate automaticamente. Le vecchie impostazioni dei plugin e i dati inutilizzati possono accumularsi nella tabella wp_options e rallentare le query. In Kinsta, puoi ispezionare queste voci tramite phpMyAdmin (disponibile in MyKinsta > Siti > Info > Accesso al database) o collegarti tramite SSH ed eseguire una query come SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC; per identificare le opzioni autocaricate di grandi dimensioni.
  • Elimina i filtri dei prodotti inutilizzati. Nelle impostazioni di WooCommerce o del tuo plugin per i filtri, rimuovi tutti i filtri (colore, marca, taglia, ecc.) che non influenzano le conversioni. Ogni filtro attivo aggiunge query alle pagine dell’archivio prodotti. Utilizza lo strumento APM di Kinsta per individuare le query che aumentano quando gli acquirenti utilizzano i filtri e disattiva quelle che non valgono il costo.
  • Esegui la paginazione dei loop lunghi. Il caricamento di centinaia di prodotti o di post in una volta sola mette a dura prova il database. Nel tuo tema o nei template personalizzati, utilizza WP_Query con un limite di posts_per_page (ad esempio 20 o 30) e attiva la paginazione o i pulsanti “carica di più”. Mantieni le griglie dei prodotti leggere in modo che le pagine vengano visualizzate rapidamente anche durante i picchi.
  • Controlla i transient e i plugin di ricerca. Gli strumenti di ricerca mal configurati spesso colpiscono il database più del necessario. I transient spesso restano in wp_options e possono aumentare nel tempo. Puoi eliminare quelli scaduti in modo sicuro utilizzando un plugin come WP-Optimize o direttamente in phpMyAdmin con DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';. Ti consigliamo come farlo nella nostra guida per velocizzare WordPress.

A questo punto ti starai chiedendo: quando è bene prendere in considerazione Redis? Solo se i tuoi strumenti di monitoraggio (come APM) mostrano query identiche ripetute o un tempo di database costantemente elevato per richiesta. Come regola generale, la maggior parte dei negozi non ha bisogno di Redis se la cache e il PHP sono regolati correttamente. Ma se le entrate a rischio previste superano il costo, può valere la pena attivarlo per quel mese.

La pulizia del database assicura che il tuo negozio non sprechi risorse, lasciando più capacità per le richieste che effettivamente portano vendite.

Controlla le prestazioni con gli strumenti di monitoraggio

La messa in atto di questi rimedi è solo metà del lavoro. Devi anche verificare che funzionino. Strumenti come MyKinsta (in particolare le statistiche incluse) e APM rendono facile individuare i colli di bottiglia, sia che si tratti di thread PHP che si accumulano, di mancanze nella cache o di query di database lente.

strumenti di monitoraggio in MyKinsta
Tieni sotto controllo le prestazioni del sito con MyKinsta.

Controllare queste metriche prima, durante e dopo la campagna ti permette di vedere esattamente dove il tuo sito è in difficoltà e di sapere se le tue modifiche stanno dando i loro frutti.

Riepilogo

Non è necessario un aggiornamento completo dell’hosting per sopravvivere a grandi campagne di offerte o a picchi di traffico. Con la giusta configurazione, i negozi più piccoli possono gestire le richieste improvvise con la stessa efficacia dei negozi più grandi.

Il segreto sta nel combinare tre passi pratici: utilizzare l’add-on per le prestazioni di PHP per coprire i picchi temporanei, assicurarsi che la cache funzioni al massimo in modo che la maggior parte dei visitatori non intacchi il PHP e ripulire i database inutili per mantenere il checkout veloce e affidabile.

Insieme, queste correzioni evitano gli errori 500, riducono i rallentamenti e aiutano i clienti a completare gli ordini. Se stai pianificando una campagna o una promozione stagionale, attiva l’add-on per le prestazioni di PHP in anticipo e abbinalo a un caching efficace e a una regolare manutenzione del database.

Joel Olawanle Kinsta

Joel è uno Frontend developer che lavora in Kinsta come redattore tecnico. È un insegnante appassionato che ama l'open source e ha scritto oltre 200 articoli tecnici principalmente su JavaScript e i suoi framework.