Ungenutzte Bilder in WordPress löschen

Erfahre mehr über die Angabe „Hochgeladen zu“ und mit welchen Einschränkungen du sie nutzen kannst.

Nutzer fragen mich regelmäßig, warum die Information „Hochgeladen zu” in der Mediathek von den Informationen abweicht, die mein Plugin Image Source Control anzeigt, bevor man in WordPress ungenutzte Bilder löschen kann.

Die kurze Antwort ist, dass WordPress die Information „Hochgeladen zu” nur speichert, wenn du ein Bild direkt im Beitrag-Editor hochlädst. Danach wird diese Information nicht mehr aktualisiert. Im Gegensatz dazu überprüft Image Source Control ständig, wo Bilder tatsächlich verwendet werden.

Für diesen Beitrag habe ich mich tief in den WordPress-Core eingegraben, um herauszufinden, wie „Hochgeladen zu“ technisch funktioniert und welche Einschränkungen es gibt, wenn du nicht verwendete Bilder löschen willst.

Zusammenfassung:

  • Die Information „Hochgeladen zu” wird nur in dem Moment geschrieben, in dem ein Bild über den Beitrag-Editor hochgeladen wird.
  • WordPress aktualisiert diese Information nicht, wenn die Datei entfernt oder in einem anderen Beitrag verwendet wird.
  • Du kannst Bilder manuell über die Listenansicht in der Mediathek mit Beiträgen verknüpfen („attach“) oder von Beiträgen loslösen („detach“).
  • Verwende Image Source Control, um ungenutzte Bilder zu identifizieren wenn du die WordPress Mediathek aufräumen willst.

„Hochgeladen zu“ aus technischer Sicht

Einige Nutzer verwechseln die Information „Hochgeladen zu“ in WordPress mit etwas wie „Verwendet in“ und vermuten, es würde ihnen helfen, angehängte und losgelöste Bilder zu identifizieren. Das ist weit von der Realität entfernt. Die WordPress-Entwickler haben diese Information nicht einmal dafür vorgesehen, ungenutzte Bilder zu identifizieren.

Alle Informationen darüber, wer ein Bild wann und wo hochgeladen hat, werden in jeweils einem Feld in der wp_posts Tabelle gespeichert.

  • Hochgeladen zu => post_parent
  • Hochgeladen von => post_author
  • Hochgeladen am => post_date

Es macht Sinn, dass nur ein Autor ein bestimmtes Bild an einem bestimmten Datum in einen bestimmten Beitrag hochladen kann. Dies zu verwechseln ist nur ein Problem, wenn WordPress-Nutzer hoffen, dass die Information „Hochgeladen zu“ aktualisiert wird, und sie diese nutzen können, um zu identifizieren, wo ein Bild tatsächlich eingebettet ist.

WordPress verknüpft Bilder mit Beiträgen in der Funktion wp_media_attach_action() in wp-admin/includes/media.php. WordPress verwendet diese Funktion auch, um Bilder und Beiträge loszulösen („unattach“), was bedeutet, den Wert aus dem Feld post_parent zu entfernen.

Das Problem mit nicht verwendeten Bildern

Bilder werden an Beiträge angehängt, wenn du sie über den Beitrags-Editor hochlädst, z.B. indem du den Bild-Block oder einen anderen Medienblock verwendest oder ein Bild in den Beitrag ziehst.

Wenn du ein Bild direkt in die Mediathek hochlädst und dann diesem Bild einem Beitrag hinzufügst, wird es nicht an diesen Beitrag angehängt, d.h. es wird nicht unter „Hochgeladen zu“ angezeigt.

Wenn du ein verknüpftes Bild aus einem Beitrag entfernst, wird die Information „Hochgeladen zu“ ebenfalls nicht aktualisiert und zeigt weiterhin diesen Beitrag, auch wenn du das Bild in einem anderen Beitrag oder einer Seite verwendest.

Im Gegensatz dazu erstellt Image Source Control einen zuverlässigen Index der tatsächlichen Bildnutzung im Frontend.

Das Plugin benötigt einen solchen Index für seine Kernfunktionen: WordPress Mediathek aufräumen und Bildquellen angeben.

Die Übersicht von Bildern und den Beiträgen, in denen sie genutzt werden, findest du auf der Werkzeuge-Seite von Image Source Control.

