Hosting e plugin WordPress
Rendere WordPress veloce e sicuro: checklist per prestazioni e plugin
WordPress è veloce e sicuro solo quanto lo è l'ambiente su cui viene eseguito. Ecco la checklist pratica che applichiamo a ogni sito WordPress che ospitiamo: cosa salvare in cache, cosa proteggere e quali plugin meritano davvero spazio rispetto a quelli resi superflui dalla piattaforma.
WordPress è valido tanto quanto l'infrastruttura su cui gira
WordPress gestisce un'ampia quota del web grazie alla sua flessibilità, ma è proprio tale flessibilità a renderlo lento e poco sicuro: un'installazione predefinita interroga il database decine di volte per pagina, trasmette la propria versione e lo stack a chiunque guardi, e invita ad accumulare plugin fino a quando le prestazioni e la superficie di attacco non aumentano silenziosamente a dismisura. Niente di tutto questo è un difetto intrinseco di WordPress, quanto piuttosto la conseguenza dell'esecuzione su un'infrastruttura che non fa nulla per aiutarlo.
La buona notizia è che le stesse poche decisioni risolvono la maggior parte del problema, e sono decisioni che riguardano lo stack piuttosto che i contenuti. Utilizzi la memorizzazione nella cache in modo aggressivo al livello corretto, mantenga il database fuori dal percorso critico (hot path), utilizzi solo i pochi plugin che meritano davvero il loro spazio, mantenga tutto aggiornato con le patch e isoli il sito affinché i problemi rimangano circoscritti. Questo articolo rappresenta tale checklist, nell'ordine in cui la applichiamo a ciascun sito WordPress presente sulla piattaforma.
Memorizzi nella cache sul server, non solo in un plugin
La leva principale per la velocità di WordPress consiste nel non eseguire affatto WordPress per la maggior parte delle visite. Una richiesta standard avvia WordPress, esegue i vostri plugin e interroga il database prima di inviare un singolo byte; una cache di pagina intera serve la pagina completata direttamente dal server web alla visita successiva, saltando l'intero avvio. La posizione di tale cache è fondamentale: un plugin di memorizzazione nella cache risiede 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 conserva le pagine in una forma che il server può svuotare istantaneamente.
Ogni sito WordPress che ospitiamo funziona su LiteSpeed Enterprise con LSCache a livello di server, e il nostro plugin di memorizzazione nella cache collega correttamente WordPress ad esso fin da subito — preinstallato e aggiornato automaticamente, in modo da avere una cosa in meno da configurare o mantenere aggiornata. Su un'origine non-LiteSpeed, lo stesso plugin semplicemente non invia intestazioni di pagina intera e non interferisce mentre la cache degli oggetti continua a funzionare, garantendo che un sito migrato non rimanga mai configurato a metà. La regola pratica per la Sua checklist: una sola cache per l'intera pagina, a livello di server, e non aggiunga un secondo plugin di caching sopra di essa — entrerebbero in conflitto.
La cache degli oggetti e il database
Non tutte le richieste possono 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 degli oggetti per sito — Redis, nel nostro caso — mantiene in memoria i risultati delle letture ripetute del database, evitando che le stesse opzioni, transients e ricerche vengano richieste al database a ogni hit. L'effetto si manifesta esattamente dove la cache di pagina intera non può essere d'aiuto: un'amministrazione più rapida, carrelli più veloci e un carico del database notevolmente inferiore in presenza di traffico.
La parola che conta è «per sito». Una cache degli oggetti condivisa significa che un sito molto trafficato o scritto male può eliminare i dati memorizzati nella cache di tutti gli altri e privare del database i suoi vicini; una cache dedicata per sito, abbinata a limiti del database per sito, mantiene circoscritto tale raggio d'impatto. Nella Sua lista di controllo, consideri una cache degli oggetti persistente come non opzionale per qualsiasi sito con utenti autenticati o un negozio online, e diffidi dell'hosting in cui essa è condivisa tra più tenant.
I plugin che vale la pena eseguire — e quelli che la piattaforma sostituisce
Ogni plugin che aggiungete è codice che viene eseguito a ogni richiesta e una porta che qualcuno potrebbe un giorno varcare, quindi l'obiettivo più onesto è il minor numero di plugin che svolga il maggior numero di operazioni. Un buon host elimina la necessità di un'intera categoria di questi strumenti: con la memorizzazione nella cache a livello di server, una cache degli oggetti gestita e i backup di piattaforma, non avete bisogno di un plugin di memorizzazione nella cache, di un plugin di cache degli oggetti separato o di un plugin di backup — questi compiti vengono svolti meglio al di sotto di WordPress, ed eseguirli al di sopra aggiunge solo conflitti e overhead.
Ciò che vale la pena eseguire è quel piccolo gruppo che aggiunge funzionalità reali: i plugin di cui il Vostro sito ha effettivamente bisogno per funzionare e — sulla nostra piattaforma — i due plugin di qualità repository che sviluppiamo e forniamo con ogni sito. Il nostro plugin di cache collega WordPress alla cache del server e gestisce lo svuotamento intelligente, in modo che una modifica cancelli solo le pagine necessarie. Il nostro plugin per il footprint rimuove le tracce diffuse da un'installazione predefinita di WordPress — la versione e il tag generator, gli endpoint di rilevamento, XML-RPC, i pingback e l'intestazione powered-by — a ogni distribuzione, impedendo così che l'aggiornamento di un plugin o di un tema possa ripristinarli di nascosto. Entrambi sono sviluppati secondo gli standard della directory dei plugin di WordPress.org, sono gratuiti e si aggiornano automaticamente.
Mantenere WordPress sicuro e aggiornato
La maggior parte delle violazioni di WordPress non è sofisticata; è datata. Un core, un tema o un plugin non aggiornati con una vulnerabilità nota e pubblica rappresentano il modo di gran lunga più comune con cui i siti vengono colpiti, rendendo l'aggiornamento costante il lavoro di sicurezza di maggior valore in assoluto — e il più noioso, motivo per cui viene spesso trascurato. Un hosting gestito dovrebbe toglierVi questo pensiero: applicando le patch allo stack sottostante a WordPress e rendendo sicura l'installazione degli aggiornamenti del core e dei plugin fornendoVi un ambiente di staging per testarli e un backup per ripristinarli.
Oltre all'aggiornamento costante, aspettatevi che i limiti vengano applicati per voi: scansione antimalware attiva per impostazione predefinita affinché un'infezione venga intercettata anziché scoperta da un visitatore, isolamento per evitare che un sito compromesso possa intaccarne un altro, protezione DDoS a livello perimetrale e TLS ovunque con certificati rinnovati automaticamente. Nulla di tutto ciò sostituisce la sicurezza informatica di base — credenziali complesse, principio del privilegio minimo, rimozione dei plugin non più utilizzati — ma garantisce che l'infrastruttura non sia l'anello debole. Nella vostra lista di controllo, la domanda da porre a qualsiasi provider di hosting è semplice: la sicurezza è l'impostazione predefinita o un pacchetto da acquistare a parte?
WooCommerce e le pagine che non dovete mai memorizzare nella cache
Un negozio è il luogo in cui una memorizzazione nella cache aggressiva ottiene i suoi maggiori vantaggi e produce i suoi danni peggiori se implementata in modo ingenuo. Le pagine del catalogo, dei prodotti e delle categorie sono quelle a più alto traffico e maggiormente memorizzabili nella cache di cui disponete, e servirle dalla cache di pagina intera è la cosa migliore che possiate fare per la velocità di un negozio. Le pagine del carrello, del pagamento e dell'account sono tuttavia personali e non devono mai essere servite da una cache condivisa: in caso contrario, un acquirente visualizzerebbe il carrello di qualcun altro, determinando sia un malfunzionamento del negozio sia una violazione della privacy.
Il modo per ottenere entrambi è memorizzare la pagina nella cache e creare dei fori per le parti dinamiche. Edge Side Includes esegue 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, ed esclude per impostazione predefinita le pagine cart, checkout, my-account e qualsiasi pagina con nonce o session. La freschezza è gestita da uno svuotamento automatico intelligente che si attiva alla modifica di un prodotto, un prezzo o un ordine, evitando che un prezzo non aggiornato rimanga visibile. Se utilizzate WooCommerce, questa è la parte della lista di controllo da eseguire alla perfezione: vetrina veloce dalla cache, carrello dinamico per utente e nessun dato personale mai memorizzato nella cache.
Domande frequenti
Ho ancora bisogno di un plugin di memorizzazione nella cache come WP Rocket?
No. La memorizzazione nella cache dell'intera pagina è gestita sul server web da LSCache di LiteSpeed, il nostro plugin di cache proprietario vi collega WordPress e gestisce lo svuotamento intelligente, mentre una cache degli oggetti Redis per singolo sito opera in background. L'aggiunta di un secondo plugin per la cache dell'intera pagina solitamente entra in conflitto con la cache a livello di server anziché essere d'aiuto, pertanto non è necessaria né consigliata.
Quali plugin rende non necessari la piattaforma?
I plugin di memorizzazione nella cache, i plugin separati di object-cache e i plugin di backup sono tutti ridondanti qui, poiché tali attività vengono eseguite al di sotto di WordPress: memorizzazione nella cache a livello di server, una object cache gestita per sito e backup di piattaforma. La loro rimozione riduce i conflitti e la superficie di attacco. Ciò che vale la pena continuare a eseguire sono i plugin di cui il Suo sito ha realmente bisogno per il proprio funzionamento, oltre ai nostri due plugin gratuiti per la cache e il footprint, che vengono forniti preinstallati.
La memorizzazione nella cache comprometterà il carrello di WooCommerce o le pagine degli utenti che hanno effettuato l'accesso?
No. Le pagine Cart, checkout, my-account e tutte le pagine nonce o di sessione sono escluse dalla cache per impostazione predefinita, ed Edge Side Includes mantiene aggiornati il frammento del carrello e i totali sulle pagine altrimenti memorizzate nella cache. Gli acquirenti vedono sempre il proprio carrello e una procedura di pagamento funzionante mentre la vetrina continua a essere caricata dalla cache, e l'eliminazione automatica intelligente cancella le pagine interessate quando cambia un prodotto, un prezzo o un ordine.
Come mantenete sicuro WordPress senza che io debba gestirlo?
Applichiamo patch allo stack sottostante a WordPress, rendiamo sicuri gli aggiornamenti del core e dei plugin grazie a staging e ripristino con un clic, manteniamo attivi per impostazione predefinita la scansione malware e la protezione DDoS, isoliamo ogni sito affinché una violazione non possa propagarsi ed emettiamo e rinnoviamo automaticamente i certificati TLS. Ciò elimina l'infrastruttura come anello debole; le pratiche igieniche di base come credenziali complesse e la rimozione dei plugin inutilizzati rimangono di Sua responsabilità.
Correlati
Lo provi gratuitamente per 14 giorni
Attivi i Suoi primi siti gratuitamente per 14 giorni — senza carta di credito. Sta trasferendo un sito o una rete esistente? Le migrazioni sono gratuite e illimitate.
Inizia gratis