Je tomu už skoro měsíc, kdy se v diskuzi ve Facebook skupině věnující se WordPressu objevil dotaz, jak smazat všechny spam komentáře, které jsou označeny, jako spam.

Rozhodl jsem se na tento problém podívat detailněji.

Abychom předešli nedorozumění pojďme si ukázat, jaké typy komentářů budeme mazat:

 

Jedná se tedy o všechny komentáře v záložce spam.

Smazání komentářů pomocí SQL dotazu

Jako základním krokem vidím smazání komentářů přes SQL dotaz do databáze. Všechny komentáře se nacházejí v tabulce wp_comments 

Rozdělení komentářů je ve sloupečku comment_approved. Dotazy mohou tedy vypadat takto:

 

Smazání všech komentářů, které čekají na schválení

 Smazání všech komentářů, které jsou již schválené

Smazání všech komentářů v koši

 A konečně smazání všech komentářů označených jako spam

 

Osobně volím tuto možnost, protože pokud to děláte například přes phpMyAdmin, tak si rovnou můžete udělat zálohu, kdyby náhodou 🙂

Po provedení dotazu na smazání spam komentářů budete mít databázi očištěnou od těchto špinavých komentářů 🙂

 

A zkontrolovat to opět můžeme v administraci WordPressu:

 

Použitím pluginu

Pro lenochy a pro ty, kteří se nebojí nacpat si do WP další plugin jsou tu plugin WPCommentCleaner. Který po nainstalování pomůže s mazáním komentářů.

Po instalaci se plugin objeví přímo v menu v administraci WordPressu:

 

No a samozřejmě nabídka, obsahující bohužel jen 3 typy komentářů a to neschválené komentáře, spam komentáře a schválené komentáře.

Po smazání dojde tedy k odstranění komentářů podle zvoleného „filtru“ 🙂 Bohužel bez možnosti zálohy nebo smazání komentářů z koše.

 

A jak řešíte mazání komentářů ve WordPressu vy? Manuálně mažete přes administrac,i nebo máte lepší způsob? 🙂

Sdílej a pošli článek dál. Děkuji! 🙂
 
  1. Separatista says:

    SQL dotaz není dobrý nápad. Pokud chcete smazat pouze Spam, tak tam je přímo tlačítko „Hromadně smazat spam“ a nemusíte vůbec pracovat s databází. A pokud jde o komentáře určené ke schválení, tak tam je situace trochu složitější, ale při použití zmiňovaného SQL dotazu dojde k tomu, že může v tabulce wp_commentmeta zůstat spousta zbytečných dat (a to navždy). Uvedený plugin tuto situaci také patrně moc neřeší a využívá stejný SQL dotaz.

    • Wladass says:

      Děkuji za podnět k zamyšlení. Osobně jsem o tomto nevěděl. Nicméně jsem chtěl WPCommentCleaner upravit, aby mazal právě věci, které nyní nemaže. Takže bych se mohl podívat, jaký SQL dotaz používá a popř. jej editnout aby mazal i příslušná data z wp_commentmeta.

  2. Peto says:

    ja som doteraz mazal spam komentáre ručne ale toto je celkom zaujímavý spôsob asi si ho vyskúšam, mal by trochu urýchliť prácu

  3. Kerel says:

    Pokud zrovna nemáte totálně zaspamovaný web, tak SQL a plugin snad ani není potřeba ne? Stačí smazat s administrace. Osobně bych se v sql moc extra nehrabal a plugin na takovou věc je prostě zbytečný a ještě nebezpečný.

Napsat komentář