WP – Trackback Validator Spam Cleaner (Plugin)

Ich nutze den Trackback Validator schon lange Zeit und bin mit dem Ergebnis recht zufrieden. Allerdings gab es einige kleine Sachen, die mir nicht gefallen haben: unter anderem wollte ich die Einträge in der Datenbank nicht unnötig groß halten und zum anderen werden auch mal, zwar sehr selten, Trackbacks als Spam deklariert, die kein Spam sind, und ich kann sie nicht wieder herstellen – sie sind also verloren. Um die Datenbank immer mal wieder zu leeren musste ich immer über mein mySQL-Tool gehen.

Deshalb habe ich mich entschieden eine kleine Erweiterung zum Plugin Trackback Validator zu schreiben. Wer diese Punkte ebenso möchte, der kann dieses Plugin nun downloaden und nutzen.

Anforderungen:

Trackback Validator Spam Cleaner läuft ab WordPress Version 1.5* und benötigt den Trackback Validator.

Installation:

  1. Zuerst einmal muss das Plugin Trackback Validator installiert werden. Dazu das zip auf der Seite downloaden, lokal entpacken und den kompletten Ordner TBValidator in dein Plugin-Verzeichnis kopieren (/wp-content/plugins/).
  2. Nun das Zusatzplugin downloaden und in trackback_validator_cleaner.php umbenennen
  3. Die Datei in den Ordner TBValidator in deinem Plugin-Verzeichnis kopieren (/wp-content/plugins/).
  4. Gehe nun in deinen Admin-Bereich und aktiviere das Plugin Trackback Validator und Trackback Validator Spam Cleaner
  5. Alle weiteren Einstellungen und Ausgaben zum Plugin Trackback Validator Spam Cleaner findest du unter „Verwalten“, die Einstellungen zum Plugin Trackback Validator findest du im Bereich „Optionen“

Screenshot TBV Cleaner

Hinweise:

Achtung – Das Löschen in der Datenbank kann nicht rückgängig gemacht werden !
Gibt es die Möglichkeit, einen als Trackback-Spam identifizierten Eintrag wieder herzustellen, so ist eine Checkbox vor dem Eintrag ersichtlich und es muss nur der Button „Unspam mich!“ geklickt werden, natürlich die Checkbox, oder mehrere, vorher aktivieren.

Download:

Download als php-Datei
Download als phps-Datei: trackback_validator_cleaner.phps – 8 KByte

Download: Beta 0.66

Update: 16.Okt 21:47
Download als php-Datei
Download als phps-Datei (beta): spam_viewer.phps (beta) – 13 KByte

Hinweise zur Beta:
Wichtig ist, dass die Version 0.1 deaktiviert wurde und gelöscht bzw. umbenannt, so das sie im Plugin-Verzeichnis des Adminberieches von WP nicht erkannt wird, also zum Beispiel in .php.old . Die Datei kann überall im Plugin-Ordner liegen. Es muss also nicht das Plugin Trackback Validator aktiv sein. Nun werden auch die Einträge in Tabelle comments gezeigt, die WP als Spam deklariert, von welchem Plugin auch immer. Werden Einträge gerettet, so werden sie automatisch frei geschaltet, sind also sofort in den Kommentaren ersichtlich.

0.66 – alles was irgendwie als Spam in der DB liegt, in _comments und db_data wird nun erkannt und kann gelöscht werden, massenweise, oder kann gerettet werden, durch Anwahl.

** Würde mich freuen, wenn einige Leute Testen und mir ein Feedback geben.

Historie:

  • v0.1 – eine Idee umgesetzt
  • v0.4 – alle Einträge in Tabelle comments und tb_data können gelöscht oder gerettet werden, funktioniert nun auch, wenn die Tabelle tb_data leer ist.
  • 0.6 – neues Konzept, derzeit in der Beta, alles was irgendwie in _comments oder _tb_data als Spam liegt kann gerettet oder gelsöcht werden
  • ToDo – deustches Sprachfile (pot)

