So findest du ungenutzte Bilder in WordPress

Ungenutzte Bilder in WordPress finden. Drei Methoden zum Aufräumen für mehr Speicherplatz und bessere Übersicht in der Mediathek.

Ich habe viele aktive WordPress-Websites gebaut und gepflegt. Einige mit Millionen von Unterseiten und zig Millionen Seitenaufrufen. Andere mit ständig aktualisierten Inhalten und Tutorials. Etwas, das sie alle gemeinsam haben, ist, dass irgendwann keine Einzelperson mehr den Überblick hat und sich zunehmend ungenutzte Ressourcen anhäufen.

Ein oft übersehener Aspekt ist die Verwaltung von Mediendateien, insbesondere Bildern. Während ein ungenutzter Text nur wenige Bytes einnimmt, können ungenutzte Bilder schnell auf hunderte Megabytes anwachsen und die Leistung und den Speicherbedarf deiner Website beeinträchtigen.

In dieser Anleitung werde ich darauf eingehen, wie du ungenutzte Bilder in WordPress findest, und praktische Strategien anbieten, um deine Mediathek aufzuräumen. All diese Abläufe habe ich selbst im Laufe der Jahre genutzt.

Warum veraltete Bilder entfernen?

Warum verdienen alte Fotos und Screenshots eigentlich unsere Aufmerksamkeit? Ungenutzte Bilder in WordPress sind ein stiller Killer für deine Effizienz, die deiner Kollegen und die deines Servers.

Der technische Teil ist leicht zu verstehen und zu messen. Da WordPress standardmäßig automatisch kleinere Kopien jedes hochgeladenen Bildes erstellt, kann schon ein einzelnes Bild, sagen wir mit 3 Megabyte, zu 5 Bildern führen, die sich auf 6 Megabyte Speicherplatz summieren.

Um dies zu reduzieren, minimiere ich Dateien vor dem Hochladen mit dem kostenlosen Online-Tool TinyPNG und lasse die Bilder in der Mediathek automatisch mit dem kostenpflichtigen Dienst von Shortpixel überwachen. Diese reduzierten Bilddateigrößen bringen insbesondere den Vorteil schneller Ladezeiten für die Besucher meiner Websites.

Selbst bei den kleinsten Hosting-Paketen hatte noch keines meiner Projekte jemals ein Problem mit Datei- oder Speicherlimits aufgrund zu vieler Bilder in der Mediathek. Aber diese Szenarien könnten existieren. Was ich jedoch bei einer großen Anzahl ungenutzter Bilddateien viel störender finde, ist, dass sie die Größe und Zeit von Backups erheblich erhöhen. Da Bilder, im Gegensatz zu textbasierten Dateien, nicht deutlich komprimiert werden können. Hier bin ich in der Vergangenheit tatsächlich an Limits gestoßen, und das Aufräumen ungenutzter Fotos hat viel geholfen.

Während mich Dateigrößen nur gelegentlich stören, nehmen ungenutzte Bilder meine mentalen Kapazitäten ein. Beim Schreiben von Tutorials versuche ich, Bilder wiederzuverwenden, die zu anderen Beiträgen hochgeladen wurden. Meistens finde ich sie über die Mediathek-Suche. Wenn niemand für einige Zeit die Mediathek bereinigt hat, muss ich oft durch mehrere alte Screenshots gehen und unsere Software einrichten, um zu sehen, ob die Bilder noch aktuell sind. Ich weiß, dass meine Kollegen das gleiche Problem haben.

Sehen wir uns nun an, welche Methoden ich in der Vergangenheit ausprobiert habe, um ungenutzte Bilder in WordPress zu finden und die Mediathek für mehr Effizienz aufzuräumen.

Veraltete Bilder in der Mediathek auflisten

Natürlich ist die WordPress-Mediathek die erste Anlaufstelle, um ungenutzte Bilder zu finden. Allerdings ist diese Methode sehr fehleranfällig, hauptsächlich weil WordPress standardmäßig keine Funktion hat, um zu verfolgen, wo ein Bild verwendet wird.

In der Listenansicht der Mediathek kannst du die Informationen unter “Hochgeladen zu” sehen. Dies zeigt aber nur den Beitrag an, zu dem das Bild hochgeladen wurde. Diese Informationen ändern sich nicht, wenn ein Bild aus diesem Beitrag entfernt wird, noch zeigen sie andere Beiträge, zu denen das Bild hinzugefügt wurde.

Unten siehst du, wie du die Listenansicht oben links aktivieren kannst und wo “Hochgeladen zu” erscheint.

Mediathek in der Listenansicht mit Hervorhebung auf die Hochgeladen zu Spalte
Mediathek in der Listenansicht mit Hervorhebung der “Hochgeladen zu” Spalte

Fazit: Die Informationen zu “Hochgeladen zu” sind ein guter Ausgangspunkt, um ein Bild auf einer WordPress-Seite zu finden, aber nicht, wo es nicht (mehr) verwendet wird.

Ungenutzte Bilder mit einem Plugin identifizieren

Nachdem ich frustriert war, dass die Mediathek keine ungenutzten Bilder anzeigt und ich – über Jahre hinweg – stundenlang in der Datenbank herumgefummelt habe, um diese zu tun, fiel mir auf, dass mein Image Source Control-Plugin, das ich ursprünglich gebaut hatte, um Bildbeschriftungen und -autoren anzuzeigen, so angepasst werden konnte, dass es dabei hilft.

Das Ergebnis ist die Übersicht “Ungenutzte Bilder” im WordPress-Backend, die mir alle Bilder zeigt, die das Plugin nirgends auf der Website finden konnte. Hiermit kann ich ganz schnell die WordPress Mediathek aufräumen.

Um Bildbeschriftungen und Informationen zum Copyright-Inhaber zu verwalten, verfügt Image Source Control bereits über einen internen Index, der aufzeigt, wo ein Bild verwendet wird. Man muss Bilder nicht manuell bestimmten Beiträgen zuordnen, wie der WordPress-Core dies tut. Zudem findet ISC auch Bilder außerhalb des eigentlichen Beitragsinhalts.

Die zusätzliche Option “Tiefenanalyse” sucht nach Bildern in Beitrags-Meta-Informationen oder Optionen. Dort speichern einige Themes und Plugins bildbezogene Informationen. Selbst der WordPress-Core tut dies für das Favicon.

Mit Image Source Control kannst du in WordPress nicht genutzte Medien löschen und damit Zeit und Geld sparen.

SQL-Abfragen für fortgeschrittene Anwender

Für diejenigen, die mit SQL und Datenbankmanagement vertraut sind, kann die Verwendung von SQL-Abfragen der präziseste und effizienteste Weg sein, um ungenutzte Bilder in WordPress zu finden.

Die Verwendung von benutzerdefinierten SQL-Abfragen gibt mir eine unübertroffene Kontrolle über den Prozess und ermöglicht es mir zu sehen, wo ein Bild verwendet wird. Allerdings ist dieser Ansatz riskant; ein kleiner Fehler könnte die Datenbank beschädigen.

Erstell also vor dem Schreiben von SQL eine Sicherung deiner Datenbank. Oder mach es wie ich, wenn es dein Hosting erlaubt, und erstelle in PHPMyAdmin eine Kopie der Datenbank. Damit kannst du zunächst alle Abfragen in dieser Kopie ausführen, bevor du sie auf die Produktionsdatenbank anwendest.

Ungenutzte Bilder mit SQL finden

Ein präziser Ansatz, um ungenutzte Medien zu finden, besteht darin, nach Anhängen zu suchen, die nicht in der post_content-Spalte der wp_posts-Tabelle referenziert werden. Hier ist die SQL-Abfrage, die du dafür verwenden kannst:

SELECT p1.ID, p1.post_title
FROM wp_posts p1 
WHERE p1.post_type = 'attachment'
AND p1.post_mime_type LIKE 'image%'
AND NOT EXISTS (
    SELECT 1 
    FROM wp_posts p2
    WHERE p2.post_status = 'publish' 
    AND p2.post_content LIKE CONCAT('%', p1.guid, '%')
);Code-Sprache: JavaScript (javascript)

Diese Abfrage macht Folgendes:

  1. Sie wählt alle Beiträge aus wp_posts aus, bei denen post_type ‚attachment‘ ist und der MIME-Typ ein Bild anzeigt.
  2. Sie überprüft dann, ob die guid dieser Anhänge im post_content veröffentlichter Beiträge vorhanden ist.

Du musst diese Abfrage anpassen, um die Bildverwendung in Widgets, Optionen oder anderen benutzerdefinierten Feldern zu überprüfen. Jeder Anwendungsfall würde eigene benutzerdefinierte SQL-Abfragen benötigen. Wenn du nicht weißt, wie du diese schreibst, oder nicht über die Mittel für einen Entwickler verfügst, der stundenlang daran arbeitet, schau dir Image Source Control als zuverlässige, nicht-technische Lösung an.

Volltextsuche ausführen

Ich habe die Volltextsuche in PHPMyAdmin hauptsächlich verwendet, um herauszufinden, wo ein einzelnes Bild verwendet wird. Dies hilft, Bilder überall zu finden, nicht nur im Beitragsinhalt.

Diese Methode erfordert ein angemessenes Verständnis der WordPress-Datenbankstruktur, sodass du weißt, wie du gefundene Einträge handhaben musst.

Für Details und Beispiele, schau dir auch mein ausführliches Tutorial darüber an, wie man ein Bild in WordPress findet.

Wenn du kein erfahrener Entwickler bist, möchtest du dir vielleicht Image Source Control ansehen, eine zuverlässige Möglichkeit, um nach ungenutzten Bildern zu suchen.

Ungenutzte Bilder löschen

Nach der Überprüfung kannst du ungenutzte Bilder entweder manuell über das WordPress-Dashboard löschen oder eine weitere SQL-Abfrage ausführen, um sie aus der Datenbank zu entfernen. Ich würde immer empfehlen, das WordPress-Backend zu verwenden, um ungenutzte Bilder zu entfernen, da dies auch die Dateien auf deinem Server und zusätzliche Abhängigkeiten löscht.

So sähe die konkrete SQL-Query aus:

DELETE FROM wp_posts WHERE ID IN (list_of_unused_image_ids); DELETE FROM wp_postmeta WHERE post_id IN (list_of_unused_image_ids);

Ersetze list_of_unused_image_ids durch die durch Komma getrennten IDs der zu löschenden Bilder.

Fazit: Zeit zum Aufräumen deiner WordPress-Mediathek

Ungenutzte Bilder können still und leise die Leistung und Benutzerfreundlichkeit deiner WordPress-Website beeinträchtigen. Das haben sie jahrelang auf meinen Websites getan.

Egal, ob du dich für eine manuelle Inspektion entscheidest, Image Source Control verwendest oder den SQL-Weg gehst, ich empfehle, die Mediathek als regelmäßigen Teil deiner Website-Wartung zu optimieren. Ich persönlich habe dafür in jedem Quartal Zeit reserviert.

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

Fragen? Wie kann ich helfen?