Elk platform heeft irritante foutmeldingen en problemen waar je mee moet leren omgaan. Geloof ons, we hebben ze inmiddels allemaal gezien! Van de bekende ‘white screen of death‘ tot database-errors, WordPress heeft zeker zijn eigenaardigheden. 😉 Toch blijven we fan en steunen we WordPress door dik en dun. Vandaag bespreken we een veelvoorkomende foutmelding: de HTTP-error. Gebruikers komen deze meestal tegen wanneer ze afbeeldingen of video’s willen uploaden naar de WordPress-mediabibliotheek.

Hoewel de HTTP-fout meestal gemakkelijk te herstellen is, kan deze nogal frustrerend zijn, omdat hij je workflow verstoort. Niets is irritanter dan een vage foutmelding op je scherm, nadat je 20 minuten hebt besteed aan het vinden van de perfecte afbeelding voor je blog en deze wil uploaden.

Hieronder beschrijven we waarom deze fout optreedt en wat je kan doen om het probleem te verhelpen, zodat je snel verder kan gaan met het uploaden van je bestanden.

Wat is de WordPress HTTP-foutmelding?

De WordPress-HTTP-foutmelding treedt op als er iets fout gaat bij het uploaden van afbeeldingen of video’s via de ingebouwde mediabibliotheek. Waar een browser bij een foutmelding vaak een HTTP-statuscode geeft, zijn foutmeldingen in WordPress vaak lastiger op te lossen (helemaal als je niet weet hoe je WordPress-debugging aan moet zetten).

De enorm vage ‘HTTP error’ helpt je zeker niet om te bepalen wat er precies aan de hand is of waar je kan beginnen met het zoeken naar een oplossing. Dat de foutmelding zo vaag is, komt doordat het probleem een aantal verschillende oorzaken kan hebben. Omdat WordPress niet weet welk probleem precies is opgetreden, geeft hij een algemeen foutbericht (zoals je hieronder kan zien).

WordPress-HTTP-foutmelding bij het uploaden van afbeeldingen
WordPress-HTTP-foutmelding bij het uploaden van afbeeldingen

Hoe de WordPress-HTTP-foutmelding te verhelpen

twee oorzaken heeft: de eerste is een fout aan de kant van de gebruiker (client-side) – jouw loginsessie, ongeldige tekens in de bestandsnaam, enzovoorts. De tweede heeft te maken met een probleem of een verkeerde instelling bij jouw WordPress-host (serverprobleem, geheugenlijst, externe plugin, beperkte bronnen door shared hosting, enzovoorts). Om die reden gaan we dieper in op beide redenen.

Hier zijn een aantal aanbevelingen en instructies om de foutmelding op te lossen (beginnend bij de meest voorkomende reden en eindigend met de minst voorkomende):

  1. Pagina opnieuw laden
  2. Bestand verkleinen of aanpassen
  3. Afbeeldingsbestand hernoemen
  4. Plugins en thema tijdelijk deactiveren
  5. Je WordPress-host raadplegen
  6. PHP-geheugenlimiet verhogen
  7. Machtigingen controleren van uploadmap
  8. De nieuwste versie van PHP gebruiken
  9. Prestatieproblemen oplossen met Imagick en shared hosts
  10. Pad van de aangepaste mediabibliotheek verwijderen
  11. Mod_security uitschakelen
  12. De Add To Server-plugin installeren

1. Pagina opnieuw laden

Het eerste dat je moet doen als je een WordPress HTTP-fout tegenkomt is om, heel simpel, de pagina opnieuw te laden. Is het echt zo gemakkelijk? 😉 Het zou je verbazen, maar dit is de meest voorkomende oplossing en wel om de volgende redenen:

Ten eerste bestaat de mogelijkheid dat je browser tijdelijk de verbinding met WordPress heeft verloren en het uploadproces simpelweg niet voltooid kon worden. Dit kan door je internetprovider komen, veroorzaakt worden door een tijdelijke storing bij je WordPress-host of een andere reden hebben. De fout lost zich hierdoor soms vanzelf op bij het opnieuw uploaden.

Ten tweede hebben we in het verleden gezien dat WordPress de upload kan beëindigen als je een pagina ververst of vanuit een ander tabblad naar de WordPress-editor gaat. Dit is hoogstwaarschijnlijk een indicator dat je login-sessie voor WordPress verlopen is. Je zou het volgende bericht moeten zien:

Your session has expired. Please log in to continue where you left off.

Your session has expired
Your session has expired

Vanzelfsprekend meld je je opnieuw aan en probeer je de media opnieuw te uploaden. Vervolgens treedt de HTTP-foutmelding op. Dit is een van de eigenaardigheden van WordPress. Nadat je je opnieuw hebt aangemeld, moet je daadwerkelijk de pagina waar je op zit handmatig vernieuwen. Vervolgens zal je (hopelijk) zien dat het uploaden wél lukt.

2. Bestand verkleinen of aanpassen

In sommige gevallen moet je het afbeeldingsbestand bewerken, ofwel door de bestandsgrootte te verkleinen (kB of MB) of door de breedte/hoogte te verminderen (pixels). We raden je aan om ons uitgebreide artikel te lezen over het optimaliseren van afbeeldingen voor het internet. Er zijn veel externe afbeeldingsoptimalisatieplugins die dit automatisch voor je doen (zowel verkleinen van grootte als afmetingen) wanneer je een afbeelding naar je mediabibliotheek uploadt.

Voor onze Kinsta-website gebruiken we hiervoor Imagify – en we hebben nog nooit een probleem gehad. Naast deze plugin zijn er nog tal van andere plugins die je kunnen helpen. Zorg er wel voor dat de plugin die je uiteindelijk besluit te gebruiken, de afbeeldingen op hun eigen servers optimaliseert en niet op jouw server. Als je de optimalisaties lokaal in bulk laat uitvoeren, dan kan dit drastische, negatieve gevolgen hebben voor de prestaties van je website.

Imagify WordPress plugin
Imagify WordPress plugin

Het is geen probleem om afbeeldingen met hoge resoluties te uploaden, aangezien WordPress standaard responsieve afbeeldingen ondersteunt. Je wil waarschijnlijk juist grote afbeeldingen gebruiken, aangezien deze er scherp uitzien op retina-beeldschermen. Echter, tenzij je een fotograaf of bedrijf bent dat afbeeldingen met een hoge resolutie nodig heeft, is een goede vuistregel om de afbeeldingsgrootte onder de 100kB te houden en niet meer dan twee keer de grootte van de div-width van je site.

In sommige gevallen moet je een beetje pingelen met PNG- en JPG-bestandstypen. Soms kan het ene formaat veel groter zijn dan de andere, afhankelijk wat voor type afbeelding het is.

Afhankelijk van de instellingen bij je WordPress-hosting, is het misschien ook slim om even te kijken naar hoe je de maximale uploadbestandsgrootte in WordPress wijzigt.

3. Afbeeldingsbestand hernoemen

Het kan nooit kwaad om het afbeeldingsbestand te hernoemen. WordPress voegt aan het einde van de bestandsnaam automatisch een nummer toe als je probeert een bestand met dezelfde naam te uploaden. Mocht dit echter niet werken, dan kan je proberen om de bestandsnaam handmatig aan te passen. Helaas is het niet mogelijk een bestandsnaam te wijzigen van een reeds geüpload afbeeldingsbestand, dus je zult deze lokaal moeten hernoemen en opnieuw uploaden.

Wanneer we bestaande afbeeldingen uploaden, voegen we doorgaans een -1 of -2 (bijvoorbeeld: afbeeldingsbestand-1.png, afbeeldingsbestand-2.png). Zorg ervoor dat je het streepje niet vergeet, anders leest Google het als één woord en kan dit je SEO negatief beïnvloeden.

Zorg er daarnaast ook voor dat je geen afbeeldingen uploadt met speciale tekens in de naam. Hieronder vallen internationale taalsymbolen en tekens zoals apostroffen. Een minteken is prima. Je kunt in dit voorbeeld hieronder de Japanse Kinsta-site zien waar we Engelse termen gebruiken in plaats van speciale tekens. Technisch gezien ondersteunt WordPress deze, maar er zijn wel een aantal andere problemen die op kunnen treden.

Hernoem het afbeeldingsbestand zonder speciale tekens
Hernoem het afbeeldingsbestand zonder speciale tekens

4. Deactiveer plugins en thema’s tijdelijk

Als je HTTP-foutmeldingen tegenkomt, is het altijd een goed idee om je plugins te deactiveren en zelfs je WordPress-thema tijdelijk naar het standaard thema te wijzigen om te kijken of je het probleem hiermee oplost. De plugins die het vaakst voor problemen zorgen zijn afbeeldingsoptimalisatieplugins (ze zijn direct verbonden met de mediabibliotheek) en beveiligingsplugins zoals WordFence (deze plugins doen soms net iets té goed hun werk). Of u kunt uw WordPress-thema eenvoudigweg verwijderen.

Als je je live site wil beïnvloeden, kan je je live site naar een testomgeving verhuizen. Als de WordPress HTTP-fout ook in de testomgeving optreedt, kan je vervolgens al je plugins deactiveren om de boosdoener te achterhalen.

Vergeet niet dat je geen gegevens verliest als je een plugin deactiveert. Als je nog steeds beheerderstoegang hebt, dan kan snel als je plugins deactiveren door naar ‘Plugins’ te gaan en ‘Deactivate’ te selecteren in het bulkhandelingen-menu. Hiermee schakel je al je plugins uit.

Alle plugins uitschakelen
Alle plugins uitschakelen

Als dit het probleem verhelpt, is de volgende stap het vinden van de boosdoener. Activeer ze een voor een en probeer opnieuw een afbeelding in de mediabibliotheek te uploaden. Als je de HTTP-foutmelding nu weer tegenkomt, weet je welke plugin deze veroorzaakt. Vervolgens kan je de klantenondersteuning van de plugin benaderen of een supportticket in de WordPress-bibliotheek aanmaken.

Als je geen toegang hebt als WordPress beheerder, dan kan je de plugins deactiveren door via FTP naar je server te gaan en de map met plugins te hernoemen naar iets als plugins_old. Controleer je site nu opnieuw. Als het nu wel werkt, dien je alle plugins een-voor-een te testen. Hernoem de naam van de pluginmap naar plugins en hernoem vervolgens elke afzonderlijke pluginmap tot je de dader vindt. Je kan dit het beste in een testomgeving doen.

Hernoem de pluginmap
Hernoem de pluginmap

Hetzelfde geldt voor je WordPress-thema. Normaal gesproken bemoeien thema’s zich niet met de mediabibliotheek, maar we zijn in de afgelopen jaren rare configuraties tegengekomen. Het kan nooit kwaad om je thema te wisselen met de standaard Twenty Seventeen-thema om te kijken of dit het probleem oplost. Net als met plugins hoef je je geen zorgen te maken over de instellingen van je huidige thema. Dit wordt allemaal netjes opgeslagen in de WordPress database.

5. Je WordPress-host raadplegen

Als je bovenstaande stappen hebt doorlopen en nog steeds de WordPress HTTP-foutmelding te zien krijgt, raden we aan contact op te nemen met je WordPress-host om ze om hulp te vragen. Veel van de stappen die we hieronder bespreken zijn redelijke complex en vaak kan je hosting deze stappen voor je uitvoeren.

Het supportteam van Kinsta is 24/7 beschikbaar – klik rechtsonder in je MyKinsta-dashboard om hulp te vragen.

Kinsta WordPress-hosting support
Kinsta WordPress-hosting support

6. PHP-geheugenlimiet verhogen

Een andere oorzaak voor de WordPress HTTP-foutmelding is dat de server niet genoeg geheugen tot zijn dienst heeft om de upload te voltooien. Dit is een veel voorkomend probleem met shared WordPress-hosting. Om het probleem op te lossen moet je de hoeveelheid geheugen voor PHP verhogen. 256 MB wordt aanbevolen.

De standaard geheugenlimiet voor Kinsta-klanten is ingesteld op 256 MB. Als je je WordPress-site bij Kinsta host, hoef je geen problemen te hebben met een gebrek aan geheugen. 👍

PHP-geheugenlimiet verhogen met wp-config.php

Je kunt de PHP-geheugenlimiet verhogen door de volgende code toe te voegen aan je wp-config.php-bestand. Opmerking: De kans bestaat dat regels op serverniveau de code ongedaan maakt.

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

De PHP-geheugenlimiet verhogen in cPanel

Als je host cPanel gebruikt, zijn er twee secties waar je het PHP-geheugenlimiet kan verhogen.

De eerste is in de software-sectie. Klik op ‘Select PHP Version.’ Klik nu op ‘Switch to PHP Options.’ Nu kan je klikken op ‘memory_limit’ om diens waarde te wijzigen.

De tweede manier bevindt zich ook in de software-sectie. Klik op de ‘MultiPHP INI Editor’-tool Hier kan je het php.ini-bestand wijzigen. Ga naar beneden tot waar je ‘memory_limit’ vindt en voer een hogere waarde in.

De PHP-geheugenlimiet verhogen in cPanel
De PHP-geheugenlimiet verhogen in cPanel

De PHP-geheugenlimiet verhogen met php.ini

Als je geen cPanel gebruikt, kan je het php.ini-bestand ook rechtstreeks bewerken – mits je toegang hebt. Hiervoor log je in op je website via FPT of SSH, ga je naar de hoofdmap van je website en open of creëer je een php.ini-bestand.

Kan je geen verbinding maken via SSH? Leer hoe u de SSH-fout “Connection Refused” kunt verhelpen.

Als het bestand al bestaat, dan kan je zoeken voor ‘memory_limit’ en indien nodig aanpassen.

Sommige shared-hostingbedrijven kunnen van je vragen om een suPHP-regel in het .htaccess-bestand toe te voegen om te zorgen dat het bovenstaande php.ini-bestand werkt. Dit kan je doen door het .htaccess-bestand, die zich ook in de hoofdmap van je website bevindt, te openen en de volgende code bovenaan toe te voegen.

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

De PHP-geheugenlimiet verhogen met .htaccess

Het .htaccess -bestand is een speciaal verborgen bestand dat verschillende instellingen bevat die je kunt gebruiken om het servergedrag aan te passen, tot op directory-specifiek niveau. Als je geen toegang hebt tot php.ini, raden we aan om dit te proberen. Log allereerst in op je website via FTP of SSH, en kijk of je een .htaccess-bestand vinden kan.

Als dit het geval is, kan je deze wijzigen en de waarde achter ‘php_value memory_limit’ wijzigen.

7. Machtigingen controleren van uploadmap

Meestal als er een mapmachtigingsfout is, zou je een bericht in WordPress moeten krijgen dat deze niet in staat is om naar de map te schrijven. Dit is echter niet altijd het geval. Als een WordPress-site gehackt is of geïnfecteerd is met malware, kunnen er veel machtigingsgerelateerde problemen optreden.

Tip: Kinsta biedt gratis hackfixes voor alle klanten. 😄

De map waar we in dit artikel vooral mee te maken krijgen is de map /wp-content/uploads. In deze map worden alle bestanden opgeslagen die via de mediabibliotheek geüpload worden.

Volgens de WordPress Codex, moeten alle mappen 755 (drwxr-xr-x) of 750 zijn.

Met een FPT-client is het eenvoudig om mapmachtigingen te zien (zie hieronder). Je kan ook contact opnemen met het supportteam van je WordPress-host om met een GREP-command de machtigingen van je mappen en bestanden goed in te stellen.

Zorg ervoor dat als je de machtigingen in deze map handmatig bijwerkt, je zowel de optie ‘Recurse into subdirectories’ als ‘Apply to directories only’ selecteert.

WordPress upload-machtigingen
WordPress upload-machtigingen

8. De nieuwste versie van PHP gebruiken

WordPress raadt officieel PHP 7.3 of hoger aan. Als je website daar nog niet op loopt, dan zit je onder de minimumvereisten van wat de ontwikkelaars van WordPress aanraden. 😮

We raden altijd aan om de meest recente ondersteunde versies van PHP te gebruiken vanwege het feit dat dit betere beveiliging en prestaties biedt, inclusief buxfixes en het verwijderen van verouderde functies.

We hebben gezien dat oudere versies van PHP bijdragen aan allerlei soorten fouten, waaronder de beruchte WordPress HTTP-foutmelding. Bij Kinsta kun je eenvoudig overschakelen naar PHP 8.1 met een enkele klik in het MyKinsta-dashboard.

Wijziging naar PHP 8.1
Wijziging naar PHP 8.1

Als je host cPanel gebruikt, bieden ze waarschijnlijk een optie om je PHP-versie te wijzigen. Log in bij cPanel en klik op ‘Select PHP Version’ in de categorie ‘Software’.

Select PHP version
Select PHP version

Vervolgens kan je een PHP-versie kiezen uit de versies die jouw host beschikbaar stelt.

PHP 7 in cPanel
PHP 7 in cPanel

9. Prestatieproblemen oplossen met Imagick en shared hosts

Er zijn twee verschillende PHP-modules die WordPress gebruikt voor beeldverwerking: GD Library en Imagick (ImageMagick). WordPress kan beide gebruiken, afhankelijk van wat er op je server is geïnstalleerd.

Het probleem met shared WordPress-hosts veel is dat er achter de schermen veel resources worden verbruikt. Dat is de enige manier om zoveel gebruikers op dezelfde machine te proppen. Een veel voorkomend probleem hierbij is dat er te weinig middelen zijn toegewezen aan Imagick (ImageMagick). Hosts beperken de mogelijkheid om meerdere threads te gebruiken, wat resulteert in de WordPress HTTP-foutmelding.

Je kan de volgende code boven aan het .htaccess-bestand toevoegen en de threadlimietwaarde naar een hogere waarde wijzigen.

