Skip to content

Alles für WordPress, Webentwicklung — und mehr

🔧 So beheben Sie den Bild-Upload-Fehler in WordPress

🔧 So beheben Sie den Bild-Upload-Fehler in WordPress

Ein Bild-Upload-Fehler in WordPress trifft Sie immer im ungünstigsten Moment. Sie bereiten einen Beitrag vor, wählen ein Bild aus, klicken auf „Hochladen", und WordPress zeigt kommentarlos „HTTP Error" oder verweigert das Speichern der Datei ohne jede Erklärung. Passierte das nur einmal, wäre es halb so schlimm, aber bei manchen Administratoren scheitern Uploads alle paar Tage zuverlässig.

Die Ursache ist selten offensichtlich. Der Übeltäter kann alles Mögliche sein: Berechtigungen, die nach einer Migration nicht mehr stimmen, ein Konflikt mit einem Sicherheits-Plugin, ein zu knapp bemessenes Speicherlimit auf günstigem Shared Hosting oder ModSecurity, das Ihr Bild für einen Angriff hält. Die gute Nachricht: Fast alle Ursachen lassen sich ohne Entwickler und ohne Anruf beim Hosting-Support beheben.

In diesem Leitfaden finden Sie die vollständige Diagnose- und Lösungskette für Bild-Upload-Fehler. Von einfachen Maßnahmen (Browser wechseln, Dateien umbenennen) bis hin zu Eingriffen auf Serverebene (Bearbeiten von php.ini, .htaccess und wp-config.php). Gehen Sie sie durch und beheben Sie den Fehler; die meisten Fälle sind in 5 bis 10 Minuten gelöst.

💡 Kurzüberblick:

  • Überprüfen Sie die Berechtigungen des Ordners /wp-content/uploads/ per FTP oder cPanel-Dateimanager: 744 für Ordner und 644 für Dateien.
  • Gehen Sie bei HTTP-Fehlern die folgende Kette durch: Browser-Cache leeren → Datei umbenennen → komprimieren → Plugins deaktivieren → PHP-Arbeitsspeicher erhöhen → PHP-Version wechseln.
  • Bei Fehlern wie „Missing a temporary folder" und Problemen mit der Dateigrößenbeschränkung helfen ein paar Zeilen in wp-config.php und .htaccess.
  • GoDaddy- und DreamHost-Nutzer finden am Ende spezifische Lösungen.

Warum Bild-Upload-Fehler überhaupt auftreten

WordPress speichert alle Mediendateien in /wp-content/uploads/. Um dort ein Bild zu schreiben, benötigt der PHP-Prozess Schreibrechte. Sind die Berechtigungen fehlerhaft (das passiert bei Server-Updates, Migrationen, Host-Wechseln oder sogar nach automatischen PHP-Patches), schlagen Uploads stillschweigend fehl.

WordPress-Bild-Upload-Fenster mit Fehlermeldung

Die zweite Ursachengruppe betrifft die PHP-Konfiguration: das Speicherlimit, die Parameter upload_max_filesize und post_max_size sowie den Pfad zum temporären Ordner. Wenn einer dieser Parameter nicht ausreicht, akzeptiert WordPress die Datei nicht. Auf günstigen Shared-Hosting-Tarifen beschneiden Hoster die Puffer oft aggressiver, als in phpinfo() angezeigt wird, und Sie sehen „HTTP Error" ohne jeden Hinweis auf die tatsächliche Ursache.

WordPress-Mediathek mit fehlenden Bildern

Schließlich gibt es Konflikte. Ein Sicherheits-Plugin fängt die POST-Anfrage ab, ein Theme überschreibt die Medienverarbeitung oder ModSecurity auf Webserver-Ebene betrachtet den Upload als Bedrohung. Die Diagnose wird im nächsten Abschnitt behandelt.

1. Berechtigungen des Uploads-Ordners prüfen

Die häufigste Ursache sind falsche Berechtigungen für /wp-content/uploads/. WordPress kann nicht in den Ordner schreiben und verweigert den Upload kommentarlos. Die Lösung: Setzen Sie die korrekten CHMOD-Werte per FTP.

Verbinden Sie sich per FTP-Client wie FileZilla mit Ihrer Website. Navigieren Sie zu /wp-content/, suchen Sie den Ordner uploads, klicken Sie mit der rechten Maustaste und wählen Sie „Dateiberechtigungen":

FTP-Kontextmenü mit Dateiberechtigungsoption für den Uploads-Ordner

Geben Sie im sich öffnenden Dialog den numerischen Wert 744 ein. Aktivieren Sie „In Unterverzeichnisse verzweigen" und „Nur auf Verzeichnisse anwenden". Klicken Sie auf OK.

Dialog zum Setzen von 744-Berechtigungen für Ordner in FileZilla

Wenn 744 das Problem nicht löst, versuchen Sie es mit 755: Der Eigentümer erhält Lese-, Schreib- und Ausführungsrechte, Gruppe und Andere erhalten Lese- und Ausführungsrechte.

Setzen Sie nun die Berechtigungen für Dateien innerhalb von uploads. Klicken Sie erneut mit der rechten Maustaste auf den Ordner uploads → „Dateiberechtigungen". Geben Sie 644 ein, aktivieren Sie „In Unterverzeichnisse verzweigen" und „Nur auf Dateien anwenden". Klicken Sie auf OK.

Dialog zum Setzen von 644-Berechtigungen für Dateien in FileZilla

Versuchen Sie erneut, ein Bild hochzuladen. In den meisten Fällen verschwindet der Fehler unmittelbar nach diesem Vorgang. Hilft das nicht, fahren Sie mit dem nächsten Schritt fort.

2. Die Lösungskette für HTTP-Fehler abarbeiten

HTTP-Fehler beim Upload sind besonders frustrierend, weil WordPress keine Spuren in den Logs hinterlässt. Nur „HTTP Error" und sonst nichts. Sie müssen sich durch mögliche Lösungen arbeiten, indem Sie sie der Reihe nach ausschließen. Nachfolgend eine Kette von einfach bis komplex: Gehen Sie sie in dieser Reihenfolge durch, bis die Uploads wieder funktionieren.

2.1. Seite aktualisieren oder Browser wechseln

Das klingt banal, funktioniert aber häufiger, als man denkt. Manchmal läuft die WordPress-Sitzung ab, und nach erneuter Anmeldung verschwindet der Fehler. Aktualisieren Sie die Seite mit einem harten Cache-Reset: Ctrl+F5 unter Windows, Cmd+Shift+R am Mac. Hilft das nicht, öffnen Sie die Website in einem anderen Browser. Tritt der Fehler in Chrome auf, aber nicht in Firefox, liegt das Problem an Erweiterungen oder dem browserspezifischen Cache.

2.2. Browser-Cache leeren

Der Cache speichert veraltete Skripte und Styles, die mit dem WordPress-Medien-Uploader in Konflikt geraten können. Tastenkombinationen für einen vollständigen Reset:

Tastenkürzel zum Leeren des Browser-Caches unter Windows, Mac und Safari
  • Windows (Chrome, Firefox, Edge): Ctrl + Shift + Delete → „Browserdaten löschen"
  • Mac (Chrome, Firefox): Cmd + Shift + Delete
  • Safari: Shift + click the reload button

Alternativ gehen Sie in die Browsereinstellungen und löschen den Cache manuell. Der Pfad variiert je nach Browser, findet sich aber stets im Bereich „Verlauf" oder „Datenschutz".

2.3. Bilddatei umbenennen

