Quasi tutti i siti Web WordPress che ho visto avevano database gonfiati. Penso che questo sia abbastanza normale. Nessuno è nato esperto nella creazione di siti super efficienti e ottimizzati.
Quando ho iniziato a utilizzare WordPress, cambiavo temi ogni mese e testavo molti plugin. Leggevo gli articoli sui “21 plugin indispensabili” e li installavo tutti. Un paio di settimane dopo, disinstalla.
Ecco come impari. Provi, metti alla prova, scopri cosa ti serve, cosa funziona per te.
Ma anni dopo ti ritrovi con un database WordPress pieno di cose vecchie e inutili. Questo perché il database del tuo sito web non contiene solo i tuoi contenuti ma tutte le impostazioni dei temi e dei plugin.
Perché è essenziale avere un database pulito?
Avevamo un cliente, un blog di cucina con circa 10.000 visualizzazioni di pagina al giorno, che riscontrava tempi di caricamento lenti, 13-15 secondi. La soluzione offerta dalla società di hosting era quella di passare a un VPS dal piano condiviso utilizzato.
La nostra soluzione era diversa.
Abbiamo scoperto che WordPress consumava 300 MB per generare una pagina. Una tipica istanza di WordPress dovrebbe consumare 30-40 MB, quindi hai un'idea di quanto fosse pessima. Non c'è da stupirsi che ci siano voluti 15 secondi per caricare e aver esaurito le risorse assegnate al suo account di hosting.
Abbiamo scoperto più di 25.000 voci di database nella tabella wp_options con il caricamento automatico impostato su sì. “Caricamento automatico: sì” significa che durante l’inizializzazione WordPress legge quelle opzioni dal database. Solo questo ha richiesto circa 11 secondi.
Abbiamo eliminato quelle vecchie opzioni inutili e ora WordPress consuma 50 MB e si carica in 2-3 secondi. Abbiamo anche ottimizzato le immagini, passato a Genesis Framework, sostituito alcuni plugin difettosi con altri migliori e altre piccole modifiche.
Non aveva bisogno di passare a un VPS; è rimasta su un piano condiviso per altri 8-9 mesi quando il suo traffico è arrivato a circa 60.000 visualizzazioni di pagina al giorno ed era ora di abbandonare l'hosting condiviso .