MAGICK_THREAD_LIMIT 1

Een andere optie is om WordPress te vertellen om de GD-bibliotheek te gebruiken in plaats van Imagick. Je kan dit doen door de volgende code toe te voegen aan het bestand functions.php van je thema.

function wpb_image_editor_default_to_gd( $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', 'wpb_image_editor_default_to_gd' );

We zeggen het maar zoals het is: als je dit soort aanpassingen moet maken, dan is het tijd om naar een nieuwe WordPress-host te gaan. Bij Kinsta vind je geen rare limieten; de enige beperking die we opleggen is het aantal PHP-workers. In onze ogen zou een website-eigenaar zich niet met zulke dingen moeten bezighouden.

Voor elke site maken we gebruik van LXD managed hosts en georkestreerde LXC-softwarecontainers. Wat dit betekent is dat elke WordPress-site gehuisvest is in zijn eigen geïsoleerde container, die alle benodigde softwarebronnen tot zijn beschikking heeft om goed te lopen (Linux, Nginx, PHP, MySQL). De bronnen zijn 100% privé en worden niet gedeeld met anderen – zelfs niet met je eigen websites.

Kinsta is anders dan andere hostingbedrijven en je kan hier lezen wat ons uniek maakt ten opzichte van de hosts die je al hebt geprobeerd.

10. Pad van de aangepaste mediabibliotheek verwijderen

Het kan heel goed zijn dat het pad van je mediabibliotheek niet correct is ingesteld. Dit zien we meestal als gebruikers hun lokale testwebsite migreren en naar een live-setting verhuizen. Als je in ‘Media’ naar ‘Settings’ gaat in je WordPress-dashboard en daar een waarde voor het bestandspad ziet, verwijder deze dan en klik op ‘Save Changes’. Je wil dat je media worden opgeslagen in de standaard map /wp-content/uploads.

Hieronder zie je hoe dit er normaal uit zou moeten zien. Als je hier geen bibliotheekpad ziet, dan zit je goed.

WordPress media-instellingen
WordPress media-instellingen

11. Mod_security uitschakelen

Mod_security is een opensource-firewall die soms de oorzaak kan zijn van de WordPress HTTP-foutmelding. Je kan mod_security uitschakelen door de volgende code toe te voegen bovenin je .htaccess-bestand.

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Als je cPanel gebruikt, dan kan je deze ook uitschakelen door op ‘ModSecurity’ in de ‘Security’-sectie te klikken.

cPanel ModSecurity
cPanel ModSecurity

Schakel vervolgens de status van ‘On’ naar ‘Off’ voor het domein in kwestie.

Mod_security uitschakelen
Mod_security uitschakelen

We raden je altijd aan voor een gerenommeerde en toch betaalbare WAF te kiezen, zoals Sucuri of Cloudflare. Je kan hier lezen welke WAF instellingen wij aanbevelen.

12. De plugin Add From Server installeren

Last but not least: als je echt in de knel zit en niets lijkt te werken, dan kan je de gratis Add From Server-plugin installeren. Dit is vooral handig als je wacht op een antwoord van je WordPress-host of een ontwikkelaar over hoe je de WordPress HTTP-fout kunt oplossen.

Add From Server WordPress-plugin
Add From Server WordPress-plugin

De Add to Server-plugin is een prima workaround die een tijdelijke oplossing kan bieden, helemaal als met iets belangrijks bezig was en snel door wil gaan. Het was oorspronkelijk ontwikkeld om het mogelijk te maken om grote bestanden via SFTP aan je website toe te voegen. Let wel: deze plugin wordt niet langer bijgehouden of door WordPress ondersteund. Gebruik deze dus op eigen risico.

Sammenvatting

Zoals je kan zien zijn er nogal wat verschillende manieren om de WordPress HTTP-foutmelding te herstellen. Hopelijk werkte een van de bovenstaande oplossingen en kon je weer verder gaan met uploaden. Mocht je de foutmelding keer op keer blijven ontvangen, dan is het misschien tijd om van WordPress-host over te stappen. Veel van de bovenstaande oplossingen zijn dingen waar je je geen zorgen over hoeft te maken bij Kinsta.

Als je een oplossing hebt gevonden die niet in deze lijst staat, dan stellen we een reactie zeer op prijs en zullen we deze toevoegen.

Brian Jackson

Brian heeft een enorme passie voor WordPress, gebruikt het al meer dan tien jaar en heeft zelfs al aantal premium plugins ontwikkeld. Brian houdt van bloggen, films en hikes. Kom in contact met Brian op Twitter.