it-swarm.com.de

Wie lösche ich alle NICHT VERWENDETEN Bilder aus meinem Upload-Verzeichnis?

Ich versuche, meine Upload-Ordner zu bereinigen, da sie jetzt zu viel Platz auf meinem Server beanspruchen.

Ich habe versucht, Plugins zu verwenden, um dieses Ziel zu erreichen, wie z. B. DNUI und Cleanup Images, aber diese Plugins sind entweder nicht funktionsfähig oder in DNUIs Fall (der kürzlich aktualisiert wurde und funktioniert) werden nicht die genauen Ergebnisse erzielt, die ich anstrebe. Dies liegt daran, dass meine Website Woocommerce und ein Thema verwendet, bei dem Bilder an anderen Orten verwendet werden und nicht nur Posts oder Seiten wie Kopf- und Fußzeilen oder Galerien. Es scheint, als ob WC ein eigenes, in Lightbox integriertes Plugin namens Pretty Photo verwendet, von dem aus die Bilder aufgerufen werden, die von DNUI als "unbenutzt" bezeichnet werden.

Ich weiß, dass es ein bisschen eine Frage ist, aber ich frage mich, ob mich jemand in die richtige Richtung weisen könnte? Ich bin kein Entwickler, sollte also wahrscheinlich nicht einmal hier posten, aber ich kann die Dinge mit Zeit und Entschlossenheit ausarbeiten. Ich habe auf dieser Site Skripte gesehen, die die gleichen Ergebnisse wie das DNUI-Plugin erzielen, aber nichts, was andere Bildverwendungen berücksichtigt (wenn es überhaupt möglich ist?). Jede Hilfe wäre sehr dankbar.

20
G-Olly

Bilder mit dem Plugin löschen:

Sie können dieses Plugin verwenden, es durchsucht Ihre Datenbank und prüft, ob ein Bild in einen Beitrag (im Inhalt, als ausgewähltes Bild, in einem benutzerdefinierten Feld, irgendwo ...) oder als Hintergrund eingefügt wurde ...

Wenn das Bild nirgendwo verwendet wird, können Sie es löschen. Sie erhalten eine Liste aller Bilder auf Ihrer Website, die nicht mehr verwendet werden, sodass Sie sie sicher löschen können.

https://wordpress.org/plugins/dnui-delete-not-used-image-wordpress/

und das funktioniert immer noch, auch wenn es veraltet ist

https://wordpress.org/plugins/wordpress-uploaded-files-cleaner/


Bilder manuell löschen:

Sie können Ihre Medienbibliothek auch nach Bildern durchsuchen, die nicht an Beiträge und Seiten gebunden sind.

Gehen Sie zur Medienbibliothek und klicken Sie auf "nicht verbunden". Es werden alle Bilder angezeigt, die möglicherweise auf anderen Teilen Ihrer Website angezeigt werden oder nicht verwendet werden.

4
Advanced SEO

Cron/Geplante Aufgaben und ein DB-Crawl ist dein Freund

Es müsste ein Plugin sein, Sie könnten ihm sogar ein wp_cron-Intervall zuweisen, ähnlich dem oben vorgeschlagenen, aber mit dem Zusatz, dass jedes Feld, das einem post_content-Feld ähnelt, markiert wird (Sie müssen diese identifizieren, abhängig von Ihrem WP environment) für die URI/URL des Bildes. Dies kann die Prozesse des Systems extrem zeitaufwändig/anstrengend machen - realistischerweise müsste dieser Prozess nur einmal am Tag oder in der Woche ausgeführt werden - vorausgesetzt, es gibt keine anderen rechtlichen/geschäftlichen Gründe für eine häufigere Ausführung.

eine Master-Slave-DB-Konfiguration der Quelle ermöglicht, dass dieser Prozess erheblich weniger Leistungseinbußen mit sich bringt, aber ich glaube, dass dies über den Rahmen dieser Frage hinausgeht.

3
Brandt Solovij

Ich habe das Image Cleanup Plugin ausprobiert und es ist das Beste, aber es ist immer noch gut, zuerst ein Backup zu erstellen.

2
cowboy14

Sie müssten Ihren wp-content/uploads -Ordner nach hochgeladenen Dateien durchsuchen und dann Ihre Datenbank nach Verweisen auf diese Dateien durchsuchen und diese schließlich miteinander abgleichen. Was nicht zu vergleichen ist, sollte sicher zu entfernen sein.

Das Datenbank-Scannen ist der schwierige Teil. Die meisten Dateiverweise werden in der Medienbibliothek gespeichert, auf die Sie mit den Standardfunktionen von WordPress/der API zugreifen können. Aber was passiert mit Dateien, die aus der Medienbibliothek entfernt wurden, auf die jedoch immer noch durch Posts verwiesen wird? Oder Dateien, auf die andere Plugins auf unterschiedliche Weise verlinken?

Ich habe eine beträchtliche Anzahl von Tests durchgeführt und nach dem, was ich gesammelt habe, werden alle Dateireferenzen entweder im Nur-Text-Format (dh nur eine Tabellenzelle, die dem Dateipfad oder der URL entspricht), im HTML-Format (dh dem Inhalt eines Posts) gespeichert. als serialisierte Daten oder schließlich als JSON-Objekte. Sie müssten die gesamte Datenbank scannen und versuchen zu erraten, welches Format in jeder Zelle verwendet wird. Natürlich kann es auch andere exotische Methoden geben, mit denen einige Plugins Verweise auf ihre Dateien speichern. Diese können jedoch nur von Fall zu Fall behandelt werden.

Aus diesem Grund habe ich ein Plugin geschrieben, das all das automatisch erledigt, da ich es für einige Websites unserer Kunden benötigte und es Theia Upload Cleaner nannte. Es hat bei mir gut funktioniert, aber natürlich sollten Sie immer ein Backup erstellen, bevor Sie so etwas ausprobieren.

1
liviucmg