WordPress fügt doppelten Namen automatisch Nummern hinzu (image-1.png, image-2.png), aber manchmal hakt dieser Mechanismus. Benennen Sie die Datei vor dem Hochladen um: Vermeiden Sie Sonderzeichen, Leerzeichen und Nicht-ASCII-Zeichen im Namen. Ein gutes Format: product-banner-01.jpg.

2.4. Bild komprimieren

Möglicherweise stößt die Dateigröße an das Limit des Hosters. Selbst wenn upload_max_filesize großzügig gesetzt ist, kappen manche Hoster die Puffer bei niedrigeren Werten. Komprimieren Sie das Bild: Verwenden Sie für JPEG Imagify oder TinyPNG; für PNG nutzen Sie Squoosh.

Imagify Bildkomprimierungs-Plugin-Oberfläche in WordPress

Prüfen Sie auch das Format: Wenn Sie .png hochladen, versuchen Sie die Konvertierung nach .jpg, und umgekehrt. Manchmal hängt das Problem mit einem bestimmten Format und der Version der PHP-Bibliothek (GD oder Imagick) zusammen.

2.5. Plugins deaktivieren und Theme wechseln

Sicherheits-Plugins (Wordfence, Solid Security, Sucuri) und Bildoptimierungs-Plugins können Uploads abfangen und Konflikte verursachen. Deaktivieren Sie vorübergehend ALLE Plugins und wechseln Sie zu einem Standard-Theme (Twenty Twenty-Five oder ein anderes Standard-Theme). Testen Sie den Upload. Funktioniert er, aktivieren Sie die Plugins nacheinander, um den Verursacher zu finden.

2.6. PHP-Speicherlimit erhöhen

Der PHP-Bildverarbeitungsprozess verbraucht Arbeitsspeicher. Ein Full-HD-Screenshot im JPEG-Format könnte selbst mit 64 MB nicht auskommen. Fügen Sie Folgendes in die wp-config.php vor der Zeile /* That's all, stop editing! */ ein:

1define( 'WP_MEMORY_LIMIT', '256M' );

2.7. PHP-Version aktualisieren

Stand 2026 empfiehlt WordPress PHP 8.3 als Mindestversion, optimal sind PHP 8.4 oder 8.5. Bei Version 7.4 und darunter ist die Funktionalität des Medien-Uploaders nicht garantiert. Der Pfad in cPanel: Bereich „Software" → „PHP-Version auswählen" → Wechseln Sie zu 8.4 oder 8.5.

PHP-Versionsauswahl im cPanel-Kontrollzentrum

2.8. ModSecurity deaktivieren

ModSecurity ist eine Firewall auf Webserver-Ebene, die Bild-Uploads gelegentlich als Angriffe einstuft. Fügen Sie Folgendes in die .htaccess (im Stammverzeichnis der Website) ein:

1<IfModule mod_security.c>
2SecFilterEngine Off
3SecFilterScanPOST Off
4</IfModule>

Wenn das nicht hilft, entfernen Sie diese Zeilen: Das Problem liegt nicht an ModSecurity.

2.9. WordPress von Imagick auf GD-Bibliothek umstellen

WordPress verwendet Imagick (sofern das Modul auf dem Server installiert ist) oder die GD-Bibliothek für die Bildverarbeitung. Imagick bietet eine höhere Qualität, verbraucht aber mehr Arbeitsspeicher. Wenn WP_MEMORY_LIMIT nicht geholfen hat, zwingen Sie WordPress, GD zu verwenden. Fügen Sie Folgendes in die functions.php Ihres aktiven Themes ein:

1function wpb_image_editor_default_to_gd( $editors ) {
2 $gd_editor = 'WP_Image_Editor_GD';
3 $editors = array_diff( $editors, array( $gd_editor ) );
4 array_unshift( $editors, $gd_editor );
5 return $editors;
6}
7add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd' );

Danach setzt WordPress GD Library an die erste Stelle in der Verarbeitungskette und verwendet Imagick als Fallback.

