Come eseguire la pulizia dei date personalizzati del database myphpadmin

WordPress non ha un modo integrato per rimuovere i dati dei campi personalizzati. Vorrei che ci fosse, ma capisco anche che tale funzionalità potrebbe portare le persone a danneggiare inavvertitamente il loro sito. Probabilmente l’hanno omesso per motivi di sicurezza. Una delle gioie di WordPress è che è comune che i plugin inattivi lascino vecchi dati nel database. Ciò include molti campi personalizzati. Quindi alcune persone cercano di eliminare i dati dei campi personalizzati dal database.

Il plugin potrebbe essere scomparso da tempo e non esserci più, ma i campi personalizzati che crea sono rimasti indietro e fermi lì. E a seconda di quanto è vecchio il tuo sito o di quanti plugin hai usato in passato, potresti ritrovarti con un sacco di dati di campi personalizzati fermi lì senza fare nulla. Inoltre, se hai utilizzato qualcosa come Advanced Custom Fields e hai rimosso dei campi personalizzati, non rimuoverai quei dati dal database. Anche se non riesci più a vedere i campi personalizzati nell’interfaccia utente, i vecchi valori dei campi sono ancora lì.

WordPress ha una varietà di voci che contengono informazioni aggiuntive sul tuo database. Ad esempio, i tuoi utenti hanno un indirizzo email, un sito web, una biografia; i tuoi post hanno un contenuto, un titolo, un estratto; i commenti hanno un autore, un campo email e così via. Queste informazioni possono a volte essere duplicate o orfane (non appartenenti a nulla). In questi casi, questi dati sono semplicemente inutili e possono rendere disordinato il database di WordPress. Pertanto, dovrebbero essere ripuliti per migliorare le prestazioni e ottenere un database ordinato.

Innanzitutto definiamo i termini “orfano” e “duplicato”:

  • Metadati orfani: in WordPress, si riferisce ai dati che non sono più associati a un particolare post o pagina, utente, commento, termine o altro elemento. Ciò può verificarsi se l’elemento in questione viene eliminato in modo improprio o se i dati vengono importati o esportati in modo errato.
  • Metadati duplicati: si riferisce ai dati duplicati nel database di WordPress, che possono portare a confusione e incoerenza nelle informazioni. Ciò può accadere, ad esempio, quando un post o una pagina vengono importati o esportati in modo errato, o quando i dati vengono inseriti manualmente più volte. A volte, anche un plugin difettoso che non è codificato correttamente può essere la causa.

Diamo ora un’occhiata ai singoli tipi di metadati.

  • Metadati del post: i metadati del post sono le informazioni che fornisci ai visualizzatori su ogni post, come la data di pubblicazione o l’autore o i tag del post inutilizzati o i campi del post personalizzati inutilizzati. I metadati del post possono anche essere informazioni tecniche interne, come il modello del post utilizzato. La tabella del database utilizzata per i metadati del post è postmeta.
  • Metadati utente: i metadati utente sono dati associati a un account utente, come nome, indirizzo e-mail e informazioni sul profilo. I metadati utente orfani sono metadati utente che non sono più associati a un account utente. La tabella del database utilizzata per i metadati utente è usermeta.
  • Metadati dei commenti: alcuni esempi di metadati dei commenti in WordPress sono il nome del commentatore, l’indirizzo e-mail, l’indirizzo IP e l’URL del sito web. Altri metadati possono includere il contenuto del commento, la data e l’ora in cui è stato fatto il commento e lo stato del commento (approvato, in sospeso, spam, ecc.). La tabella del database utilizzata per i metadati dei commenti è commentmeta.
  • Metadati dei termini: i metadati dei termini consentono di archiviare dati per i termini (tag, categorie o altre tassonomie personalizzate) in modo simile ai metadati dei post. Questi metadati possono includere informazioni come descrizioni dei termini, immagini dei termini e campi dei termini personalizzati. La tabella termmeta del database (utilizzata dai metadati dei termini) può anche essere utilizzata da WordPress per tracciare e analizzare il comportamento e l’attività degli utenti correlati ai termini.
  • Relazione tra termini: i post o le pagine sono associati a categorie e tag e questa associazione è mantenuta nella tabella term_relationships del database. Questa è chiamata relazione tra termini.

Metodo intuitivo per eliminare i dati dei campi personalizzati

database

Puoi utilizzare il plugin Modifica campi personalizzati.

Questo plugin è semplicistico. Ma fa il suo lavoro, prima di tutto… esegui il backup del tuo database!

Stai per eliminare dati grezzi dal tuo database WordPress, quindi esegui prima un backup. Se finisci per rovinare qualcosa, avrai la possibilità di invertire il danno.

