Jos käytössä on WordPressin oletuskommentointi, tällöin on hyvin todennäköistä, että sivustolle alkaa suosion kasvaessa tulla yhä enemmän automaattisten bottien syöttämiä spam-kommentteja. Ongelma ei ole erityisen suuri, jos kommentteja tulee harvakseltaan, mutta joillakin sivustoilla määrä saattaa räjähtää käsiin. Vaikka roskapostisuodattimet saattavatkin siirtää kommentit suoraan spam-laatikkoon, sekin saattaa ajan myötä tulla ongelmaksi. Tällä kertaa käymme läpi, miten poistaa iso määrä spam-kommentteja suoraan tietokannasta.
Miksi poistaa?
Miksi sitten spam-kommentteja pitäisi poistaa? Nehän ovat kommenteissa omassa osiossaan, eikä niitä näytetä julkisella puolella. Tähän on parikin syytä. Ensimmäiseksi tietokannan kasvun mukana saattaa myös tulla suorituskyvyllisiä ongelmia. Toiseksi varmuuskopiointi vie enemmän tilaa. Juuri tällä viikolla poistin eräältä sivustolta 60 000 spam-kommenttia. Tämän myötä tietokannan varmuuskopion koko tippui 120 megatavusta 10 megatavuun. Tietokantavarmuuskopion tilan tarve tippui siis huomattavasti.
Kuinka poistaa?
Erittäin suuren kommenttimäärän poistaminen ei ole mukavaa suoraan ylläpidosta, sillä kommentteja voi listata maksimissaan 999 kappaletta, ja niinpä kommentteja voi poistaa vain 999 kerrallaan.
Kaikki spam-kommentit voi poistaa myös kerralla ajamalla SQL-kyselyn suoraan tietokantaan. Tämä vaatii sitä, että tietokantaan pääsee käsiksi suoraan jollakin työkalulla. Yleensä webhotellien cPanelissa on asennettuna phpMyAdmin, jolla SQL-kyselyn saa suoritettua. Myös tämä ohje on tehty käyttäen phpMyAdminia.
Ensimmäisenä phpMyAdmin pitää löytää cPanelin hallinnasta.
Tämän jälkeen pitää valita oikea tietokanta, jos niitä on useita.
SQL-välilehdellä pystymme suorittamaan halutun SQL-kyselyn.
Kysely on seuraavanlainen:
[etutunniste] tulee muuttaa siihen, mikä se sinun tietokannassasi on. Esimerkissä etuliite on test.
Kun kysely on kirjoitettu kenttään, sen voi suorittaa painamalla Siirry. Tämän jälkeen phpMyAdmin kysyy vielä, että haluaako kyselyn varmasti suorittaa.
Jos tähän vastaa kyllä, kysely suoritetaan. Kannattaa huomata, että kyselyn ajamisessa saattaa kestää jonkin aikaa, jos poistettavaa on paljon. Suorituksen jälkeen käyttäjälle ilmoitetaan, kuinka monta riviä poistettiin.
Seuraavaksi kun menee WordPressin ylläpidon kommentit-osioon, siellä ei pitäisi olla enää yhtään spam-kommenttia.
Olen mielestäni toiminut täysin ohjeiden mukaisesti, mutta siitä huolimatta saan tämän ilmoituksen, enkä pysty poistamaan kommentteja:
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’[wp]_comments WHERE comment_approved = ’spam” at line 1
Osaisitko sanoa, mistä tämä johtuu? Tuo etuliite minun tietokannassani on ”wp”, joten kopioin sen tuon sinun ”test”-sanan tilalle. Suuret kiitokset jo etukäteen, jos ehdit vastata!
Etutunnisteeseen ei kuulu laittaa ympärille [ ja ] merkkejä, vaan siinä pitäisi olla wp_comments