Ottimizza il database MySql Manualmente o via Plugin

Sulla ricerca «Ottimizza il database MySql manualmente» troverai su Google tantissime guide valide, molto dettagliate, il più delle volte però destinate a utenti “troppo esperti”, che hanno familiarità con tecnicismi vari e linguaggi in codice.
In altri casi, invece, trovi l’esatto opposto: articoli “striminziti”, che si limitano a suggerire il plugin da installare ed augurare al lettore sprovveduto “buona fortuna“, con buona pace dei sensi di chi sa che «non sono problemi miei».
In questa guida affronterò sia il lato tecnico che il lato pratico, mettendo il lettore “poco esperto” a conoscenza di ciò che sta affrontando.
Indice Argomenti
Esegui Backup di MySql
Prima di passare a una qualsiasi modifica del database MySql è altamente consigliato eseguire un backup, di modo che se qualcosa andasse storto si può sempre rispristinare il tutto allo stato iniziale. Scegli se:
- Eseguire un backup di MySql Manualmente
- Installare un plugin. Suggerisco UpDraft Plus
Con più di un milione di installazioni attive, UpDraft Plus offre parecchi strumenti:
- Backup e Rispristino del Database
- Backup e Ripristino dei files in wp-content
- Schedulare entrambi i tipi di backup
- Storage (salvataggio) dei backup personalizzato
Puoi scegliere salvare i backup localmente, ossia nel tuo Server, oppure in servizi cloud:
Perchè Ottimizzare il database?
Devi sapere che “lo stato di salute” del tuo sito web basato su WordPress dipende in gran parte dalle performance del database, le quali sono legate a due fattori:
- Architettura del Server su cui risiede MySql
- Contenuto delle Tabelle MySql
Sul primo fattore hai ben poco da fare, perchè questo è legato all’Hosting che hai scelto, a meno che non decidi di passare a un hosting più performante (dai un’occhiata a SiteGround);
sul secondo fattore, invece, puoi agire affinchè il contenuto sia ottimizzato, perfettamente organizzato in modo che non vi siano righe di codice inutili e/o inutilizzate, migliorandone le performance.
Ottimizza il database MySql con Wp-Optimize
Il modo sicuramente più facile e immediato di ottimizzare il database MySql è affidarsi a un plugin, che rende l’operazione rapida e, il più delle volte, indolore.
Diamo subito un’occhiata alle features di questo plugin:
Come si evince dall’immagine, cliccando su “Run all selected optimizations“, Wp-Optimize andrà a:
- Ottimizzare il contenuto delle tabelle
- Cancellare le revisioni degli articoli
- Rimuovere lo spam “in quarantena”
- Rimuovere le bozze (drafts) e i post cestinati
- Eliminare i commenti in sospeso, non approvati
Queste sono le operazioni più comuni, che andrebbero eseguite da ogni utente wordpress, per avere il database in ordine. Ma la lista non si esaurisce qui. Wp-Optimize suggerisce altri possibili interventi, da effettuare con attenzione:
Non c’è da aver timore ad eseguire gli altri interventi segnati in rosso. L’unica accortezza, ribadiamo, è aver creato il backup in precedenza. In altre parole andrai a rimuovere:
- Dati di sessioni scadute
- Pingbacks e Trackbacks*
- Metadati “orfani”, non legati a nessun articolo o commento
- Metadati “generici”, non legati a nessuna funzione
*Puoi disabilitare queste funzioni dal Menù Impostazioni►Discussioni.
Ottimizza il database MySql manualmente
Come saprai il database MySql è suddiviso in Tabelle. Ognuna di queste Tabelle contiene le informazioni per una specifica funzione, ad esempio i commenti. Queste funzioni con l’andare del tempo immagazinano sempre più dati, tra i quali anche dati superflui, inutili, inutilizzati, scaduti.
Quindi le Tabelle vanno “allegerite”: questo farà sì che MySql risponda in maniera più immediata alle interrogazioni, dette query, coi conseguenti benefici:
- Il Tuo Sito caricherà più velocemente i contenuti
- Il Tuo Server risparmierà la memoria necessaria alle interrogazioni
- L’unione di entrambi i fattori migliorerà l’esperienza utente
- Migliorerà anche l’aspetto Seo (motori di ricerca)
Passiamo alle Query Sql
Una volta eseguito l’accesso all’applicazione PhpMyAdmin, presente sul tuo Server, seleziona il database su cui operare e clicca sull voce SQL:
Qui ti elenco le Query che potrai eseguire manualmente. Puoi scegliere se eseguirle una alla volta o tutte insieme. Ricorda: prima il backup!!!
Tabella wp_postmeta
1 2 3 4 5 |
DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug'; DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock'; DELETE FROM wp_postmeta WHERE meta_key = '_edit_last'; |
Queste 3 Query elimineranno le voci inutili nella Tabella relativa ai post. MySql ti informerà sul numero di voci che sono state eliminate in wp_postmeta.
Ecco il risultato del nostro database dopo le query sopra descritte:
Utenti Altervista
In Altervista il prefisso delle Tabelle è avwp_ , quindi le query saranno:
1 2 3 4 5 |
DELETE FROM avwp_postmeta WHERE meta_key = '_wp_old_slug'; DELETE FROM avwp_postmeta WHERE meta_key = '_edit_lock'; DELETE FROM avwp_postmeta WHERE meta_key = '_edit_last'; |
Questa regola vale per tutti gli altri hosting: verifica sempre il prefisso. Se ad esempio è xy_ , correggi le query inserendo xy_postmeta.
Tabella wp_post
1 |
DELETE FROM wp_posts WHERE post_type = 'revision'; |
Questa Query rimuoverà le revisioni degli articoli.
Tabella wp_comments
1 2 3 |
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam'; DELETE from wp_comments WHERE comment_approved = '0'; |
Queste 2 Query cancelleranno i commenti in spam e i commenti non approvati.
Tabella wp_commentmeta
1 2 3 |
DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%'; DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments); |
Questa Tabella viene inserita dal plugin Akismet, presente di default su ogni installazione di WordPress. Se utilizzi Akismet, queste 2 query cancelleranno le voci inutili (se presenti) create dal plugin ed eventuali relazioni inutili con la Tabella wp_comments (o “xy_comments”).
Tabella wp_options
1 2 3 4 5 6 |
DELETE FROM wp_options WHERE option_name LIKE '_transient_rss_%'; DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_rss%'; DELETE FROM wp_options WHERE option_name LIKE '_transient_feed_%'; DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_feed_%'; DELETE FROM wp_options WHERE option_name LIKE '_site_transient_browser_%'; DELETE FROM wp_options WHERE option_name LIKE '_site_transient_timeout_browser_%'; |
Queste 6 query, infine, andranno ad eliminare tutta una serie di dati “transitori” (transient), allocati sul database da differenti funzioni, quali ad esempio i feed, la cache del browser etc, che nel tempo, se non ottimizzati, diventano “ingombranti”.
Ultimo passaggio
Una volta eseguite tutte le query, non rimane che ottimizzare tutte le Tabelle. Vai su Struttura, seleziona tutte le Tabelle, dal menù a tendina scegli la voce “Ottimizza tabella” e clicca Esegui.
Conclusioni
Questa guida suggerisce solo “una” soluzione per migliorare le performance del proprio sito web, in modo da renderlo più veloce. Tuttavia esistono anche altre vie per velocizzare un sito web, quali ad esempio l’utilizzo della cache o la minificazione (da to minify) del codice html, css e javascript.
Ti segnalo Autoptimize, un plugin leggero che assolve bene ai compiti sopra descritti. Un piccolo suggerimento: prima di eseguire questi compiti, fai un test di velocità del tuo sito su Pingdom e poi, dopo le modifiche, fanne un altro e compara i risultati.
Spero ti sia piaciuto l’articolo e che schiaccerai quel “Mi piace“! 😉
Gran bella guida!