2.10. Add From Server als alternative Upload-Methode installieren

Besteht der HTTP-Fehler weiterhin und Sie müssen eine Datei dringend hochladen, übertragen Sie sie per FTP in einen beliebigen Ordner auf dem Server und importieren Sie sie mit Add From Server in die Medienbibliothek. Das Plugin greift Dateien direkt aus dem Dateisystem ab und umgeht damit den standardmäßigen WordPress-Uploader. Dateien jeder Größe funktionieren, begrenzt nur durch den Speicherplatz Ihres Tarifs.

2.11. Kontaktieren Sie Ihren Hosting-Anbieter

Wenn Sie alles versucht haben, schreiben Sie dem Hosting-Support. Beschreiben Sie den Fehler, fügen Sie einen Screenshot bei und nennen Sie Ihre PHP- und WordPress-Version. Oft wird das Problem serverseitig behoben: Der Support kann die php.ini bearbeiten, eine ModSecurity-Blockade aufheben oder PHP-FPM neu starten.

3. Den Fehler „Ein temporärer Ordner fehlt" beheben

Der Fehler „Ein temporärer Ordner fehlt" blockiert nicht nur Bild-Uploads, sondern auch Plugin-Installationen und WordPress-Updates. Die Ursache: PHP kann das temporäre Verzeichnis nicht finden oder nicht dorthin schreiben.

Die Lösung besteht darin, WordPress den Pfad zum Temp-Ordner explizit mitzuteilen. Öffnen Sie wp-config.php und fügen Sie vor der letzten Zeile Folgendes ein:

1define( 'WP_TEMP_DIR', dirname( __FILE__ ) . '/wp-content/temp/' );

Speichern Sie die Datei. Erstellen Sie dann per FTP oder über den cPanel-Dateimanager einen Ordner temp innerhalb von /wp-content/ (falls nicht vorhanden). Setzen Sie die Ordnerberechtigungen auf 755. Kehren Sie ins Admin-Panel zurück und versuchen Sie den Upload erneut.

4. Das Upload-Dateigrößenlimit erhöhen

Der Fehler „Die hochgeladene Datei überschreitet die upload_max_filesize-Anweisung" bedeutet, dass die Datei für die aktuellen PHP-Einstellungen zu groß ist. Drei Wege zur Behebung, von einfach bis auf Serverebene.

4.1. Via.htaccess

Fügen Sie Folgendes in .htaccess (Stammverzeichnis der Website) ein:

1php_value upload_max_filesize 256M

Tritt der Fehler erneut auf, fügen Sie die folgenden Zeilen hinzu:

1php_value post_max_size 256M
2php_value memory_limit 512M
3php_value max_input_time 180
4php_value max_execution_time 180

4.2. Via wp-config.php

Fügen Sie Folgendes vor der letzten Zeile in wp-config.php ein:

1@ini_set( 'upload_max_filesize', '256M' );
2@ini_set( 'post_max_size', '256M' );

4.3. Via php.ini

Suchen Sie php.ini auf dem Server. Der Pfad hängt vom Hoster ab; typischerweise /etc/php/8.4/cli/php.ini oder konfigurierbar im cPanel („PHP-Version auswählen" → „Zu PHP-Optionen wechseln"). Öffnen Sie die Datei, suchen Sie die Anweisung upload_max_filesize und ändern Sie den Wert:

1upload_max_filesize = 256M
2post_max_size = 256M

Speichern Sie und starten Sie PHP via cPanel oder mit einem SSH-Befehl neu. Wenn Sie keinen Zugriff auf php.ini haben, kontaktieren Sie den Hosting-Support.

5. Spezifische Lösungen für GoDaddy und DreamHost

GoDaddy

Bei GoDaddy Shared Hosting hängen HTTP-Fehler oft mit der Reihenfolge der Bildverarbeitungsbibliotheken zusammen. Fügen Sie Folgendes in functions.php Ihres aktiven Themes ein:

