Hosting e plugin WordPress
Rendere WordPress Veloce e Sicuro: Una Checklist per Prestazioni e Plugin
WordPress è tanto veloce e sicuro quanto ciò che lo alimenta. Ecco la checklist pratica che applichiamo a ogni sito WordPress che ospitiamo: cosa memorizzare nella cache, cosa proteggere e quali plugin meritano il loro posto rispetto a quelli che la piattaforma rende superflui.
WordPress vale tanto quanto ciò che lo fa girare
WordPress alimenta gran parte del web perché è flessibile, ma questa flessibilità è anche il motivo per cui diventa lento e insicuro: un'installazione predefinita interroga il database decine di volte per pagina, trasmette la propria versione e il proprio stack a chiunque guardi e vi invita a stratificare plugin finché le prestazioni e la superficie d'attacco aumentano silenziosamente. Niente di tutto ciò è un difetto di WordPress, quanto piuttosto la conseguenza dell'es അത് eseguirlo su un'infrastruttura che non fa nulla per aiutare.
La buona notizia è che la maggior parte dei problemi si risolve con una manciata di decisioni, e si tratta di scelte relative allo stack piuttosto che ai contenuti. Cacha in modo aggressivo al livello giusto, tieni il database fuori dal percorso critico, esegui solo quei pochi plugin che meritano davvero il loro posto, mantieni tutto aggiornato con le patch e isola il sito in modo che eventuali problemi rimangano circoscritti. Questo post contiene questa checklist, nell'ordine in cui la applichiamo a ogni sito WordPress sulla piattaforma.
Memorizzazione nella cache sul server, non solo in un plugin
Il fattore singolo più determinante per la velocità di WordPress è non eseguire affatto WordPress per la maggior parte delle visite. Una richiesta standard avvia WordPress, esegue i tuoi plugin e interroga il database prima di inviare un solo byte; una cache a pagina intera serve la pagina finita direttamente dal server web alla richiesta successiva, evitando l'intero avvio. Il punto in cui risiede tale cache è fondamentale: un plugin di cache si trova all'interno di PHP, quindi PHP si avvia comunque prima che la cache possa rispondere, mentre una cache a livello di server risponde prima nella richiesta e memorizza le pagine in un formato che il server può rilasciare istantaneamente.
Ogni sito WordPress che ospitiamo gira su LiteSpeed Enterprise con LSCache a livello di server, e il nostro plugin di cache collega correttamente WordPress fin dal primo utilizzo: preinstallato e aggiornato automaticamente, così c'è una cosa in meno da configurare o mantenere aggiornata. Su un'origine non LiteSpeed lo stesso plugin semplicemente non emette intestazioni di intera pagina e si fa da parte mentre la cache degli oggetti continua a funzionare, in modo che un sito migrato non venga mai lasciato a metà configurazione. La regola pratica per la vostra checklist: una sola cache di intera pagina, sul server, e non sovrapponete un secondo plugin di caching: entrano in conflitto.
La cache degli oggetti e il database
Non ogni richiesta può essere una pagina statica. Le sessioni con accesso effettuato, l'amministrazione, la ricerca, i carrelli e qualsiasi frammento personalizzato devono eseguire PHP, e per questi l'obiettivo passa dal saltare l'applicazione al saltare il database. Una cache di oggetti per sito — Redis, nel nostro caso — memorizza i risultati delle letture ripetute del database in memoria, in modo che le stesse opzioni, i transient e le ricerche non vengano interrogati sul database a ogni accesso. L'effetto si nota esattamente dove la cache a pagina intera non può aiutare: un pannello di amministrazione più veloce, carrelli più rapidi e un carico del database notevolmente inferiore in presenza di traffico.
La parola chiave è per-site. Una object cache condivisa significa che un sito sovraccarico o scritto male può eliminare i dati memorizzati nella cache di tutti gli altri e sovraccaricare il database per i siti vicini; una cache dedicata per-site, abbinata a limiti del database per-site, mantiene circoscritto tale impatto. Nella tua lista di controllo, considera una object cache persistente come non opzionale per qualsiasi sito con utenti connessi o un negozio, e diffida dell'hosting in cui viene condivisa tra più tenant.
I plugin che vale la pena usare e quelli che la piattaforma sostituisce
Ogni plugin che aggiungi è codice che viene eseguito sulle richieste e una porta attraverso cui qualcuno potrebbe un giorno passare, quindi l'obiettivo onesto è avere il minor numero di plugin che facciano il massimo. Un buon host elimina la necessità di un'intera categoria di essi: con la memorizzazione nella cache a livello di server, una cache di oggetti gestita e i backup della piattaforma, non ti serve un plugin di caching, un plugin separato per la cache degli oggetti o un plugin di backup; quei lavori sono fatti meglio sotto WordPress, ed eseguirli in aggiunta crea solo conflitti e sovraccarico.
Ciò che vale la pena mantenere è quel piccolo gruppo che apporta una funzionalità autentica: i plugin di cui il vostro sito ha effettivamente bisogno per funzionare e, sulla nostra piattaforma, i due plugin di livello repository che sviluppiamo e forniamo con ogni sito. Il nostro plugin di cache collega WordPress alla cache del server e gestisce la pulizia intelligente in modo che una modifica elimini solo le pagine necessarie. Il nostro plugin di footprint rimuove i segnali che un'installazione predefinita di WordPress trasmette — la versione e il tag generator, gli endpoint di discovery, XML-RPC, i pingback e l'intestazione powered-by — a ogni rilascio, in modo che l'aggiornamento di un plugin o di un tema non possa reinserirli silenziosamente. Entrambi sono realizzati secondo gli standard della directory dei plugin di WordPress.org, sono gratuiti e si aggiornano autonomamente.
Mantenere WordPress sicuro e aggiornato
La maggior parte delle compromissioni di WordPress non è frutto di astuzia, ma di vecchia data. Un core, un tema o un plugin obsoleti con una vulnerabilità nota e pubblicata sono di gran lunga il modo più comune in cui i siti vengono violati, il che rende l'aggiornamento l'attività di sicurezza più importante in assoluto — e la più noiosa, motivo per cui viene saltata. L'hosting gestito dovrebbe sollevarvi da questo compito: applicando le patch allo stack sottostante a WordPress e rendendo sicuri gli aggiornamenti del core e dei plugin grazie a una copia di staging su cui testarli e a un backup a cui tornare in caso di problemi.
Oltre alla valuta, aspettati che i confini vengano fatti rispettare per te: scansione del malware attiva per impostazione predefinita in modo che un'infezione venga intercettata anziché scoperta da un visitatore, isolamento affinché un sito compromesso non possa raggiungerne un altro, protezione DDoS ai margini e TLS ovunque con certificati rinnovati automaticamente. Niente di tutto ciò sostituisce la normale prudenza — credenziali forti, accesso basato sui privilegi minimi, rimozione dei plugin che non usi più — ma significa che l'infrastruttura non è l'anello debole. Nella tua lista di controllo, la domanda per qualsiasi host è semplice: la sicurezza è predefinita o un pacchetto da acquistare?
WooCommerce e le pagine che non devi mai memorizzare nella cache
Un negozio online è il luogo in cui la memorizzazione aggressiva nella cache ottiene i suoi risultati migliori e provoca i danni peggiori se gestita con superficialità. Le pagine del catalogo, dei prodotti e delle categorie sono quelle con più traffico e più cacheabili in assoluto, e servirle da una cache a pagina intera è la cosa migliore in assoluto che tu possa fare per la velocità di un negozio. Ma le pagine del carrello, del checkout e dell'account sono personali e non devono mai essere servite da una cache condivisa: se lo fai, un acquirente vedrà il carrello di qualcun altro, il che rappresenta sia un guasto per il negozio sia una violazione della privacy.
Il modo per avere entrambi è memorizzare la pagina nella cache e creare delle eccezioni per le parti dinamiche. Gli Edge Side Includes eseguono il rendering del frammento del carrello, dei totali del mini-carrello e dello stato dell'account per ciascuna richiesta mentre il resto della pagina viene servito dalla cache, e il carrello, il checkout, la pagina del mio account e qualsiasi pagina con nonce o di sessione vengono esclusi per impostazione predefinita. La freschezza è gestita da un sistema di auto-purge intelligente che si attiva quando un prodotto, un prezzo o un ordine cambiano, in modo che un prezzo non aggiornato non rimanga mai memorizzato. Se utilizzi WooCommerce, questa è la parte della checklist da configurare alla perfezione: vetrina veloce dalla cache, carrello dinamico per utente, nessun dato personale mai memorizzato nella cache.
Domande frequenti
Ho ancora bisogno di un plugin di caching come WP Rocket?
No. La cache a pagina intera viene gestita a livello di server web da LSCache di LiteSpeed, il nostro plugin di cache collega WordPress a esso e gestisce lo spurgo intelligente, mentre una cache a oggetti Redis per singolo sito si trova dietro di essa. Aggiungere un secondo plugin di cache a pagina intera in aggiunta solitamente entra in conflitto con la cache a livello di server anziché aiutare, quindi non è né necessario né consigliato.
Quali plugin rende inutili la piattaforma?
I plugin di caching, i plugin di object cache separati e i plugin di backup sono tutti ridondanti qui, perché questi compiti vengono svolti al di sotto di WordPress: caching a livello di server, una object cache gestita per singolo sito e backup di piattaforma. La loro rimozione riduce i conflitti e la superficie di attacco. Ciò che vale ancora la pena di eseguire sono i plugin di cui il tuo sito ha veramente bisogno per il suo funzionamento, oltre ai nostri due plugin gratuiti per la cache e il footprint, che vengono forniti preinstallati.
La memorizzazione nella cache causerà problemi al mio carrello di WooCommerce o alle pagine con accesso effettuato?
No. Carrello, cassa, mio-account e qualsiasi pagina nonce o di sessione sono esclusi dalla cache per impostazione predefinita, e gli Edge Side Includes mantengono il frammento del carrello e i totali aggiornati sulle pagine altrimenti memorizzate nella cache. Gli acquirenti vedono sempre il proprio carrello e una cassa funzionante mentre la vetrina si carica comunque dalla cache, e la pulizia automatica intelligente elimina le pagine interessate quando un prodotto, un prezzo o un ordine cambiano.
Come mantenete sicuro WordPress senza che io debba gestirlo?
Eseguiamo patch sullo stack alla base di WordPress, rendiamo sicuri gli aggiornamenti di core e plugin grazie a staging e ripristino con un clic, eseguiamo la scansione antimalware e la protezione DDoS abilitate per impostazione predefinita, isoliamo ogni singolo sito in modo che un'eventuale compromissione non possa propagarsi e emettiamo e rinnoviamo i certificati TLS automaticamente. In questo modo eliminiamo l'infrastruttura come anello debole; la normale prudenza, come l'uso di credenziali forti e la rimozione dei plugin inutilizzati, rimane comunque a tuo carico.
Correlati
Provalo gratis per 14 giorni
Crea i tuoi primi siti gratis per 14 giorni — nessuna carta richiesta. Stai trasferiendo un sito o una rete esistente? La prima migrazione la offriamo noi.
Inizia gratis