28 Comments

  1. Ich nutze den Trackback Validator und zusätzlich Akismet. In der Akismet-Verwaltung erscheinen dann auch die durch den trackbackValidator als Spam gekennzeichneten Beiträge und man kann sie per Mausklick wiederherstellen oder dauerhaft löschen.

    Grundsätzlich sieht ja WordPress vor, in der MySQL-Comments-Tabelle das Feld "comment_approved" auf "spam" zu setzen, um Spam zu markieren, leider bringt halt WordPress keine Verwaltung dafür mit. Aber wie gesagt, mit Akismet ist das möglich.

  2. Hallo Michael,
    das könnte ich prinzipiell auch hier einbauen, aber nicht für die "Spam-Trackbacks". Erkennt der Trackback-Validator einen Trackback als Spam, so wird er nur noch in der Tabelle tb_data verwaltet, er taucht nicht mehr in der Tabelle von WP auf (comments). Ist sich der TBV nicht sicher, so setzt er den Trackback in seiner Tabelle auf "ham" und lässt in in der Tabelle von WP, so dass ich mir den nehme und in der WP-Tabelle frei schalte und gleichzeitig wird er in der tb_data gelöscht.
    Vielleicht sollte man den TBV nochmal in der Hinsicht ändern, so dass er den Eintrag nicht in die eigene Tabelle schreibt, sondern in WP belässt und “comment_approved” auf Spam setzt, so könnte man einfach auf 1 setzen und er ist sichtbar.

    Ich möchte mit diesem Plugin eingentlich "nur" die DB von WP klein halten und eventuell unsichere Einträge wieder herstellen.

    LG Frank

  3. Nun gut, dann gebe ich noch heute die Version 0.2 heraus (schönes beta - wollte ich schon immer mal machen, ist ja wohl jetzt Trend) und ihr müsst mit mir Testen. Diese Version löscht nun auch in Tabelle comments die einträge, die auf 'comment_approved' - 'spam' laufen.

    Bitte um Feedback!

  4. Danke für die Info Frank, das war mir nicht bewusst, dass das Plugin die Trackbacks in einer separaten Tabelle ablegt. Damit ist Dein Plugin sehr hilfreich 🙂
    Ich habe kurz Deine Beta-Version getestet, es fällt auf, dass Trackbacks mit gleicher ID mehrfach gelistet werden.
    Dann noch eine Anregung: Hilfreich wäre eine Möglichkeit der "Massen-Löschung" von Spams mit gleichen Hostnamen, wie z.B. http://boakes.org/akismet-worst-offenders

  5. Benutze jetzt die 0.5
    Funktioniert nicht so ganz sauber. Akismet und SpamViewer scheinen Ping-Pong zu spielen, sprich ich habe gerade 2 Spamkommentare drinne, lösche die in SpamViewer, klicke auf Akismet, schwubbs sind die im SpamViewer auch wieder drin.
    Komischerweise ist das nicht mit allen so.

  6. dann bitte nun nochmal die Version 0.6, gleicher Download - Danke für die Hilfe.
    Am schönsten wäre es natürlich, wenn ich bei dir ins Admin sehen könnte incl. DB. Verstehe es aber natürlcih ebenso, wenn das nicht geht. Würde mir aber sehr helfen, da ich diese Problem nicht habe. Ich würde mir gern mal ansehen, was in den Tabellen steht. Du kannst mir aber auch gern ein Update deiner DB senden.

  7. na, kein Glück, bekomme in der Options-View bei Klick auf die Viewer-Lasche nur das Angebot, eine Datei namens edit.php downzuloaden. Das war ähnlich wie mit einem anderen Deiner Plugins (vergessen, was für eins), das ich nutzen wollte. Nun ja, Pech halt, schade.

  8. Hallo Robert,
    dein beschriebenes Problem liegt nicht am Plugin. Die Einbindung von Ihalt im Adminbereich ist ganz klar von WP durch Hooks vorgegeben. Denke mal, dass es zu viele Datensätze bei dir sind und die Abfrageb deshalb zu lange gedauert hat, da bietet der Browser dann machmal die edit.php an. Bist du so gut und saugst die neue Version 0.67, soeben fertig, und versucht es nochmal. Danke!
    LG Frank

  9. ah, ok, dann wird es klarer, dass es sich um ein Laufzeitproblem handelt... denn auch mit dem Update klappt es nicht, gleiches Problem. Es wird wohl daran liegen, dass er die Anzeige von über 13.000 Einträgen nicht packt. Wie würde es aussehen, wenn man die Anzeige paginiert?

  10. Hy Robert,
    danke für die Hinweise. Habe nun es so gestalltet, dass immer eine bestimmte Zahl geladen wird, so dass die DB-Abfrage nicht unenendlich sein kann. Seiten habe ich erstmal nicht eingebaut, da man es ja eigentlcih nir benötigt, es sei denn beim ersten mal. Wäre also schön, wenn nun v0.68 nochmal testen könntest.
    LG Frank

  11. ok,getestet mit dem neuesten Teil, immer noch in der Manage-View die Zahl 13.xxx und beim anklicken kommt erneut "download von edit.php" 🙂 Ich bin wohl ein hoffnungsloser Fall 😉

  12. da scheint noch was im Argen zu liegen. Wenn ich einen bestehend Blog-Artikel updaten möchte, kam heute bereits zweimal dieser Fehler (andere IDs natürlich). Obwohl die Plugins deaktiv sind.

    WordPress database error: [Duplicate entry '5954' for key 1]
    INSERT INTO `wp_tla_rss_map` SET post_id = '5954', advertisement = ''

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/basicthinking.de/htdocs/blog/wp-includes/wp-db.php:104) in /var/www/virtual/basicthinking.de/htdocs/blog/wp-includes/pluggable-functions.php on line 272

    habe nunmehr die Files auf dem Server deleted und nun scheint es ohne Fehler zu gehen, Artikel upzudaten. wuahh...

  13. update, zu früh gefreut, der Fehler kommt nun bei allen Artikel-Updates, die anscheinend (tippe ich mal) mind. 1 TB enthalten. Wie kann ich den Fehler nun bereinigen?

  14. Hallo Frank,
    ich nutze WP 2.04 bin die Anleitung mehrfach durchgegangen und glaube alles richtig gemacht zu haben...
    Der Trackback Validator Spam Cleaner lässt sich nicht aktivieren, da er einfach nicht angezeigt wird!

    "# Ordner Webvalidator in dein Plugin-Verzeichnis kopieren (/wp-content/plugins/).
    # Nun das Zusatz plugin downloaden und in trackback_validator_cleaner.php umbenennen
    # Die Datei in den Ordner Webvalidator in deinem Plugin-Verzeichnis kopieren"

    Woran könnte das liegen? Irgendein anderes Plugin im Weg?

  15. Wenn ich den Cleaner aktiviere erscheint folgende Fehlermeldung:

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/pxsmail.php on line 1

    Warning: Cannot modify header information - headers already sent by (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-admin/admin.php on line 10

    Warning: Cannot modify header information - headers already sent by (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-admin/admin.php on line 11

    Warning: Cannot modify header information - headers already sent by (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-admin/admin.php on line 12

    Warning: Cannot modify header information - headers already sent by (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-admin/admin.php on line 13

    Warning: Cannot modify header information - headers already sent by (output started at /home/kommunik/public_html/ordnungspolitik/wp-content/plugins/TBValidator/trackback_validator_cleaner.php:173) in /home/kommunik/public_html/ordnungspolitik/wp-admin/plugins.php on line 14

Comments are closed.