In conclusione, avere un database WordPress pulito l’ha aiutata a risparmiare denaro sull’hosting. E può aiutare anche te. Vediamo quindi cosa puoi fare per ottimizzare il tuo database WordPress.
Prima il backup
Prima di iniziare a fare qualsiasi cosa, assicurati di eseguire il backup del database. Utilizzo UpdraftPlus con Amazon S3 ma ci sono molti plugin/soluzioni di backup per WordPress, come:
Puoi anche esportare il tuo database da phpMyAdmin; il tuo provider di hosting dovrebbe offrire l'accesso a questo strumento di gestione del database (o uno simile).
Pulizia di base
Una delle cose principali che puoi fare è eliminare plugin e temi non utilizzati, eliminare commenti spam, eliminare commenti, post e pagine eliminati.
Elimina plugin e temi non utilizzati
Questo aiuta anche dal punto di vista della sicurezza. Ti consiglio di non tenere sul tuo server script PHP (plugin, temi, altri file PHP) che non usi.
Per rimuovere i plugin inutilizzati accedi a wp-admin e vai su Plugin > Plugin installati. Fai clic su Inattivo per vedere i plugin inattivi ed eliminarli.
Per rimuovere i temi inutilizzati vai su Aspetto > Temi. Fai clic su ciascun tema che desideri eliminare, quindi fai clic su Elimina nell'angolo in basso a destra.
Ti consiglio di mantenere solo il tema attivo e un tema predefinito (se devi testare le incompatibilità). Utilizzo Genesis Framework. Quindi mantengo Genesis (tema principale), il tema secondario Genesis (tema attivo) e un tema predefinito di WordPress (a scopo di test).
Svuota i commenti spam
Accedi a wp-admin e vai su Commenti. Fare clic su Spam per visualizzare i commenti spam e utilizzare il pulsante Svuota spam per eliminarli.
Svuota la spazzatura
Mentre sei ancora nella sezione Commenti, fai clic su Cestino per vedere i commenti cestinati e utilizza il pulsante Svuota cestino per eliminarli.
Vai su Post > Tutti i post, fai clic su Cestino per vedere i post cestinati. Utilizza il pulsante Svuota cestino per eliminarli.
Vai su Pagine > Tutte le pagine, fai clic su Cestino per vedere le pagine cestinate e utilizza il pulsante Svuota cestino per eliminarle.
Se hai tipi di post personalizzati cestinati, puoi eliminarli allo stesso modo. Se hai categorie o tag che non stai utilizzando, puoi eliminare anche quelli.
Puoi farlo anche con il plugin WP Sweep, come spiegato di seguito.
Utilizza un plugin per pulire il database di WordPress
La cosa più semplice da fare, soprattutto per le persone non tecniche, è utilizzare un plugin WordPress per ripulire il database.
I plugin di ottimizzazione del database più popolari sono:
Consigliamo WP-Sweep perché utilizza il più possibile le funzioni di eliminazione WordPress adeguate invece di eseguire query MySQL di eliminazione diretta. Il plugin WP-Optimize utilizza query SQL di eliminazione diretta che possono lasciare dietro di sé dati orfani.
Installa e attiva il plug-in WP Sweep, quindi vai su Strumenti > Sweep. Vedrai diverse sezioni con un pulsante Sweep accanto a loro, fai clic sul pulsante per pulire il disordine.
Questo plugin ti aiuterà a eliminare:
- Revisioni
- Bozze automatiche
- Commenti cancellati, non approvati e spam
- Meta post orfano e duplicato
- Meta commenti orfani e duplicati
- Meta utente orfano e duplicato
- Relazioni tra termini orfani
- Termini non utilizzati
- Opzioni transitorie.
Il plugin può anche ottimizzare le tabelle ed è più semplice che farlo tramite phpMyAdmin. Puoi farlo periodicamente, ottimizzando le tabelle del database, magari una volta ogni un paio di mesi.
Pulizia avanzata
A volte, se utilizzi un hosting condiviso, WP Sweep può bloccarsi a causa delle limitazioni di PHP. Di solito accade quando c'è un gran numero di voci del database da eliminare, come la rimozione di transitori.
Se non puoi utilizzare il plug-in per pulire il tuo database, devi eseguire la pulizia eseguendo query direttamente nel tuo database. Ad esempio, la query per rimuovere i transitori è:
ELIMINA DA `wp_options` DOVE `nome_opzione` LIKE ('%\_transient\_%');
Nota: assicurati di cambiare il prefisso predefinito (wp_) con quello utilizzato dal tuo database.
Puoi eseguire questa query in phpMyAdmin (uno strumento accessibile da cPanel) o con uno strumento di gestione del database come Sequel Pro (Mac) o MySQL Workbench (Windows, Linux, Mac).
Io uso Sequel Pro e lo preferisco a phpMyAdmin perché è più veloce e più stabile, phpMyAdmin a volte può bloccarsi (hosting condiviso, limitazioni PHP). Non ho mai utilizzato MySQL Workbench per effettuare confronti.
Non dimenticare di eseguire prima il backup del database
Un ottimo tutorial su come eseguire query in phpMyAdmin è questo su wpmudev.com .
Dalla mia esperienza, uno dei problemi più significativi con il database WordPress è un gran numero di voci del database nella tabella wp_options con caricamento automatico: sì.
Puoi trovarli ed eliminarli con un plugin – Clean Options – o direttamente nella tabella wp_options utilizzando phpMyAdmin o Sequel Pro.
Ecco un buon tutorial sull'utilizzo del plug-in Opzioni pulizia , ma pulire tali opzioni è un compito noioso e, non importa come lo fai, sfortunatamente non esiste un modo semplice.
Poiché il plugin ti mostra le “ possibilmente orfane”, devi stare attento a non eliminare qualcosa che non dovresti e a danneggiare il tuo sito.
Quello che devi fare è identificare le opzioni inutili, come quelle dei vecchi plugin che non hai più. Dovresti sapere quale prefisso ha ciascun plugin; ad esempio se vedi molte opzioni con il prefisso "wcj_" proveniente dal Booster per WooCommerce . Se non usi più Booster, è sicuro eliminarli.
Non uso il plugin Clean Options, mi piace lavorare direttamente sul database con Sequel Pro, e mi sto avvicinando a questo come facevo nel 1998 giocando a Tomb Raider, salvando il gioco dopo ogni salto.
Eseguo il backup della tabella, cerco opzioni, elimino opzioni, controllo errori, eseguo di nuovo il backup, ripeto.
Ora hai un database WordPress pulito. Mantienilo pulito utilizzando le seguenti migliori pratiche.
Migliori pratiche per mantenere pulito il database WordPress
In nessun ordine particolare.
1. Evitare che le revisioni si accumulino e limitare il numero di revisioni archiviate nel database, ad esempio 3. Aggiungi il seguente codice al file wp-config.php.
define('WP_POST_REVISIONS', 3 );
2. Svuota il cestino regolarmente o impostalo in modo che si svuoti automaticamente dopo alcuni giorni, ad esempio 5. Aggiungi il seguente codice al file wp-config.php.
define('VUOTO_CESTINO_GIORNI', 5 );
3. Svuota regolarmente lo spam.
4. Non lasciare commenti non approvati: approvali, inviali come spam o cestinali.
5. Utilizza il plug-in WP Sweep per ottimizzare le tabelle e controllare periodicamente i transitori (e spazzarli, se necessario).
6. Attenzione ai plugin che memorizzano molti dati:
- plugin statistici
- plugin di sicurezza
- plugin anti-spam
- plugin per post correlati
- plugin di tracciamento dei collegamenti
Non sto dicendo che non dovresti utilizzare nessuno dei plugin di cui sopra, ma usa plugin che offrono tali funzionalità e salvano i dati esternamente, non nel tuo database WordPress. Se puoi evitarlo, non utilizzare plugin che appesantiscono, mantieni il database WordPress il più pulito possibile.
7. Se elimini un plugin che sei sicuro di non voler più utilizzare, puliscilo dopo.
La maggior parte dei plugin non si pulisce da sola. Quindi è necessario eliminare le tabelle del database aggiunte dal plug-in ed eliminare le opzioni del plug-in dalla tabella wp_options.
Questo conclude il nostro quarto passo nella ricerca di un sito Web WordPress più veloce e scalabile.
Lascia un commento