WordPress 404 error

De 404 Niet Gevonden foutmelding is een van de meest gehate schermen op het Internet; het geeft aan dat jij, de browser, weliswaar in staat was om met de server te communiceren, maar dat de pagina die je nodig hebt niet geleverd werd, hetzij omdat hij niet gevonden werd, hetzij omdat de server om een of andere reden geconfigureerd was om niet aan het verzoek te voldoen (wat in sommige landen gebeurt met pagina’s die illegale inhoud bevatten).

De pagina die je ziet wordt niet door je computer gemaakt, maar is een speciale pagina op de server die je probeerde te bereiken. Veel websites maken hun eigen speciale 404 pagina’s, hetzij om artistieke redenen, hetzij omdat de eigenaar van de site specifieke gegevens, zoals contact- of omleidingsinformatie, op de pagina wil zetten. In Apache is een eigen speciale 404 pagina zo eenvoudig als het wijzigen van het .htaccess bestand. (Het enige voorbehoud: de pagina moet groter zijn dan 512 bytes, anders geeft IE hem niet weer).

In de meeste gevallen verschijnt de 404-fout wanneer een pagina is verplaatst of verwijderd van een site. Maar in het geval van WordPress kan een vervelende bug ervoor zorgen dat permalinks naar de 404 pagina verwijzen in plaats van naar de pagina die je wilt laten zien.

Hoe werken WordPress Permalinks?

Permalinks zijn permanente URL’s die gegenereerd worden om te verwijzen naar je individuele weblogberichten, categorieën en webloglijsten. Andere bloggers zullen een permalink gebruiken om vanuit hun eigen artikelen naar jouw bericht te verwijzen, of je kunt via een permalink links naar andere mensen sturen. Als ze naar een individueel bericht verwijzen, wordt de URL geacht permanent te zijn, niet dynamisch (veranderlijk).

De drie soorten permalinks die WordPress levert zijn de Standaard (ook wel “Lelijke”) vorm, mod rewrite (“Mooi”), en PATHINFO (“Bijna Mooi”).

Standaard links zijn geformatteerd volgens de standaardinstellingen van een nieuwe WordPress-installatie, en werken op alle serveromgevingen. Het ziet er als volgt uit: http://example.com/?p=N , waarbij N een getal is. Het is niet netjes of elegant, maar het werkt wel. Mooie mod rewrite links zien er meer zo uit: http://example.com/yyyy/mm/dd/post-name/ . Deze permalinks vereisen Apache’s mod_rewrite module, en werken niet op andere servertypes. PATHINFO permalinks zien er zo uit: http://example.com/index.php/yyyy/mm/dd/post-name/ , en werken op andere servertypen dan Apache.

Omdat je met je permalinks van een dynamische naar een vaste omgeving gaat, kan er van alles mis mee gaan. Bijvoorbeeld, als je server Frontpage Extensions bevat, zullen permalinks helemaal niet werken zonder een handmatige fix uit te voeren. Zonder deze reparatie zal elke verandering in de permalinks sectie vanuit de WordPress admin interface de Frontpage server extensies beschadigen, omdat het interfereert met het .htaccess bestand.

Lange permalinks kunnen ook worden afgekapt, waarbij slechts een deel ervan goed werkt of de hele link wordt uitgeschakeld. Hierdoor wordt een 404-fout gegenereerd – maar niet omdat er iets mis is met je permalink, eerder omdat de titel te lang is.

Je kunt er ook een gewoonte van maken om URL’s te plaatsen met haakjes () aan beide uiteinden. De meeste e-mail en andere problematische software zal op deze manier geformatteerde URL’s niet afkappen.

Permalink structuur in WordPress

Als je links niet werken, komt dat vaak omdat je je Permalink structuur niet hebt bijgewerkt. Telkens als je een nieuwe statische pagina toevoegt aan je WordPress bestanden, moet je nieuwe regels genereren en bijwerken in de .htaccess (wat in nieuwere versies wordt geregeld via het admin controlegebied). Als je helemaal geen pagina terugkrijgt, zelfs geen 404, en je gebruikt PHP 4.4 of 5 met Apache 2, dan moet je dat opzoeken in de PHP bugs en issues pagina’s. Dit is een specifieke bekende bug.

Als je permalinks aanmaakt, kan er nog iets vreemds gebeuren: je WordPress blog moet het proces van het aanmaken van een permalink starten voordat het weet of de pagina waarvoor je er een aanmaakt ook echt bestaat. Zo niet, dan is het te laat – je link wijst al naar een 404-pagina. Om dit te herstellen moet je een 404-richting opnemen in de header van je .htaccess bestand, zodat je herschrijfvoorwaarden een not-found fout toestaan, en die pagina eenvoudigweg elimineren uit je permalinks taak.

Als je echter een niet bestaande directory aanroept, krijg je toch die 404 permalink.

Je kunt je permalinktaken echter automatiseren met verschillende plugins. De Ultimate Tag Warrior (UTW) heeft goede recensies gekregen, vooral voor zoekmachinegevoelige pagina’s. Google Sitemaps is ook een goede plugin.

Nog één ding: als je de xampp setup gebruikt, zullen je WordPress permalinks helemaal niet werken in de standaard installatie.

De ultieme oplossing is eigenlijk om WordPress 2.0.2 te installeren; deze nieuwe versie heeft het permalinks probleem gerepareerd, evenals een aantal andere problemen.

Controleer altijd al je pagina’s dubbel voordat je met permalinks gaat werken, en nadat je ze gepermalinkt hebt. In sommige gevallen moet je misschien alle permalinks verwijderen en opnieuw beginnen, maar in de meeste gevallen kun je door even te kijken naar wat je je server vertelt te doen een hoop domme fouten voorkomen.

0 reacties

Een reactie versturen

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *