SiteGround CDN - Configurazione, headers, e svuotamento
Questo tutorial riguarda i seguenti argomenti:
La nostra Content Delivery Network – CDN – è sviluppata specificamente per i nostri clienti e consente di memorizzare nella cache e replicare i loro contenuti in molteplici località. Indirizza le richieste al sito verso la posizione CDN SiteGround più vicina al visitatore, che a sua volta servirà il contenuto memorizzato nella cache (se il contenuto specifico è stato precedentemente memorizzato nella cache) o lo inoltrerà al server di hosting di origine. Qui, daremo un’occhiata più da vicino al modo in cui il servizio opera e gestisce la memorizzazione nella cache.
Operazione
Il servizio di CDN di SiteGround può essere attivato solo se il nome di dominio usa i DNS Centralizzati di SiteGround.
Questo è come la richiesta è gestita con la CDN SiteGround attiva:
- I visitatori richiedono di visitare una pagina web in particolare;
- La richiesta del visitatore viene indirizzata alla location della CDN SiteGround più vicina;
- Se la pagina web è stata visitata di recente, dovrebbe essere memorizzata in cache e quindi il visitatore otterrà una risposta dalla versione in cache della pagina (Il caching delle pagine generate dinamicamente è disponibile solo per i piani Premium della CDN SiteGround. Il piano gratuito della CDN SiteGround memorizza in cache solo file statici come file CSS, file JS, immagini, file HTML statici, ecc.);
- Se la pagina non è in cache, la CDN SiteGround invierà la richiesta al server di origine del dominio (es. host server), il quale servirà la richiesta alla CDN, dove la pagina verrà memorizzata in cache e poi inviata al visitatore (se è memorizzabile).
Tempo di scadenza predefinito
Il tempo predefinito di mantenimento delle risorse del sito nella cache CDN di SiteGround è di 12 ore. Questo tempo può essere sovrascritto dal header Cache-Control:max-age inviato dall’applicazione, quindi anche il cliente può gestire il tempo della cache dal suo lato.
Località della CDN SiteGround
Le località della CDN di SiteGround sono consultabili sul nostro sito web:
https://it.siteground.com/data-center
Assicurati di familiarizzare con le location esatte della CDN SiteGround.
Protezione dei Dati
Potresti essere legalmente obbligato, ai sensi della legislazione sulla privacy o sulla protezione dei dati, a proteggere i dati personali degli utenti del tuo sito web. Ciò crea casi in cui la memorizzazione nella cache non dovrebbe essere utilizzata. Ad esempio, nella maggior parte delle situazioni in cui quando un utente è connesso a un sito web dovrebbe visualizzare informazioni personalizzate, il che è qualcosa con cui la cache interferisce. Esempi importanti sono le pagine di pagamento o le pagine del carrello, che non dovrebbero essere memorizzate nella cache. Ecco perché per impostazione predefinita abbiamo escluso di default un numero di indirizzi dalla cache CDN di SiteGround. Gli URL esclusi sono:
wp-login, preview=true, wp-cron.php, xmlrpc.php, status.php, update.php, install.php, admin, user, info, flag, ajax, aha, cart, contact, domainmap_action, task=registration, register, view=registration|administrator|remind|login, /admin/content/backup_migrate/export
La lista può essere aggiornata con altre URL che rispondono agli stessi criteri.
Raccomandiamo di controllare che le pagine che contengono dati personali vengano esclude di default, facendo riferimento alle URL qui sopra.
Cookies
Monitoriamo se il tuo browser abbia i seguenti cookies e che escludano la cache se presenti: wordpress_logged_in_, yith_wcwl_products, wp-postpass_, edd_items_in_cart=1, it_exchange_session_, wp_woocommerce_session, woocommerce_cart_hash, woocommerce_items_in_cart=1, wpSGCacheBypass=1
Per alcuni, monitoriamo il valore del cookie, mentre per altri solo il cookie stesso è sufficiente.
Intestazioni di caching supportate
La cache della CDN di SiteGround si basa largamente sulle intestazioni. Pur avendo intestazioni proprie, seguiamo anche le pratiche migliori e supportiamo gli headers standard che la maggior parte dei CMS usa. Queste includono:
- Cache-Control: no-cache – passare questo header dice al nostro sistema di non memorizzare in cache questa richiesta;
- Cache-Control: max-age – memorizzeremo in cache la pagina per il tempo specificato in secondi definito da max-age. Se impostato a 0 non metteremo in cache la pagina;
- Expires – Stessa cosa del max-age. Si raccomanda di utilizzare max-age invece che Expires;
- Set-Cookie – la pagina non verrà messa in cache se la risposta include questo header HTTP;
- X-Accel-Expires – memorizziamo in cache la pagina per i secondi specificati. Se impostato a 0 non metteremo in cache la pagina;
Se stai sviluppando il tuo script o usando un’applicazione personalizzata, puoi escludere le URL semplicemente usando l’header appropriato:
<php header(“Cache-Control: no-cache”); ?>
Oppure, puoi stabilire per quanto tempo le pagine dovrebbero essere mantenute in cache:
<php header(“Cache-Control: max-age=6000”); ?>
Svuotare la cache del CDN di SiteGround
Puoi iniziare la pulizia di tutte le risorse memorizzate in cache manualmente da Site Tools > Velocità > SiteGround CDN. Nota che cancellando tutta la cache globalmente potrebbe impiegare fino a 180 secondi.
Svuotare la Cache Dinamica
Se sei un utente WordPress, il modo migliore è avere il plugin Speed Optimizer installato e attivato. Nella scheda Cache, troverai un pulsante per pulirla manualmente. Nella maggior parte dei casi, lasciare l’opzione Pulizia Automatica dovrebbe essere sufficiente. In aggiunta, puoi usare il comando WP-CLI (che trovi nel plugin) per svuotare la cache dinamica:
wp sg purge
Oltre al nostro plugin WordPress, puoi pulire la cache manualmente da Site Tools > Caching.
Testare la cache del CDN di SiteGround
Siccome la CDN di SiteGround lavora badandosi sulle intestazioni, l’approccio raccomandato per testare se sta funzionando o no è fare una richiesta al sito e poi ispezionare gli headers restituiti. A questo proposito, puoi usare la tab Network dello strumento “Ispeziona” del tuo browser browser, curl o uno strumento online come Online Curl (https://onlinecurl.com) con l’opzione di ricevere le intestazioni del sito. Poi, controlla il valore dei seguenti headers:
- x-sg-cdn: 1 – se il valore di questo header è “1” allora la CDN di SiteGround è abilitata
- x-proxy-cache: HIT – questo header conferma che la tua pagina è stata servita con successo dalla cache
- x-proxy-cache: MISS – la richiesta è servita dinamicamente. Ricarica la pagina e controlla le intestazioni di nuovo. O la tua cache non è attiva oppure è la prima volta che la pagina viene richiesta
- x-proxy-cache: BYPASS – la richiesta è servita dinamicamente perché la cache è stata istruita a saltarla. La presenza di questo header significa che sei o sei loggato nel sito, oppure stai testando una URL della nostra lista di esclusione di default, o hai un cookie nel tuo browser che dice al nostro sistema di servire questa pagina dinamicamente