1add_filter( 'wp_image_editors', 'change_graphic_lib' );
2function change_graphic_lib( $array ) {
3 return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
4}

Dieser Code erzwingt, dass die GD Library an erster Stelle steht, was die meisten HTTP-Fehler speziell bei GoDaddy behebt.

DreamHost

Bei DreamHost sind Fehler meist auf Plugin- oder Theme-Konflikte zurückzuführen. Deaktivieren Sie zunächst alle Plugins und wechseln Sie zu einem Standard-Theme. Löschen Sie ungenutzte Themes und Plugins, da diese tote Hooks hinterlassen können, die den Uploader stören. Hilft das nicht, kontaktieren Sie den DreamHost-Support: DreamHost verwendet benutzerdefinierte Serverkonfigurationen, und das Support-Team kennt die Besonderheiten.

Was tun, wenn der Fehler immer wieder auftritt

Wenn Sie die gesamte Kette durchlaufen haben und Uploads trotzdem einmal pro Woche fehlschlagen, liegt das Problem tiefer als bei Berechtigungen oder PHP-Limits. Höchstwahrscheinlich ist der Übeltäter ein Hosting mit strengen Serverbeschränkungen (günstiger Shared-Tarif) oder ein schlecht programmiertes Plugin, das bei jedem Update die Einstellungen des Medien-Uploaders überschreibt.

Schließen Sie zunächst Plugins aus: Deaktivieren Sie alles für 24 Stunden und beobachten Sie das Uploader-Verhalten. Treten innerhalb von 24 Stunden keine Fehler auf, aktivieren Sie Plugins einzeln mit einem Tag Abstand, bis Sie den Übeltäter finden.

Finden Sie ihn nicht, wechseln Sie das Hosting. Im Ernst. Günstige Shared-Tarife sparen so aggressiv an PHP-Speicher und kappen Puffer, dass keine .htaccess-Änderungen helfen. Für eine stabile Handhabung von WordPress-Mediendateien benötigen Sie einen VPS oder ein hochwertiges Managed Hosting mit memory_limit von mindestens 256M und max_execution_time von mindestens 120 Sekunden.

Eine alternative Übergangslösung: Laden Sie Bilder per FTP hoch und importieren Sie sie über „Vom Server hinzufügen". Langsamer als der native Uploader, funktioniert aber auf jedem Hosting und hängt nicht von PHP-Limits ab.

⁉️🤔 Häufig gestellte Fragen

Warum treten Upload-Fehler ohne ersichtlichen Grund auf?

Hosting-Anbieter aktualisieren regelmäßig die Serversoftware: kleinere PHP-Patches, Apache-Updates, Änderungen an der ModSecurity-Konfiguration. Pfade, Versionen und Einstellungen ändern sich, und Berechtigungen für /wp-content/uploads/ gehen kaputt. Sie haben nichts angefasst, aber Uploads funktionieren nicht mehr. Die Lösung: Setzen Sie die Berechtigungen für den Ordner auf 744/755 und für Dateien innerhalb von /wp-content/uploads/ auf 644 zurück und überprüfen Sie die PHP-Limits.

Was soll ich tun, wenn nichts in diesem Artikel geholfen hat?

Aktivieren Sie WP_DEBUG in wp-config.php: define( 'WP_DEBUG', true ); und wiederholen Sie den Upload. WordPress schreibt den spezifischen Fehler in /wp-content/debug.log. Sie sehen den genauen PHP-Fatal-Error oder die Warnung: Meistens ist es Speichererschöpfung (allowed memory size exhausted), ein nicht zugänglicher temporärer Ordner (failed to open dir) oder ein spezifischer Plugin-Konflikt. Mit dieser Information kann der Hosting-Support das Problem viel schneller lösen.

Wie lade ich eine sehr große Datei hoch, wenn mein Hosting mich das Limit nicht erhöhen lässt?

Nutzen Sie FTP + das Plugin „Add From Server". Laden Sie die Datei manuell per FTP auf den Server nach /wp-content/uploads/import/ (oder einen beliebigen anderen Ordner) und importieren Sie sie dann über das Plugin in die Medienbibliothek. „Add From Server" greift Dateien direkt aus dem Dateisystem des Servers auf und umgeht damit den HTTP-Uploader und alle seine Beschränkungen. Es funktioniert für Dateien jeder Größe; die einzige Begrenzung ist der Speicherplatz Ihres Tarifs. Für Stapel-Uploads erstellen Sie einen Ordner /wp-content/uploads/bulk-import/ und laden alles auf einmal per FTP dorthin hoch.

Kann man Bild-Upload-Fehler dauerhaft verhindern?

Vollständig ausschließen lassen sie sich nicht, aber das Risiko lässt sich minimieren. Halten Sie PHP auf der aktuellen Version (8.4 oder 8.5 im Jahr 2026), mit memory_limit nicht unter 256M. Installieren Sie keine Sicherheits-Plugins mit aggressiven Standardeinstellungen. Überprüfen Sie halbjährlich die Berechtigungen für /wp-content/uploads/. Machen Sie nach jedem WordPress-Core- oder PHP-Update einen Test-Bild-Upload. Wenn Sie automatische Backups konfiguriert haben, dauert ein Rollback 5 Minuten. Und halten Sie den FTP-Zugang griffbereit: Ohne ihn steht Ihnen die Hälfte der Lösungen in diesem Artikel nicht zur Verfügung.

Ist FTP erforderlich, um Berechtigungen zu korrigieren?

Nein. Die Alternative ist der Dateimanager im cPanel (oder das Äquivalent Ihres Hosters). Gehen Sie zu Dateimanager → /wp-content/ → Rechtsklick auf den Ordner uploads → Berechtigungen ändern → 744 setzen. Die Logik ist dieselbe; die Oberfläche ist etwas anders. Der cPanel-Dateimanager arbeitet mit Berechtigungen genau wie ein FTP-Client: Alles wird im Browser erledigt, ohne separate Software. Für Anwender, die FTP-Clients kompliziert finden, ist dies der einfachste Weg, Berechtigungen in zwei Minuten zu korrigieren.

Upload-Fehler behoben, was nun?

Sie haben die Kette durchlaufen und Uploads funktionieren. Jetzt ist Zeit für Prävention, damit Sie in einem Monat nicht wieder vor diesem Problem stehen. Drei Dinge, die sich sofort lohnen:

  • Halten Sie Ihre funktionierenden Einstellungen fest. Diese Berechtigungen (744/755), PHP-Limits (256M), PHP-Version (8.4+): Speichern Sie sie in Ihren Notizen. Bei der nächsten Migration oder einem Server-Update stellen Sie sie in einer Minute wieder her, statt eine Stunde mit Versuch und Irrtum zu verbringen.
  • Richten Sie eine Speicherplatzüberwachung ein. Die Hälfte aller „plötzlichen" Upload-Fehler wird durch volllaufenden Speicherplatz verursacht. WordPress verweigert stillschweigend das Schreiben, und Sie rätseln. Kostenlose Plugins wie WP Health prüfen den verfügbaren Speicherplatz und senden eine Benachrichtigung an Ihre E-Mail, bevor die Festplatte voll ist.
  • Prüfen Sie einmal im Monat die Logs. /wp-content/debug.log (wenn Sie WP_DEBUG aktiviert haben) zeigt ein aufkommendes Problem lange bevor es blockierend wird. Wenige Minuten pro Monat sparen Stunden ungeplanter Reparaturen.

Haben Sie noch Fragen oder ist ein ungewöhnlicher Fall aufgetreten? Beschreiben Sie die Situation in den Kommentaren, und wir finden eine Lösung.