WordPress Permalinks (SEO friendly urls) werken niet
Permalinks (permanent links) zijn de permanente URL-structuur die WordPress gebruikt voor berichten, pagina's en andere inhoudstypen. SEO-vriendelijke permalinks bevatten leesbare woorden in plaats van onbegrijpelijke ID-nummers, wat zowel voor bezoekers als voor zoekmachines veel duidelijker is. Wanneer permalinks niet werken, krijg je vaak een 404-foutmelding te zien bij het bezoeken van berichten of pagina's, terwijl alleen de homepage nog toegankelijk is.
Er zijn twee essentiële zaken nodig om permalinks correct te laten werken in WordPress.
1. Juiste .htaccess configuratie
Het .htaccess bestand is een configuratiebestand voor Apache webservers dat zich in de hoofdmap (root) van je WordPress-installatie bevindt. Dit bestand wordt standaard automatisch aangemaakt tijdens een WordPress-installatie, maar verschillende factoren kunnen ervoor zorgen dat het bestand ontbreekt, onjuist is geconfigureerd of wordt overschreven:
- Plugins kunnen de
.htaccesswijzigen (bijvoorbeeld beveiligings- of caching-plugins) - Thema's kunnen in zeldzame gevallen aanpassingen doorvoeren
- Handmatige wijzigingen door gebruikers of ontwikkelaars
- Bestandspermissies die voorkomen dat WordPress het bestand kan aanmaken of wijzigen
- Servermigraties waarbij het bestand niet is meegenomen
Vereiste .htaccess regels
De volgende regels moeten exact aanwezig zijn in je .htaccess bestand om permalinks correct te laten functioneren:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Uitleg van de .htaccess regels
Laten we elke regel kort toelichten zodat je begrijpt wat er gebeurt:
RewriteEngine On- Activeert de Apache mod_rewrite module die URL-herschrijving mogelijk maaktRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]- Zorgt ervoor dat HTTP-authenticatie headers correct worden doorgegeven (belangrijk voor REST API en externe verbindingen)RewriteBase /- Definieert de basis-URL voor de herschrijfregels (bij een subdirectory-installatie moet dit worden aangepast, bijvoorbeeld/blog/)RewriteRule ^index\.php$ - [L]- Voorkomt dat index.php zichzelf herhaaldelijk aanroept (oneindige lus)RewriteCond %{REQUEST_FILENAME} !-f- Controleert of het opgevraagde bestand niet daadwerkelijk bestaat op de serverRewriteCond %{REQUEST_FILENAME} !-d- Controleert of de opgevraagde directory niet daadwerkelijk bestaat op de serverRewriteRule . /index.php [L]- Als aan bovenstaande voorwaarden wordt voldaan, stuur dan alles door naar index.php (waar WordPress de routing afhandelt)
.htaccess bestand controleren en herstellen
Controleren of .htaccess aanwezig is:
- Log in op het adminpanel (bv. Plesk) en bekijk met de File Manager de map httpdocs.
- Zoek naar het
.htaccessbestand (let op: begint met een punt!)
Als het bestand ontbreekt of incorrect is:
- Maak een nieuw bestand aan met de naam
.htaccess(let op de punt aan het begin) - Kopieer de bovenstaande code exact naar dit bestand
Belangrijk: Maak altijd eerst een backup van je bestaande .htaccess bestand voordat je wijzigingen doorvoert!
WordPress installatie in een subdirectory
Als je WordPress hebt geïnstalleerd in een subdirectory (bijvoorbeeld domein.nl/blog/), dan moet je de RewriteBase regel aanpassen:
RewriteBase /blog/
En de laatste RewriteRule wordt dan:
RewriteRule . /blog/index.php [L]
2. Juiste permalink-instelling in WordPress
Naast het correcte .htaccess bestand moet je ook binnen WordPress zelf de juiste permalink-structuur selecteren.
Permalink-instelling wijzigen
- Log in op je WordPress beheeromgeving (dashboard)
- Ga naar Instellingen > Permalinks (of Settings > Permalinks bij Engelse installatie)
- Kies voor de optie 'Berichtnaam' (of 'Post name')
- Dit resulteert in URL's zoals:
https://eenvoorbeeld.nl/voorbeeld-bericht/ - Voor pagina's:
https://eenvoorbeeld.nl/over-ons/
- Dit resulteert in URL's zoals:
- Klik onderaan de pagina op 'Wijzigingen opslaan'
Waarom 'Berichtnaam' de beste keuze is
De permalink-structuur 'Berichtnaam' wordt sterk aanbevolen omdat:
- SEO-vriendelijk: Zoekmachines kunnen de inhoud van je pagina aflezen uit de URL
- Gebruiksvriendelijk: Bezoekers zien direct waar de pagina over gaat
- Deelbaar: De URL's zijn gemakkelijk te onthouden en te delen
- Professioneel: Ziet er cleaner uit dan URL's met cijfers en datums
Alternatieve permalink-structuren
WordPress biedt ook andere permalink-opties, hoewel deze minder aanbevolen zijn:
- Eenvoudig (
?p=123): Niet SEO-vriendelijk, alleen bruikbaar als laatste redmiddel - Dag en naam (
/2024/01/15/voorbeeld-bericht/): Goed voor nieuwssites, maar maakt URL's langer - Maand en naam (
/2024/01/voorbeeld-bericht/): Compromis tussen datum en leesbaarheid - Numeriek (
/archives/123/): Niet SEO-vriendelijk - Aangepast: Voor gevorderde gebruikers die volledige controle willen
Custom permalink-structuur
Voor gevorderde gebruikers is er ook de optie 'Aangepaste structuur'. Hier kun je zelf een structuur definiëren met behulp van tags:
%year%- Jaar (2024)%monthnum%- Maand (01-12)%day%- Dag (01-31)%postname%- Naam van het bericht%category%- Categorie%author%- Auteur
Bijvoorbeeld: /%category%/%postname%/ geeft URL's zoals https://jouwdomein.nl/technologie/wordpress-tips/
Veelvoorkomende problemen en oplossingen
Probleem 1: Permalinks werken na wijziging nog steeds niet
Oplossing:
- Ga opnieuw naar Instellingen > Permalinks
- Klik op 'Wijzigingen opslaan' zonder iets te wijzigen (dit regenereert de
.htaccessregels) - Ververs de cache van je browser (Ctrl+F5 of Cmd+Shift+R)
- Leeg (purge) eventuele caching-plugins (W3 Total Cache, WP Super Cache, etc.)
- Controleer of de
.htaccessdaadwerkelijk is bijgewerkt
Probleem 2: Conflicterende plugins
Sommige plugins kunnen interfereren met permalinks:
Stappen om te controleren:
- Deactiveer alle plugins via Plugins > Geïnstalleerde plugins
- Test of permalinks nu werken
- Activeer plugins één voor één opnieuw
- Test na elke activatie welke plugin het probleem veroorzaakt
- Zoek naar een alternatieve plugin of neem contact op met de plugin-ontwikkelaar
Plugins die vaak problemen veroorzaken:
- Beveiligingsplugins (die .htaccess wijzigen)
- SEO-plugins (met eigen permalink-instellingen)
- Caching-plugins (met aggressive caching-regels)
- Redirect-plugins
Probleem 3: Hoofdletter/kleine letter gevoeligheid
Op Linux-servers zijn URL's hoofdlettergevoelig:
https://jouwdomein.nl/Voorbeeld-Bericht/is niet hetzelfde alshttps://jouwdomein.nl/voorbeeld-bericht/
WordPress converteert standaard alles naar kleine letters, maar handmatige aanpassingen kunnen problemen veroorzaken.
Nginx webserver
Let op: De bovenstaande .htaccess configuratie werkt alleen op Apache webservers. Als je website draait op een Nginx-server, heeft je hostingprovider de rewrite-regels al voor je geconfigureerd in de Nginx-configuratie. Bij D-hosting.nl wordt dit automatisch afgehandeld voor WordPress-installaties.
Bij Nginx zijn de equivalent rewrite-regels anders en worden opgenomen in het server-configuratieblok (meestal niet toegankelijk voor eindgebruikers bij shared hosting).
Testen of permalinks werken
Na het doorvoeren van bovenstaande stappen kun je als volgt testen:
- Bezoek een bestaand bericht via de permalink (niet via de WordPress admin)
- Publiceer een nieuw testbericht en bekijk de permalink
- Controleer een categoriepagina (bijvoorbeeld
https://jouwdomein.nl/category/naam/) - Test een tag-pagina
- Open een gewone pagina (geen bericht)
Als al deze pagina's correct laden zonder 404-foutmeldingen, werken je permalinks correct!
Permalinks wijzigen op een bestaande website
Waarschuwing: Het wijzigen van je permalink-structuur op een bestaande website met veel inhoud kan leiden tot:
- Gebroken externe links
- Verlies van social media shares
- SEO-ranking dalingen
- Gebroken interne links
Als je tóch wilt wijzigen:
- Installeer een redirect-plugin zoals Redirection of Simple 301 Redirects
- Documenteer alle belangrijke URL's vóór de wijziging
- Wijzig de permalink-structuur
- Stel 301-redirects in van oude naar nieuwe URL's
- Update interne links
- Update je XML-sitemap
- Dien de nieuwe sitemap in bij Google Search Console
Hulp nodig?
Als permalinks na het volgen van bovenstaande stappen nog steeds niet werken, kun je contact opnemen met de D-hosting.nl support. Houd de volgende informatie bij de hand:
- Je domeinnaam
- Welke foutmelding je precies ziet (liefst een screenshot)
- Of je recent plugins hebt geïnstalleerd of geüpdatet
- Of je wijzigingen hebt aangebracht aan de
.htaccess - Of het probleem alleen specifieke pagina's betreft of alle permalinks
Het support-team kan je verder helpen met het diagnosticeren en oplossen van het probleem.