Può essere necessario poter gestire rapidamente i commenti di WordPress, esigenza particolarmente avvertita quando il proprio sito viene bombardato da commenti SPAM. Naturalmente è sempre meglio prevenire l’inserimento di commenti non desiderati, si può concedere l’accesso ai soli utenti registrati oppure proteggere il form di inserimento commenti da un codice CAPTHA oltre che attivare plugin appositi come ad esempio AKISMET.
Tuttavia, in particolare su siti nuovi non ancora completamente configurati, potrebbero piombare migliaia di commenti SPAM che, oltre ad appesantire il database e dare fastidio ai visitatori, inducono i motori di ricerca, in particolare GOOGLE, a penalizzare fortemente il dominio fino ad arrivare a depennarlo dai risultati di ricerca con il risultato di vedersi un crollo nelle statistiche delle visite.
Quindi è buona norma salvaguardare il proprio WordPress da commenti SPAM e in caso ve ne siano talmente tanti da rendere complessa la loro rimozione dal pannello di amministrazione di WP si può intervenire direttamente sul database con opportune query.
La gestione del database MySQL può avvenire tramite phpMyAdmin (se è previsto nel vostro piano di hosting il pannello PLESK l’interfaccia phpMyAdmin è raggiungibile cliccando su GESTIONE DATABASE) oppure anche direttamente all’interno di WordPress tramite plugin appositi come ad esempio MIWOSQL.
Di seguito sono indicate diverse query da lanciare per gestire i vari aspetti della funzione commenti di WordPress.
ATTENZIONE: prima di eseguire qualsiasi intervento sui database è necessario eseguire un BACKUP generale, solo così si è salvaguardati da tutte le possibili conseguenze di un errore!
ATTIVARE i commenti per tutti gli utenti:
Questa query permette a tutti gli utenti di inserire commenti in tutto il sito.
UPDATE wp_posts SET comment_status = 'open';
DISABILITARE i commenti per tutti gli utenti:
Questa query disabilita la possibilità per gli utenti di inserire commenti in tutto il sito.
UPDATE wp_posts SET comment_status = 'closed';
ABILITARE i commenti solo per gli utenti registrati:
Questa query SQL abilita la possibilità di inserire commenti solo per gli utenti registrati.
UPDATE wp_posts SET comment_status = 'registered_only';
ABILITARE/DISABILITARE i commenti prima di una data specifica:
Questa query SQL abilitare e/o disabilitare la possibilità di inserire commenti prima di una data specifica. È possibile modificare la funzione “comment_status” per “closed” e/o “open e la data a seconda delle esigenze.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '01-01-2014' AND post_status = 'publish'
DISABILITARE i commenti in vecchi articoli per data specifica:
Con questa query SQL è possibile disabilitare la possibilità di inserire commenti per articoli vecchi selezionandoli per data specifica.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '01-01-2014' AND post_status = 'publish'
CANCELLARE commenti contenenti un URL autore specifico:
Con questa query SQL è possibile cancellare uno o più commenti che contengono un URL specifico inserito nel campo “Sito web” dall’autore del commento.
DELETE from wp_comments WHERE comment_author_url LIKE "digitare-url";
ASSEGNARE articoli di un autore ad un’altro autore:
Con questa query SQL è possibile assegnare gli articoli scritti da un autore di nome X ad un’altro autore di nome Y. Per conoscere l’ID autore, spostarsi nell’elenco completo degli autori cliccare sopra uno di essi e individuare nella barra degli indirizzi del browser il numero dopo il codice “user_id=”.
UPDATE wp_posts SET post_author = 'vecchio-autore-id' WHERE post_author = 'nuovo-autore-id';
CANCELLARE tutti i commenti per data e ora specifica:
Questa query SQL permette di cancellare tutti i commenti ricevuti per data e ora specifica.
DELETE FROM wp_comments WHERE comment_date > '06-05-2014 01:10:04' AND comment_date <= '06-05-2014 00:10:04'
CANCELLARE tutti i commenti spam:
Utilizzando questa query SQL si cancellano tutti i commenti marcati come spam all’interno della cartella “spam”.
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
CANCELLARE tutti i commenti non pubblicati:
Utilizzando questa query SQL si cancellano tutti i commenti non pubblicati.
DELETE FROM wp_comments WHERE wp_comments.comment_approved = '0';
CANCELLARE tutti i commenti pubblicati:
Utilizzando questa query SQL si cancellano tutti i commenti pubblicati.
DELETE FROM wp_comments WHERE wp_comments.comment_approved = '1';
CANCELLARE tutti i commenti presenti nel cestino:
Utilizzando questa query SQL si cancellano tutti i commenti presenti nel cestino.
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'trash';
SOSTITUIRE del testo specifico nei commenti:
Questa query SQL permette di sostituire del testo specifico all’interno di un commento.
UPDATE wp_comments SET `comment_content` = REPLACE (`comment_content`, 'testovecchio', 'nuovotesto'
SOSTITUIRE un URL specifico all’interno di un commento:
Con questa query SQL è possibile sostiuire un URL specifico all’interno di un commento.
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.vecchiourl.it', 'http://www.nuovourl.it';
ABILITARE i pingbacks/trackbacks:
UPDATE wp_posts SET ping_status = 'open';
DISABILITARE i pingbacks/trackbacks:
>UPDATE wp_posts SET ping_status = 'closed';
ABILITARE/DISABILITARE i pingbacks/trackbacks prima di una data specifica:
Come noterete in questa query per il “ping_status” è stato scelto lo stato di “closed”, quindi in questo caso verrenno disabilitati tutti i pingbacks e i trackbacks per la data impostata.
UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '08-05-2014' AND post_status = 'publish';
CANCELLARE tutti i pingbacks:
DELETE FROM wp_comments WHERE comment_type = 'pingback';