Una volta effettuato il backup, vai su Strumenti > Edit custom fields.

Vedrai un grande elenco di tutti i tuoi campi personalizzati. Saranno elencati in base al nome del campo grezzo, così come sono archiviati nel database.

database

Ora, spetta a te capire qual è lo scopo di quei campi. In alcuni casi, puoi capirlo semplicemente guardando. La maggior parte dei plugin aggiungerà al nome del campo il nome del plugin stesso. Se è così, puoi determinare rapidamente se quei campi sono ancora in uso o meno.

Se hai dubbi sull’utilizzo di un campo, puoi fare 2 cose:

  1. Cerca su Google il nome del campo e vedi se riesci a capire quale plugin lo ha messo lì. Quindi, agisci di conseguenza.
  2. Lascia stare il campo. Come ho detto, non fa alcun danno se resta lì, quindi se hai dubbi sulla sicurezza di eliminarlo, lascialo stare.

Per eliminare i dati dei campi personalizzati, spunta semplicemente i campi che vuoi eliminare. Quindi, scorri verso il basso e premi il pulsante per eliminare quei campi. Apparirà una schermata di conferma che mostra i campi selezionati e un riepilogo dei post a cui sono allegati tali campi.

database

Se tutto sembra a posto, premi il pulsante per confermare ed eliminare definitivamente i campi.

Pulizia dei metadati dei vecchi post in WordPress

Nel tempo, man mano che i post vengono aggiornati, creati o eliminati, la tabella 
wp_postmeta può diventare grande e inibire le prestazioni del tuo sito web. In questo articolo, ti mostreremo come ripulire i vecchi metadati dei post non necessari dalla tabella 
wp_postmeta per aiutare il tuo sito WordPress a funzionare in modo più efficiente.

Naviga sul tuo database e accedi al phpmyadmin e avvia il comando:

SELEZIONA * DA wp_postmeta pm SINISTRA JOIN wp_posts wp SU wp.ID = pm.post_id DOVE wp.ID È NULL;
ELIMINA pm DA wp_postmeta pm SINISTRA JOIN wp_posts wp SU wp.ID = pm.post_id DOVE wp.ID È NULL;

PHPMyAdmin ti farà sapere quanti elementi ha rimosso o dirà che il risultato è vuoto, il che significa che non è stato trovato nulla.

File multimediali inutilizzati
Per eliminare i file multimediali inutilizzati:

  1. Accedi a phpMyAdmin e seleziona il tuo database WordPress dall’elenco dei database.
  2. Fare clic sulla tabella “wp_posts” per aprirla.
  3. Cerca le righe con un valore “post_type” pari a “attachment”. Questi sono file multimediali.
database
  1. Per trovare file multimediali inutilizzati, cerca le righe in cui la colonna “post_parent” è impostata sul valore “0”. Ciò significa che il file multimediale non è allegato ad alcun post o pagina del tuo sito.
  2. Elimina la riga associata al file.

Per rimuovere in un colpo solo i file multimediali inutilizzati, utilizzare il seguente comando nella scheda SQL:

DELETE FROM wp_posts WHERE post_type = 'attachment' AND post_parent = 0;
database

Rimuovi i commenti non approvati

Analogamente a quanto avviene per i commenti spam, esegui la seguente query per identificare tutti i commenti che non sono stati approvati:

SELECT * FROM wp_comments WHERE comment_approved = 0;

Quindi, puoi eliminare questi commenti eseguendo la seguente query:

DELETE FROM wp_comments WHERE comment_approved = 0;

Clicca esegui per eseguire il comando.

Rimuovi le revisioni dei post

Per eliminare le revisioni dei post, immettere il seguente comando nella casella di query SQL e fare clic su Vai per eseguirlo:

DELETE FROM wp_posts WHERE post_type = "revision";

Per un controllo più granulare, l’alternativa più sicura è utilizzare un plugin dal nostro elenco consigliato.

Rimuover Tag inutilizzati

Per rimuovere i tag inutilizzati in phpMyAdmin, puoi utilizzare una combinazione di query SQL. Esegui la seguente query per identificare tutti i tag che non sono associati ad alcun post o contenuto:

SELECT * FROM wp_terms AS t 
LEFT JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE tt.taxonomy = 'post_tag' 
AND tt.count = 0;

Questa query elencherà tutti i tag che non sono associati a post o contenuti. Assicurati che l’elenco contenga solo i tag che vuoi eliminare.

Per eliminare questi tag eseguire la seguente query:

DELETE FROM wp_terms WHERE term_id IN (
  SELECT term_id FROM wp_term_taxonomy WHERE count = 0
);

