Spams automatisch bzw. nach Alter löschen

  • Hallo,

    gibt es eine Möglichkeit, Spams automatisch oder nach Alter zu löschen? Ich benutze eine eigene Kommentar-Blacklist, welche mir vielen Müll abfängt und als Spam bei den Kommentaren kennzeichnet. Mein hartnäckiger Freund "Eric" ist auch fast jeden Tag dabei. Diese Spam-Kommentare werden dann gleich in Spam verschoben und nicht mehr per E-Mail angezeigt. AntiSpam Bee verwende ich nicht, sondern ein anderes Tool.
    Hat jemand eine Idee oder einen Ansatz, um diese blöden Spams regelmäßig zu löschen?
    Die SuFu im Forum und in Google brachte bisher keine brauchbaren Ergebnisse.
    Vielen Dank für eure Hilfe.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hi,

    AntiSpam Bee verwende ich nicht, sondern ein anderes Tool.


    Wäre natürlich jetzt hilfreich wenn du erwähnt hättest, was du als Alternative genommen hast.

    Hier wäre ein Ansatz wie das mit Akismet funktionieren würde.
    Eventuell kannst du es ja auf dein anderes Tool ummünzen.
    https://www.saotn.org/delete-spam-co…r-three-3-days/

    Bitte keine Fragen per PM, oder Foren-Chat. Für Fragen ist das öffentliche Forum da. Meine Uerdinger Seite

  • Ich benutze NinjaFirewall (WP Edition). Mit dem Comment Blacklist Manager werden die erkannten Spams ausgefiltert und als Spam deklariert. Dazu verwende ich eine eigene Blacklist, welche wie hier beschrieben auf GitHub gehostet wird. Sie fängt wie erwähnt viele Spams ab und wird regelmäßig ergänzt. Das Code-Beispiel für Akismet funktioniert erwartungsgemäß nicht bei mir. M. E. ist der Löschvorgang der Spams nicht von einem Plugin abhängig, da ich z. B. auch manuell Kommentare nach Spam verschieben kann. Es sollte also mit Bordmitteln funktionieren.

  • Ich vermute, da musst du dir ein eigenes kleines Plugin schreiben. Denkanstoß könnte dir sowas hier geben: https://gist.github.com/lgedeon/bafe38…e2c36/revisions

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ich vermute, da musst du dir ein eigenes kleines Plugin schreiben. Denkanstoß könnte dir sowas hier geben: https://gist.github.com/lgedeon/bafe38…e2c36/revisions


    Das wäre ideal, wenn ich das Script mit einem Cronjob z. B. wöchentlich aufrufen könnte. Leider ist der Code veraltet und ich finde die Lösung nicht:

    Code
    Notice: wpdb::prepare wurde fehlerhaft aufgerufen. Der Abfrage-Parameter wpdb::prepare() benötigt einen Platzhalter.
  • Eine "saubere" WordPress Lösung wäre ein regelmässiger [FONT=Courier New]get_comments()[/FONT] Aufruf mit entspr. [FONT=Courier New]date_query[/FONT] und [FONT=Courier New]status[/FONT] Parametern mit anschliessenden passenden [FONT=Courier New]wp_delete_comment()[/FONT] Aufrufen. Mehr dazu findet sich in den Entwicklerdokumentation https://developer.wordpress.org/

    Dadurch werden alle sonstigen nötigen Dinge in WordPress erledigt wie z.B. der interne Kommentar Cache bereinigt und auch entspr. Actions für weitere WordPress API Aufrufe und andere Plugins getriggert.

    Direkte Eingriffe per SQL in Datenbanktabellen sind in WordPress selten eine gute Idee.

  • Eine "saubere" WordPress Lösung wäre ein regelmässiger [FONT=Courier New]get_comments()[/FONT] Aufruf mit entspr. [FONT=Courier New]date_query[/FONT] und [FONT=Courier New]status[/FONT] Parametern mit anschliessenden passenden [FONT=Courier New]wp_delete_comment()[/FONT] Aufrufen. Mehr dazu findet sich in den Entwicklerdokumentation https://developer.wordpress.org/


    Danke für den Hinweis. Für die Umsetzung fehlen mir leider die Kenntnisse (nur Grundlagenwissen vorhanden, was bisher ausreicht).

    Ich habe mir nochmal den Tipp von Maxe vorgenommen und das kleine Script wie hier beschrieben abgeändert (prepare durch get_results ersetzt). Nun werden die Kommentare aus Spam wie gewünscht gelöscht und alle übrigen Kommentare bleiben erhalten.
    Hier das geänderte Script:


    Spricht etwas gegen diese Lösung?

  • Spricht etwas gegen diese Lösung?


    Ja, erstens das:

    Dadurch werden alle sonstigen nötigen Dinge in WordPress erledigt wie z.B. der interne Kommentar Cache bereinigt und auch entspr. Actions für weitere WordPress API Aufrufe und andere Plugins getriggert.


    Zweites wird der Code nur dann aufgerufen, wenn Du im Backend aktiv selbst das Menü Kommentare aufrufst.

    Drittens macht der Code nicht das, was Du beschreibst, also weder regelmäßig automatisch noch wird nach Alter unterschieden.

  • Ja, erstens das:
    Zweites wird der Code nur dann aufgerufen, wenn Du im Backend aktiv selbst das Menü Kommentare aufrufst.

    Drittens macht der Code nicht das, was Du beschreibst, also weder regelmäßig automatisch noch wird nach Alter unterschieden.

    Danke für die Erläuterungen. Dann bleibt nur der Einsatz eines entsprechenden Plugins wie "Advanced Database Cleaner", was ich im Grunde vermeiden wollte.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!