Als u een website beheert, is het onvermijdelijk dat u fouten tegenkomt. Een van die fouten is de CORS-fout meest voorkomende WordPress-fouten
Deze fout treedt op wanneer uw WordPress-site probeert toegang te krijgen tot bronnen vanaf een andere oorsprong (domein, protocol of poort) en de server waarop deze bronnen worden gehost dit niet toestaat.
Het oplossen van CORS-fouten is cruciaal, omdat ze essentiële functies zoals API-aanroepen, het laden van lettertypen en AJAX-verzoeken kunnen verstoren, wat een negatieve invloed heeft op de prestaties en de gebruikerservaring van uw website.
Deze handleiding geeft een overzicht van de stappen die u kunt nemen om CORS-fouten in WordPress te identificeren en te verhelpen, zodat uw website functioneel en gebruiksvriendelijk blijft.
Kort samengevat: Het oplossen van problemen met Cross-Origin Resource Sharing (CORS)
- Deze foutmelding verschijnt wanneer uw website bronnen van een ander domein opvraagt zonder de juiste toestemmingsheaders. Browsers blokkeren het verzoek om de veiligheid van de gebruiker te beschermen.
- Het kan API-aanroepen, lettertypen, CDN-bestanden, AJAX-verzoeken en ingebedde widgets verstoren, wat de prestaties en de gebruikerservaring beïnvloedt.
- Identificeer het probleem met behulp van de browserconsole en het tabblad Netwerk. Zoek naar geblokkeerde verzoeken en ontbrekende Access-Control-Allow-Origin-headers.
- Los het probleem op door de serverinstellingen, het .htaccess-bestand, de themafuncties en de CDN-regels bij te werken, of door contact op te nemen met de leverancier van de bron voor de juiste configuratie.
Wat is een CORS-fout?
Cross-Origin Resource Sharing (CORS) is een beveiligingsfunctie die door webbrowsers wordt geïmplementeerd om te voorkomen dat kwaadwillende websites zonder toestemming toegang krijgen tot gevoelige informatie op andere sites.
Hierbij wordt gecontroleerd of de server wordt gehost, specifieke headers bevat die toestemming verlenen voor cross-origin-aanvragen.

Een CORS-fout treedt op wanneer een webpagina probeert toegang te krijgen tot bronnen van een ander domein, protocol of poort, maar de server dit niet toestaat.
Typische scenario's waarin CORS-fouten in WordPress voorkomen, zijn onder andere:
- Gegevens ophalen via een externe API: Wanneer uw WordPress-site gegevens probeert op te halen van een externe API, kan er een CORS-fout optreden als de API-server uw site geen toegang tot de resources verleent.
- Lettertypen laden vanaf een ander domein: Als u aangepaste lettertypen gebruikt die op een ander domein worden gehost, kunt u CORS-fouten tegenkomen als de lettertypeserver uw site niet toestaat deze lettertypen te laden.
- Het gebruik van een CDN voor statische bestanden: Wanneer afbeeldingen, CSS- of JavaScript-bestanden via een CDN worden aangeboden, kunnen CORS-fouten optreden als de CDN- server niet de juiste headers heeft om uw site toegang te geven tot deze bestanden.
- AJAX-verzoeken uitvoeren: Als uw WordPress-site AJAX- verzoeken uitvoert naar een aangepast REST API-eindpunt op een ander subdomein, kunnen er CORS-fouten optreden als de API-server deze verzoeken niet expliciet toestaat.
- Widgets van derden insluiten: Tot slot kan het insluiten van widgets van andere domeinen met behulp van iframes leiden tot CORS-fouten als de widgetserver geen toegang van andere oorsprong toestaat.
Zeg vaarwel tegen fouten met een 24/7 WordPress-ondersteuningsplan
Of het nu gaat om een CORS-fout of een ander WordPress-probleem, ons toegewijde supportteam staat 24/7 voor u klaar.
Welke invloed hebben CORS-fouten op de functionaliteit en gebruikerservaring van een website?
CORS-fouten kunnen cruciale functionaliteiten op uw site blokkeren, zoals het laden van externe gegevens, aangepaste lettertypen of scripts. Hierdoor wordt uw site mogelijk niet correct weergegeven of werkt deze niet volledig, wat leidt tot een slechte gebruikerservaring.
bijvoorbeeld uitvallen, aangepaste lettertypen laden mogelijk niet, of interactieve elementen die gebruikmaken van AJAX kunnen vastlopen.
Het oplossen van CORS-fouten is daarom essentieel om ervoor te zorgen dat uw website soepel functioneert en een naadloze gebruikerservaring biedt.
CORS-fouten in WordPress opsporen
Door deze stappen te volgen, kunt u eenvoudig CORS-fouten op uw WordPress-site opsporen.
Controleer de browserconsole: de ontwikkelaarstools van uw browser (door op F12 te drukken of met de rechtermuisknop op de pagina te klikken en 'Inspecteren' te selecteren). Ga naar het tabblad 'Console' om eventuele foutmeldingen te bekijken.

Zoek in de console naar berichten die verwijzen naar 'CORS-beleid' of 'Cross-Origin Resource Sharing'. Deze berichten geven meestal aan dat een bron is geblokkeerd vanwege CORS.
Ga in de ontwikkelaarstools naar het tabblad 'Netwerk' en vernieuw de pagina.
- Zoek naar verzoeken die rood gemarkeerd zijn; dit geeft aan dat ze mislukt zijn.
- Klik op deze verzoeken om meer details over de fout te bekijken, inclusief CORS-gerelateerde problemen.
Controleer de API-antwoordheaders: wanneer u met API's werkt, inspecteer dan de antwoordheaders in het tabblad "Netwerk". Controleer of de header "Access-Control-Allow-Origin" aanwezig en correct geconfigureerd is.
Controleer de plugininstellingen: Als u plugins gebruikt die met externe bronnen communiceren, controleer dan de instellingen en documentatie om er zeker van te zijn dat ze CORS correct afhandelen.
Gebruik online tools: Gebruik tools zoals CORS Checker om te testen of de externe bronnen die u probeert te benaderen correct zijn geconfigureerd om cross-origin-verzoeken toe te staan.
Lees meer over : Tips om fouten bij het bijwerken en publiceren van WordPress op te lossen
Voorbeelden van CORS-fouten in WordPress en stappen om ze op te lossen
Hieronder vind je een aantal veelvoorkomende situaties waarin CORS-fouten optreden in WordPress, samen met eenvoudige stappen om ze op te lossen.
Voorbeeld 1: Gegevens ophalen van een externe API
Je WordPress-site probeert gegevens op te halen van een externe API, maar dat lukt niet.
Foutmelding:
Toegang om op te halen op ' https://api.example.com/data ' van oorsprong ' https://yourwordpresssite.com ' is geblokkeerd door CORS-beleid: er is geen 'Access-Control-Allow-Origin'-header aanwezig op de opgevraagde resource.
Oplossing: Wijzig het .htaccess-bestand in de hoofdmap van je WordPress-installatie:
<IfModule mod_headers.c>Header set Access-Control-Allow-Origin "*"</IfModule>
Dit geeft de server de opdracht om elke site toegang te geven tot de bron.
Lees ook : Hoe je 301-fouten in WordPress kunt oplossen
Voorbeeld 2: Lettertypen laden vanaf een ander domein
Je WordPress-site gebruikt aangepaste lettertypen die op een ander domein worden gehost, maar deze worden niet geladen.
Foutmelding:
De toegang tot het lettertype op 'https://fonts.example.com/font.woff2' vanaf de oorsprong 'https://yourwordpresssite.com' is geblokkeerd door het CORS-beleid: Er is geen 'Access-Control-Allow-Origin'-header aanwezig op de gevraagde bron.
Oplossing: Voeg de volgende code toe aan het functions.php-bestand van je thema:
functie add_cors_headers() { header("Access-Control-Allow-Origin: *"); } add_action('init', 'add_cors_headers');
Dit helpt om de vereiste CORS-headers aan alle reacties toe te voegen.
Voorbeeld 3: Een CDN gebruiken voor statische bestanden
Je WordPress-site serveert afbeeldingen, CSS- of JavaScript-bestanden vanaf een CDN, maar deze worden geblokkeerd.
Foutmelding:
Toegang tot het script op 'https://cdn.example.com/script.js' vanaf de oorsprong 'https://yourwordpresssite.com' is geblokkeerd door het CORS-beleid: De header 'Access-Control-Allow-Origin' bevat meerdere waarden '*, *', maar slechts één is toegestaan.
Oplossing: Apache gebruikt , kun je het volgende toevoegen aan je configuratiebestand:
<IfModule mod_headers.c>Header set Access-Control-Allow-Origin "*"</IfModule>
Nginx gebruikt , voeg dit dan toe aan je configuratie:
locatie / { add_header 'Access-Control-Allow-Origin' '*'; }
Voorbeeld 4: AJAX-verzoeken uitvoeren
Je WordPress-site doet AJAX-verzoeken naar een aangepast REST API-eindpunt op een ander subdomein, maar deze worden geblokkeerd.
Foutmelding:
Toegang tot XMLHttpRequest op 'https://api.yourwordpresssite.com/endpoint' vanaf de oorsprong 'https://yourwordpresssite.com' is geblokkeerd door het CORS-beleid: Het antwoord op het preflight-verzoek voldoet niet aan de toegangscontrole: Er is geen 'Access-Control-Allow-Origin'-header aanwezig op de aangevraagde bron.
Oplossing: Installeer en activeer de plugin Enable CORS en configureer vervolgens de instellingen om uw subdomein toe te staan.
Voorbeeld 5: Widgets van derden insluiten
Uw WordPress-site integreert widgets van andere domeinen met behulp van iframes, maar deze worden niet geladen.
Foutmelding:
De toegang tot de bron op 'https://widget.example.com/' vanaf de oorsprong 'https://yourwordpresssite.com' is geblokkeerd door het CORS-beleid: Er is geen 'Access-Control-Allow-Origin'-header aanwezig op de aangevraagde bron.
Oplossing: Vraag de externe provider om uw domein toe te voegen aan hun Access-Control-Allow-Origin- header. Als alternatief kunt u proberen het volgende toe te voegen aan uw .htaccess-bestand :
<IfModule mod_headers.c>Header set Access-Control-Allow-Origin "*"</IfModule>
Meer weten over : Wat zijn 404-fouten? Hoe los ik ze op?
Andere methoden om CORS-fouten in WordPress op te lossen
Hieronder vindt u enkele aanvullende methoden om CORS-fouten op te lossen en een probleemloze werking van uw WordPress-site te garanderen.
- Cloudflare gebruiken: Als u Cloudflare gebruikt, kunt u via het Cloudflare-dashboard aangepaste regels configureren om CORS-headers te beheren. Cloudflare Workers kunnen ook worden gebruikt om headers toe te voegen of te wijzigen wanneer verzoeken via hun netwerk worden verwerkt.
- Het functions.php-bestand van het thema aanpassen : Een andere manier is door code toe te voegen aan het functions.php-bestand van je thema. Voeg de volgende code in om CORS in te schakelen:
functie add_cors_headers() { header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type, Authorization"); } add_action('init', 'add_cors_headers');
- Een CORS-proxy gebruiken: Een CORS-proxy fungeert als een tussenliggende server die verzoeken tussen uw site en de externe bron afhandelt. De proxy voegt de benodigde CORS-headers toe voordat het antwoord naar uw site wordt doorgestuurd.
- Aangepaste middleware: Implementeer aangepaste middleware op uw server om de benodigde CORS-headers aan reacties toe te voegen. Dit kan worden gedaan met behulp van server-side scripttalen zoals PHP, Node.js of Python.
- Diensten van derden: Sommige diensten en API's van derden bieden ingebouwde CORS-ondersteuning. Raadpleeg de documentatie van de externe dienst om te zien of er opties zijn om CORS voor uw domein in te schakelen.
- Contact opnemen met de externe serverprovider: Neem contact op met de provider van de externe bron en vraag hen om uw domein toe te voegen aan hun Access-Control-Allow-Origin- header.
- Serverinstellingen configureren : U kunt uw serverinstellingen configureren om CORS-fouten op te lossen. Als u bijvoorbeeld Apache gebruikt, kunt u het volgende aan uw configuratiebestand toevoegen:
<IfModule mod_headers.c>Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" Header set Access-Control-Allow-Headers "Content-Type, Authorization"</IfModule>
Voor Nginx kunt u het volgende gebruiken:
locatie / { als ($request_method = 'OPTIONS') { voeg een header toe: 'Access-Control-Allow-Origin' '*'; voeg een header toe: 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; voeg een header toe: 'Access-Control-Allow-Headers' 'Content-Type, Authorization'; retourneer 204; } voeg een header toe: 'Access-Control-Allow-Origin' '*'; }
Hoe test je of het CORS-probleem is opgelost?
Vernieuw eerst je WordPress-site om te zien of de wijzigingen van kracht zijn. Soms kan een simpele herlaadactie al aantonen of de CORS-fout is opgelost.
- Controleer de browserconsole: open de ontwikkelaarstools van uw browser, ga naar het tabblad 'Console' en zoek naar CORS-gerelateerde foutmeldingen. Als er geen foutmeldingen zijn, is het probleem mogelijk opgelost.
- Netwerkverzoeken controleren: Ga naar het tabblad 'Netwerk' in de ontwikkelaarstools en vernieuw de pagina. Controleer hier of de eerder mislukte verzoeken nu zijn opgelost. Klik ook op deze verzoeken om te controleren of de juiste headers aanwezig zijn.
- Test de functionaliteit: Controleer of de functies die door CORS-fouten niet werkten, zoals API-aanroepen, het laden van lettertypen of AJAX-verzoeken, nu naar behoren functioneren.
Je kunt ook online CORS-controletools gebruiken om te verifiëren of de externe bronnen die je probeert te benaderen correct geconfigureerd zijn om cross-origin-verzoeken toe te staan.
Leer hoe je een gebruiksvriendelijkheidstest uitvoert op WordPress-websites.
Aanbevelingen voor CORS-configuratie
Door deze best practices te volgen, kunt u CORS veilig configureren en ervoor zorgen dat uw WordPress-site beschermd blijft en soepel functioneert.
- Specifieke oorsprongen toestaan: In plaats van alle oorsprongen met een wildcard (*) toe te staan, kunt u de exacte oorsprongen specificeren die toegang tot uw resources mogen hebben. Dit verbetert de beveiliging door de toegang te beperken tot vertrouwde domeinen.
- Beperk toegestane methoden: Sta alleen de HTTP-methoden toe die uw applicatie nodig heeft, zoals GET, POST en OPTIONS . Dit minimaliseert het risico op ongeautoriseerde acties.
- Headers beperken: Sta alleen de specifieke headers toe die uw applicatie nodig heeft. Dit voorkomt onnodige blootstelling van gevoelige informatie. Sta bijvoorbeeld 'Content-Type' en 'Authorization' als deze vereist zijn.
- Gebruik preflight-verzoeken: Voor verzoeken die servergegevens kunnen beïnvloeden, moet u ervoor zorgen dat er preflight-verzoeken worden gebruikt. Dit houdt in dat de browser een OPTIONS- verzoek verstuurt om de machtigingen te controleren voordat het daadwerkelijke verzoek wordt uitgevoerd.
- Stel de juiste maximale bewaartijd in: Definieer de Access-Control-Max-Age om aan te geven hoe lang de resultaten van een preflight-verzoek in de cache bewaard kunnen worden. Dit vermindert het aantal preflight-verzoeken dat uw server verwerkt, waardoor de prestaties verbeteren.
Controleer tot slot regelmatig uw CORS-configuratie om er zeker van te zijn dat deze voldoet aan uw beveiligings- en functionaliteitseisen. Werk de instellingen bij naarmate uw applicatie zich ontwikkelt.
Verder leren : Prestatieoptimalisatie van de WordPress-database
Samenvatting
Het oplossen van CORS-fouten in WordPress is essentieel voor het behoud van de functionaliteit en de gebruikerservaring van uw website.
Door veelvoorkomende scenario's te begrijpen en de juiste oplossingen toe te passen, kunt u deze problemen effectief verhelpen.
Mocht je echter problemen blijven ondervinden of lijken de oplossingen te complex, aarzel dan niet om professionele hulp in te schakelen.
Professionele WordPress-ondersteuning biedt deskundige hulp en zorgt ervoor dat uw website probleemloos functioneert, zonder CORS-gerelateerde problemen.
Veelgestelde vragen over WordPress CORS-fouten
Wat veroorzaakt een CORS-fout in WordPress?
Een CORS-fout treedt op wanneer een webbrowser een verzoek tussen verschillende domeinen blokkeert. Dit gebeurt meestal wanneer de serverconfiguratie de juiste CORS-headers niet in het antwoord meestuurt.
Het probleem treft vaak de WordPress REST API , XMLHttpRequest-aanroepen, plugins zoals Elementor en externe services. Ontbrekende headers, problemen met SSL-certificaten of hostingbeperkingen zijn veelvoorkomende oorzaken.
Hoe kan ik CORS inschakelen in WordPress?
Je kunt CORS op serverniveau inschakelen met behulp van htaccess, PHP-code of serverconfiguratie-instructies.
Voeg de benodigde CORS-headers toe aan het rootbestand met behulp van FilesMatch-regels, of werk de response-headers bij in het dashboard van uw hostingprovider. In sommige gevallen kan een plugin helpen bij het beheren van headers zonder handmatige codeaanpassingen.
Kan een plugin CORS-problemen oplossen?
Ja, een WordPress-plugin kan de benodigde headers toevoegen en de implementatie vereenvoudigen. Dit is handig als u geen kernbestanden of het .htaccess-bestand wilt bewerken. Controleer echter altijd de compatibiliteit met uw hostingomgeving en test wijzigingen na updates.
Heeft CORS invloed op de websitebeveiliging?
CORS beschermt gebruikersgegevens en beperkt toegang vanuit verschillende domeinen. Een onjuiste configuratie kan beveiligingsproblemen veroorzaken. Definieer altijd het doeldomein in plaats van alle bronnen toe te staan.
Waarom werkt CORS niet meer na wijzigingen in de hosting of SSL-configuratie?
Migratie, installatie van SSL-certificaten, cachelagen of content delivery networks kunnen headers wijzigen. Neem contact op met uw hostingprovider als het probleem aanhoudt.