Questa query eliminerà tutti i tag che hanno un conteggio pari a zero, ovvero quelli che non sono associati ad alcun post o contenuto.

database

Come rimuovere immagini non utilizzare

Esistono diversi modi per rilevare le immagini che non sono più utilizzate in alcun contenuto all’interno del tuo sito web WordPress. Il più efficace è cercarle nel database WordPress.

Per questo dobbiamo sapere che le immagini che hai caricato nella libreria multimediale di WordPress sono memorizzate nella tabella wp_postscome se fossero un post o una pagina. Ciò che le distingue dagli altri contenuti memorizzati in questa tabella è che hanno il valore dell’allegato nella post_typecolonna.

SELECT
  *
FROM
  wp_posts i
WHERE
  i.post_type = 'attachment'
  AND
  NOT EXISTS (SELECT * FROM wp_posts p WHERE p.ID = i.post_parent)
  AND
  NOT EXISTS (SELECT * FROM wp_postmeta pm WHERE pm.meta_key = '_thumbnail_id' AND pm.meta_value = i.ID)
  AND
  NOT EXISTS (SELECT * FROM wp_posts p WHERE p.post_type <> 'attachment' AND p.post_content LIKE CONCAT('%',i.guid,'%'))
  AND
  NOT EXISTS (SELECT * FROM wp_postmeta pm WHERE pm.meta_value LIKE CONCAT('%',i.guid,'%'))

Seleziona le tabelle verificando che le immagini non esistano più, prosegui alla rimozione.

Rimuovere i transienti

I transienti sono dati temporanei utilizzati per memorizzare nella cache i dati e velocizzare le prestazioni del tuo sito web. Tuttavia, se non vengono curati regolarmente, possono iniziare a danneggiare la tua velocità. Ecco come rimuovere i transienti in una pulizia del database WordPress:

DELETE FROM wp_options WHERE option_name LIKE '_transient_%';

Riassumendo..

Se hai accesso a uno strumento di gestione del database come phpMyAdmin, puoi eseguire le seguenti query per selezionare i metadati desiderati e quindi eliminarli utilizzando il tuo metodo preferito, eseguendo la DELETEquery appropriata o selezionando le righe da eliminare con il mouse.

Ricordatevi di sostituire il prefisso del database in tutti i nomi di database con il prefisso del database effettivo, che potrebbe essere diverso da wp_.

Seleziona tutti i metadati dei post orfani

SELECT * FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);

Seleziona tutti i metadati utente orfani

SELECT * FROM wp_usermeta WHERE user_id NOT IN (SELECT ID FROM wp_users);

Seleziona tutti i metadati dei commenti orfani

SELECT * FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);

Seleziona tutti i metadati dei termini orfani

SELECT * FROM wp_termmeta WHERE term_id NOT IN (SELECT term_id FROM wp_terms);

Seleziona tutti i termini orfani relazione

SELECT tr.*, tt.*, wt.name, wt.slug FROM wp_term_relationships AS tr INNER JOIN wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id INNER JOIN wp_terms AS wt ON tt.term_id = wt.term_id WHERE tt.taxonomy != 'link_category' AND tr.object_id NOT IN (SELECT ID FROM wp_posts);

Seleziona tutti i metadati dei post duplicati

Il risultato mostrerà il numero di duplicazioni (colonna count) di qualsiasi meta_keymeta_valuecombinazioni per qualsiasi post_id.

SELECT COUNT(meta_id) AS count, post_id, meta_key, meta_value FROM wp_postmeta GROUP BY post_id, meta_key, meta_value HAVING count > 1;

Seleziona tutti i metadati utente duplicati

Il risultato mostrerà il numero di duplicazioni (colonna count) di any meta_keymeta_valuedi any user_id.

SELECT COUNT(umeta_id) AS count, user_id, meta_key, meta_value FROM wp_usermeta GROUP BY user_id, meta_key, meta_value HAVING count > 1;

Seleziona tutti i metadati dei commenti duplicati

Il risultato mostrerà il numero di duplicazioni (colonna count) di any meta_keymeta_valuedi any comment_id.

SELECT COUNT(meta_id) AS count, comment_id, meta_key, meta_value FROM wp_commentmeta GROUP BY comment_id, meta_key, meta_value HAVING count > 1;

Seleziona tutti i metadati dei termini duplicati

Il risultato mostrerà il numero di duplicazioni (colonna count) di any meta_keymeta_valuedi any term_id.

SELECT COUNT(meta_id) AS count, term_id, meta_key, meta_value FROM wp_termmeta GROUP BY term_id, meta_key, meta_value HAVING count > 1;

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • mail@trgtkls.org

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *