HTTP error tijdens media upload in WordPress – oorzaken en oplossingen

De melding “HTTP error” bij het uploaden van media is vaag en frustrerend, maar meestal goed te verhelpen met een paar gerichte checks.

Je kent het misschien wel: je probeert via de WordPress-mediabibliotheek een afbeelding toe te voegen op je site. In plaats van een vrolijke thumbnail zie je ineens een cryptische melding: “HTTP error”. Dat is behoorlijk frustrerend, want waarom lukt het niet? Geen paniek – deze vage foutmelding ben ik vaak genoeg tegengekomen en hij is vrijwel altijd oplosbaar. Ik leg je rustig en stap voor stap uit wat de HTTP error betekent en hoe je het kunt verhelpen.

WordPress geeft bij een uploadprobleem soms alleen de nietszeggende melding “HTTP error”, zonder verdere details. Dit kan voor verwarring zorgen: je ziet alleen dat er iets misgaat, maar niet waarom het misgaat. Juist dat maakt het oplossen lastig. Gelukkig zijn er een aantal veelvoorkomende oorzaken bekend. Die loop ik hieronder langs – mét concrete oplossingen – zodat jij weer afbeeldingen kunt uploaden zonder foutmelding.

Wat betekent de “HTTP error” bij uploaden?

De melding “HTTP error” in WordPress is een algemene foutindicatie die verschijnt als er iets misgaat tijdens het uploaden van een bestand naar de mediabibliotheek. In feite betekent het dat de server geen correcte reactie teruggaf – meestal een HTTP-statuscode in de categorie 400- of 500-series (bijvoorbeeld een interne serverfout). WordPress toont echter niet de exacte technische fout; je krijgt alleen dat generieke “HTTP error” te zien.

Met andere woorden: er gaat iets mis tussen jouw browser en de server tijdens het uploaden, maar WordPress geeft niet specifiek aan wat. Dit kan in allerlei situaties optreden, van het uploaden van een afbeelding of video tot een PDF-bestand. Omdat de foutmelding zo weinig informatie geeft, moet je verschillende mogelijke oorzaken onderzoeken om de echte boosdoener te vinden.

Wanneer zie je deze fout? Meestal verschijnt de HTTP error direct nadat je een mediabestand probeert te uploaden. Je kiest bijvoorbeeld een afbeelding, hij lijkt te gaan laden en vervolgens staat er plots “HTTP error” in het uploadvak. Het kan incidenteel gebeuren (door een tijdelijke storing) of persistent elke keer als je een bepaald bestand wilt toevoegen. Hieronder bespreek ik de meest voorkomende oorzaken én hoe je ze oplost.

Oorzaken en oplossingen voor de HTTP error bij uploads

Omdat “HTTP error” een verzamelmelding is, zijn er meerdere scenario’s die dit kunnen veroorzaken. Ik zet de belangrijkste oorzaken op een rij, met bijbehorende oplossingen. Loop deze langs – vaak zul je al doende ontdekken wat bij jou de boosdoener is.

1. Probleem met het bestand zelf (naam, formaat of grootte)

Een van de eerste dingen om te checken is het bestand dat je probeert te uploaden. Gaat het maar mis bij één specifieke afbeelding? Dan kan het aan dat bestand liggen. Enkele sub-oorzaken:

  • Bestandsnaam bevat vreemde tekens: WordPress kan moeite hebben met speciale karakters in bestandsnamen. Tekens als $, &, #, maar ook letters met accenten (é, ü) of apostrofs kunnen uploadproblemen geven. Oplossing: hernoem de afbeelding naar een simpele naam (alleen letters, cijfers, streepjes of underscores). Probeer het daarna opnieuw. Veel gebruikers meldden dat de fout verdween nadat ze bijvoorbeeld apostroftekens uit de bestandsnaam hadden gehaald.
  • Ongeschikt bestandstype: gebruik je een bestandstype dat WordPress niet herkent of ondersteunt? Standaard pakt WordPress de gangbare formaten (JPG, PNG, GIF, PDF, etc.). Nieuwere types zoals WebP worden pas ondersteund sinds WordPress versie 5.8 (2021). Een WebP-bestand is een modern afbeeldingstype van Google dat gemiddeld ~30% kleiner is dan JPEG/PNG. Werk je met een heel oude WordPress-versie, dan kan uploaden van WebP-afbeeldingen mislukken. Ook als je serversoftware geen WebP aankan, zul je een error krijgen. Oplossing: converteer het plaatje naar een gangbaarder formaat (bv. .jpg of .png) of update WordPress naar een recente versie die WebP ondersteunt. Voor andere bestandstypen geldt: controleer in de WordPress documentatie of ze worden toegestaan, of overweeg een plugin die extra mime-types toestaat.
  • Bestand is (te) groot: een veelvoorkomende oorzaak is dat de afbeelding simpelweg te groot is – qua pixelafmetingen of bestandsgrootte. Als een afbeelding enorm veel megapixels heeft (bijv. foto’s direct van een camera) of tientallen MB’s groot is, kan het uploaden misgaan. WordPress of de server kan dan tijdens het verwerken afhaken zonder duidelijke foutmelding. Bovendien hebben hostingproviders vaak een limiet ingesteld voor uploadgrootte (bij goedkope hostingpakketten soms maar 2 of 8 MB per bestand). Als je bestand dat limiet overschrijdt, krijg je mogelijk een HTTP error of een melding dat het bestand te groot is. Oplossingen: verklein de afbeelding voordat je ‘m uploadt (snij bij of verklein de resolutie) en comprimeer de file (bijvoorbeeld via tinypng.com). Controleer ook de PHP-instellingen voor upload_max_filesize en post_max_size – deze bepalen de maximale uploadgrootte. Die kun je verhogen via een PHP-instellingenbestand (php.ini) of via je hostingcontrolepaneel. Op veel shared hosting staat dit laag, dus een kleine verhoging (naar bijv. 32M of 64M) kan helpen.

Samengevat: begin bij het bestand zelf. Hernoem het met eenvoudige karakters, probeer eventueel een ander bestandsformaat en zorg dat het niet absurd groot is. Als na deze stappen de upload nog steeds faalt, dan ligt het probleem waarschijnlijk niet (alleen) aan het bestand – lees dan verder.

2. Tijdelijke glitch of browserprobleem

Soms is er niks structureel mis, maar had je te maken met een tijdelijke hapering. Bijvoorbeeld: de server was op het moment van upload even te druk of je internetverbinding haperde kort. In dat geval kan een upload fout gaan zonder dat er daadwerkelijk iets mis is met het bestand of de site. Mijn advies is dan altijd om even een paar minuten te wachten en het gewoon nogmaals te proberen. Verrassend vaak is de error eenmalig en lukt de tweede poging probleemloos.

Ook je webbrowser kan roet in het eten gooien. Er zijn meldingen dat met name Google Chrome soms deze HTTP error geeft bij uploads, terwijl het in een andere browser wel werkt. Oplossing: wissel van browser als test – probeer Firefox, Safari of Edge en kijk of de upload daar wel doorkomt. Daarnaast kan het helpen om de browsercache te legen, zodat je zeker weet dat je niet een oude foutmelding ziet die al opgelost is. Het is zeldzaam dat caching een upload blokkeert, maar het kan geen kwaad dit uit te sluiten.

Kortom, sluit uit dat het een tijdelijke of lokale kwestie is. Even opnieuw proberen (met een pauze ertussen) of een andere browser gebruiken kan duidelijk maken of de fout structureel is of niet. Werkt het elders wel, dan ligt het probleem mogelijk bij je eerste browser (denk aan extensies of cache). Blijft het overal misgaan, dan spelen er andere factoren.

3. Pluginconflict of thema-issue

Draait je WordPress-site een berg plugins? Dan is de kans reëel dat een pluginconflict de HTTP error veroorzaakt. Ik zie in de praktijk vooral problemen met image optimization plugins – plugins die afbeeldingen bij upload verkleinen of optimaliseren – die kunnen vastlopen en zo de upload verstoren. Maar ook andere plugins (bijvoorbeeld security plugins of custom media library plugins) zouden invloed kunnen hebben.

De aanpak hier is: deactiveer je plugins tijdelijk één voor één en test telkens het uploaden opnieuw. Begin bij plugins die te maken hebben met media of uploads. Als na het uitschakelen van een bepaalde plugin de HTTP error verdwijnt, heb je de schuldige gevonden. Oplossing: kijk of er een update is voor die plugin (misschien is het een bekend bug die al gefixt is in een nieuwere versie). Je kunt ook contact opnemen met de plugin-maker om het probleem te melden. In tussentijd kun je die plugin uitgeschakeld laten of een alternatief zoeken dat vergelijkbare functionaliteit biedt, zonder de uploadfout.

Naast plugins kan je thema in uitzonderlijke gevallen een rol spelen. Bijvoorbeeld als jouw thema eigen functionaliteit heeft voor afbeeldingen (zoals speciale gallery-features) die interfereert met de mediabibliotheek. Als je de HTTP error bent gaan zien direct na het installeren of updaten van een thema, probeer dan eens tijdelijk naar een WordPress-standaardthema (bijv. Twenty Twenty-One) te schakelen. Upload nu een afbeelding. Werkt dat wel? Dan ligt het aan het thema. Je kunt in dat geval het beste de thema-ontwikkelaar benaderen of overwegen op een stabieler thema over te stappen. Thema-conflicten komen minder vaak voor dan pluginproblemen, maar het is goed om het uit te sluiten.

4. Beperkingen van de hosting (geheugen, serverinstellingen)

Veel HTTP errors bij uploads komen voort uit beperkingen aan de serverkant – dit zie ik vooral bij voordelige hostingpakketten. Goedkope hosting heeft vaak strenge limieten (klein geheugen, trage verwerking) om kosten laag te houden. Bij het uploaden van afbeeldingen kan je dan al snel tegen die grenzen aanlopen. Enkele technische oorzaken en oplossingen:

  • Te weinig PHP-geheugen: WordPress heeft een bepaalde hoeveelheid geheugen (memory_limit) tot zijn beschikking. Als een upload (vooral van een grote afbeelding) teveel geheugen vergt – bijvoorbeeld bij het maken van thumbnails – kan het proces voortijdig stoppen. Gevolg: de server geeft een error terug en jij ziet “HTTP error”. Oplossing: verhoog de PHP-geheugenlimiet voor WordPress. Dit kun je doen door in het bestand wp-config.php de volgende regel toe te voegen (bij voorkeur net boven /* That's all, stop editing! */):
define('WP_MEMORY_LIMIT', '256M');

Hiermee vraag je WordPress om maximaal 256 MB te gebruiken in plaats van de standaard (vaak 64M of 128M). Tip: 256M is een veilige waarde; niet alle hosts staan onbeperkt geheugen toe, dus ga niet onnodig hoger. Sla het bestand op en probeer de upload opnieuw. Merk je verschil? Zo ja, dan was geheugen waarschijnlijk de bottleneck. Zo nee, haal de regel weer weg of laat hem staan voor de zekerheid – geen kwaad, maar dan ligt de oorzaak elders.

  • Imagick problemen (afbeeldingverwerking): achter de schermen gebruikt WordPress voor het verkleinen van afbeeldingen een PHP-bibliotheek, meestal Imagick of soms GD. Imagick is krachtig, maar berucht om het trekken van veel resources (CPU, geheugen) en werkt met meerdere threads. Op gedeelde hosting beperken providers vaak het aantal threads dat Imagick mag gebruiken, of Imagick zelf loopt tegen limieten aan. Dit kan de HTTP error veroorzaken. Een bekende oplossing is om Imagick minder zwaar te laten werken. Dit kan op twee manieren:

    • Forceer gebruik van GD in plaats van Imagick: door een code-snippet toe te voegen in je functions.php kun je WordPress laten prefereren dat het de GD Library gebruikt. GD is minder geheugenintensief. Plaats bijvoorbeeld deze functie in je thema’s functions.php:
function wp_image_editors_override( $editors ) {
    $gd_editor = 'WP_Image_Editor_GD';
    $editors = array_diff( $editors, array( $gd_editor ) );
    array_unshift( $editors, $gd_editor );
    return $editors;
}
add_filter( 'wp_image_editors', 'wp_image_editors_override' );

Hiermee wordt de GD editor als eerste ingezet voor beeldbewerking. Test de upload daarna opnieuw. Werkt het? Dan was Imagick de boosdoener. (Merk op: bij een WordPress-update kan deze aanpassing overschreven worden als het in een thema staat – gebruik bij voorkeur een child theme of a custom plugin voor dergelijke code.)

  • Beperk Imagick’s thread-gebruik via .htaccess: je kunt de server instrueren Imagick in single-thread modus te draaien. Open het .htaccess-bestand in de root van je WordPress-installatie (via FTP of bestandsbeheer van je host) en voeg deze regel toe, bijvoorbeeld helemaal onderaan:
SetEnv MAGICK_THREAD_LIMIT 1

Dit zorgt ervoor dat Imagick nog maar één thread gebruikt, wat op goedkope hosts vaak voorkomt om te voorkomen dat Imagick de server belast. Sla het op en probeer weer te uploaden. In veel gevallen lost dit de HTTP error op die door Imagick werd veroorzaakt. (Technische noot: sommige hosts staan deze aanpassing niet toe; in dat geval kun je navragen of zij een serverinstelling kunnen wijzigen of de Imagick-module beperken.)

  • Maximale uploadgrootte / uitvoertijd: eerder noemde ik al de PHP-instelling upload_max_filesize voor de bestandsgrootte. Daarnaast is er post_max_size (moet meestal gelijk of groter zijn dan upload_max) en max_execution_time (hoe lang een script mag draaien). Als je grote mediabestanden uploadt, kan het nodig zijn ook deze waarden te verhogen. Bijvoorbeeld, stel de limieten in op 64M en de execution time op 300 seconden voor het verwerken van grote beelden. Dit kun je doen via een .htaccess toevoeging of in een php.ini:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300

Niet elke host laat je dit zelf aanpassen; zo niet, vraag het bij de support. Bij shared hosting staan deze standaard laag, wat bij intensieve taken als grote afbeelding-uploads tot fouten kan leiden.

  • Verouderde PHP-versie: een minder vaak voorkomende, maar potentieel relevante oorzaak is dat je site op een oude PHP-versie draait die niet goed overweg kan met moderne formaten of WordPress-functies. WordPress vereist sinds versie 3.2 minstens PHP 5.2.4+ – inmiddels raad ik echter aan om PHP 8.x te gebruiken, zowel voor snelheid als compatibiliteit. Als jouw host nog op een sterk verouderde PHP-versie zit, kun je vreemde fouten krijgen, waaronder uploadproblemen. Oplossing: upgrade naar een recente PHP-versie via het hostingpanel of vraag de host om dat te doen. Overweeg anders van hosting te veranderen als men zulke basics niet bijhoudt. Moderne WordPress-hosting zorgt dat je op een actuele PHP-versie draait, wat dit soort problemen voorkomt.

5. Bestandsrechten of serverpermissies

Hoewel de HTTP error meestal door bovengenoemde factoren komt, wil ik volledigheidshalve bestandsrechten noemen. Als WordPress geen schrijfrechten heeft op de uploads-map (wp-content/uploads), kan het geen bestanden opslaan. In zo’n geval krijg je vaak een specifieke melding als “Unable to create directory wp-content/uploads/...” of “Is its parent directory writable by the server?”. Dat is niet dezelfde HTTP error-melding, maar het veroorzaakt wel dat uploads falen. Controleer bij aanhoudende problemen dus ook even of je schijfruimte niet vol is en of de map wp-content/uploads de juiste permissies heeft (meestal 755 voor directories). Zeker als je recent verhuisd bent van hosting of handmatig bestanden hebt teruggezet, kunnen permissies verkeerd staan. Los dit zo nodig op via FTP of je hostingscontrolpanel (zet de bestandsrechten correct, en zorg dat bestanden eigendom zijn van de webservergebruiker). Na herstel hiervan zal het uploaden weer normaal moeten werken.

Afronding: probleem opgelost (of hulp inschakelen)

Een HTTP error bij het uploaden van media kan even schrikken zijn, maar zoals je ziet zijn er veel logische oorzaken voor en daarmee ook oplossingen. Loop rustig de bovenstaande scenario’s langs. In de meeste gevallen vind je de boosdoener: of het nu een te groot bestand, een pluginconflict, of een serverlimiet is – je kunt het stap voor stap uitsluiten en aanpakken. Meestal heb je binnen korte tijd het probleem verholpen en kun je weer ongestoord afbeeldingen toevoegen.

Wil je dat dit niet steeds jouw probleem is?

Als storingen blijven terugkomen, is de ‘fix’ vaak consistent beheer: updates, backups en monitoring die niet versloffen.

Bekijk Managed WordPress Hosting