Bilder von Beiträgen loslösen und verknüpfen

WordPress ermöglicht es dir, ein Bild manuell von einem Beitrag zu lösen. Diese Option ist nur in der Listenansicht der Mediathek verfügbar.

Gehe zu Medien > Mediathek. Finde das Icon für die Listenansicht oben links. Du solltest die Spalte „Hochgeladen zu“ in der Liste mit Links zum Verknüpfen oder Lösen von Bildern finden.

Klicke auf den Link „Loslösen“ in der Spalte „Hochgeladen zu“, um die Beziehung zwischen einem Bild und einem Beitrag sofort zu entfernen.

Du kannst auch ein nicht verknüpftes Bild manuell einem Beitrag zuweisen, indem du den „Verknüpfen“ Link verwendest. Ich wette, dass 99% der WordPress-Nutzer noch nie darauf geklickt haben oder wissen, was als nächstes erscheint:

Solltest du in WordPress nicht verwendete Bilder löschen?

Es spricht durchaus dafür, eine aktuelle Liste mit den wirklich verwendeten Bilder zu führen. So kannst du zu jedem Zeitpunkt deine WordPress Mediathek aufräumen.

Allerdings stößt WordPress an seine Grenzen, wenn du dasselbe Bild in mehreren Beiträgen oder außerhalb des Beitraginhalts verwendest.

Idealerweise pflegen wir als Publisher eine Liste mit den Verknüpfungen zwischen Bildern und Inhalten. Mir persönlich war das zu aufwendig. Daher habe ich Image Source Control so erweitert, um automatisch Listen verwendeter und nicht verwendeter Bilder zu erstellen, die ich jederzeit nach Belieben überprüfen kann.

Besonderer Fall: Zugeschnittene Bilder

Ich bin auf ein interessantes Verhalten gestoßen, während ich den Code durchsah, der Bilder an Beiträge anhängt und von ihnen löst. Es beeinträchtigt meine Arbeit zwar nicht, aber ich möchte es trotzdem erwähnen, da es nicht das erste Mal ist, dass zugeschnittene Bilder unerwartete Verhalten an den Tag legen, wenn es darum geht, Informationen vom Originalbild zu behalten oder zu entfernen.

Ansicht zum Zuschneiden von Bildern in der WordPress Mediathek.
Die Ansicht zum Zuschneiden von Bildern im WordPress-Dashboard.

Wenn du ein Bild über die Mediathek zuschneidest, ersetzt das neu generierte Bild den alten Eintrag.

Das alte wird trotzdem im Beitrag verwendet.

Das neue zugeschnittene Bild, jetzt technisch nicht im Beitrag verwendet, zeigt dennoch den Eintrag „Hochgeladen zu“ auf der Medienseite im Backend an.

Fazit

In 15 Jahren Arbeit mit WordPress habe ich die „Verknüpfen“-Funktion zum ersten Mal verwendet, während ich diesen Beitrag schrieb. Ich habe auch noch nie jemand anderen gesehen, der sie nutzt.

Ich kann endlich eine tiefere Erklärung für Kunden geben, die nach „Hochgeladen zu“ fragen. Wie das Label sagt, ist es nur ein Schnappschuss von dem Moment, in dem jemand ein Bild hochgeladen hat. Die Information wird nicht aktualisiert, wenn du Bilder an Beiträge anhängst oder von ihnen löst und kann daher nicht verwendet werden, wenn du in WordPress nicht genutzte Medien löschen willst.

FAQ

Was sind ungenutzte Bilder in WordPress?

Bilder gelten technisch gesehen als ungenutzt, wenn du sie nicht über den Beitrags-Editor hochlädst, sondern, zum Beispiel, direkt in die Mediathek. Dabei kommt es nicht darauf an, ob und wo die Bilder letztendlich verwendet werden.

Wie kann ich Bilder von Beiträgen loslösen?

Die einzige nicht-technische Möglichkeit ist über die Listenansicht in der Mediathek. Gehe zu Medien > Mediathek > Liste und suche nach der Spalte „Hochgeladen zu“. Dort findest du den Link “Loslösen”.

Porträt von Thomas Maier, Gründer und Geschäftsführer von Image Source Control

Fragen? Wie kann ich helfen?