Een redirect is een manier om gebruikers (en zoekmachines) van de ene URL naar de andere door te sturen. Vaak gebeurt dit zonder dat gebruikers dit zelf door hebben. Een voorbeeld van een redirect is bijvoorbeeld wouterpostma.nl, deze URL wordt automatisch doorgestuurd naar wouterpostma.com/nl/. Redirects worden óók gebruikt om de URL van een verwijderde pagina door laten verwijzen naar een andere pagina. Zo vertel je zoekmachines dat de inhoud verhuisd is. Ook voorkom je dat bezoekers van je website op een 404-pagina (niet gevonden) belanden. In dit artikel vertel ik meer over het maken en bijhouden van redirects in WordPress.
Inhoud
Wat zijn redirects en waar worden ze voor gebruikt?
Een redirect is een soort “omleiding” van verkeer het internet. Je stuurt niet alleen gebruikers, maar ook zoekmachines en andere “bots” van de ene URL naar de andere.
Er zijn veel verschillende redenen om redirects te gebruiken. Zo kun je bijvoorbeeld een URL-verkorter als Bitly gebruiken voor het inkorten van URL’s. In feite is dit een redirect van een (korte) URL naar de langere URL.
Oók worden redirects veel gebruikt door bedrijven of merken die meerdere domeinnamen in hun bezit hebben, maar slechts één website hebben. Als je bijvoorbeeld naar Apple.nl gaat, word je automatisch doorgestuurd naar Apple.com/nl/. En iPhone.com zal gebruikers automatisch doorsturen naar Apple.com/iphone.
In het dagelijks leven zul je als internet-gebruiker regelmatig ge-redirect worden zonder dat je er zelf erg in hebt. Als je bijvoorbeeld naar http://wouterpostma.com navigeert, word je automatisch doorgestuurd naar https://wouterpostma.com. Met deze redirect zorg ik ervoor dat mijn website alléén bereikbaar is via het (veilige) HTTPS-protocol, en niet via HTTP.
Er zijn ook minder onschuldige redenen om redirects te gebruiken. Ze kunnen bijvoorbeeld ook gebruikt worden om gebruikers te misleiden. Je kunt bijvoorbeeld denken dat je naar een bepaalde website navigeert, terwijl je wordt doorgestuurd naar een website met malware- en/of phishing-doeleinden.
Welke soorten redirects zijn er?
Iedere URL op het internet zal altijd een bepaalde HTTP-statuscode afgeven. Als je deze pagina bekijkt, zullen browsers en zoekmachines de statuscode “200” terugkrijgen. De 200-statuscode betekent dat de aanvraag van een URL succesvol is verlopen.
HTTP statuscodes
Er zijn verschillende hoofdcategorieën van statuscodes. De verschillende categorieën zijn:
- 100-199: Mededelende statuscodes.
- 200-299: Succesvolle statuscodes.
- 300-399: Omleidingen (redirects).
- 400-499: Aanvraag-fouten.
- 500-599: Server-fouten.
Een bekende statuscode is de 404-foutmelding. De 404-statuscode betekent “Niet gevonden”. De meeste internetgebruikers zijn een pagina met deze statuscode wel eens tegengekomen.
Redirects (omleidingen) hebben dus altijd een statuscode die met een 3 begint. Welke soorten redirects zijn er en wanneer gebruik je welke soort? Er zijn veel verschillende statuscodes voor redirects, maar de twee belangrijkste zijn de 301- en de 307-redirect.
301 Redirect – Permanent verplaatst
De 301 redirect is veruit de meest bekende redirect. Deze redirect is bedoeld voor permanente omleidingen. Voor de eindgebruiker van je website is er geen (zichtbaar) verschil tussen een permanente en een tijdelijke redirect, maar voor zoekmachines wel. Met een 301-statuscode vertel je aan zoekmachines dat ze de oude URL moeten “vergeten” en alle waarde van die URL moeten “doorgeven” aan de nieuwe URL.
De 301-redirect wordt vaak gebruikt als een website vernieuwd wordt en hierbij de URL-structuur verandert. Ik heb regelmatig projecten gezien waarbij de redirects vergeten werden of er simpelweg te weinig aandacht aan werd besteed. Helaas zie je het organische verkeer (verkeer uit zoekmachines) vrijwel direct afnemen, doordat veel pagina’s plotseling een 404-statuscode retourneren (niet gevonden). Deze pagina’s (en alle autoriteit die ze eventueel hebben opgebouwd) gaan dan verloren.
Het is al een hele tijd geleden, maar in 2015 maakte Transavia de fout om een nieuwe website te lanceren zonder hierbij redirects in te regelen. De website werd hierdoor praktisch onvindbaar in zoekmachines.
307 of 302 Redirect – Tijdelijke omleiding
Een 307 redirect wordt gebruikt voor tijdelijke omleidingen. Voorheen werd hiervoor de 302 redirect gebruikt, en sommige bronnen zweren nog altijd bij de 302-redirect voor tijdelijke verwijzingen.
Een tijdelijke redirect geeft de waarde van de oorspronkelijke pagina niet door aan de nieuwe pagina. Het is de bedoeling dat de redirect tijdelijk is en na een tijd weer wordt opgeheven. Je kunt dit bijvoorbeeld gebruiken als er tijdelijk onderhoud plaatsvindt aan je website. Je kunt bezoekers dan met een tijdelijke redirect doorsturen naar een onderhouds-pagina.
Een tijdelijke omleiding of redirect zul je in de praktijk vrijwel nooit gebruiken.
Statuscodes controleren
Wil je controleren welke statuscode een bepaalde URL retourneert? Ik gebruik hier zelf altijd de website httpstatus.io voor. Deze laat niet alleen de statuscode zien van de URL die je invult, maar óók van alle URLs die daarop volgen. Als je bijvoorbeeld http://apple.nl invult, krijg je het volgende resultaat:
Als meerdere redirects elkaar opvolgen, zal httpstatus.io alle URLs laten zien met bijbehorende statuscode.
Redirects maken in WordPress
Wil je redirects aanmaken op je WordPress-site? Er zijn verschillende manieren waarop je dit kunt doen. Afhankelijk van wat je precies wilt bereiken, kun je een andere methode gebruiken. Ik zet de belangrijkste voorbeelden op een rij en leg uit hoe je dit kunt doen.
HTTP naar HTTPS
HTTP staat voor HyperText Transfer Protocol. Vroeger zag je veel websites waarvan de URL begon met http://. Tegenwoordig is HTTPS een meer gangbaar protocol. HTTPS staat voor HyperText Transfer Protocol Secure. Het verschil met HTTP is dat bij HTTPS al het verkeer versleuteld wordt. HTTPS is dus geschikter voor websites waarbij bepaalde (gevoelige of persoonlijke) informatie wordt verzonden. Denk hierbij aan online bankieren, maar ook websites met een contactformulier zijn eigenlijk wettelijk verplicht om gebruik te maken van het HTTPS-protocol.
Heb je je WordPress-site voorzien van een SSL-certificaat? Vaak is je website dan óók nog bereikbaar via HTTP. Wil je ervoor zorgen dat je website alléén bereikbaar is via het (veilige) HTTPS-protocol? Dan zul je een redirect moeten instellen van HTTP naar HTTPS. Dit kan op meerdere manieren, maar ikzelf maak hiervoor gebruik van de Really Simple SSL-plugin.
Zodra je deze plugin activeert, zal al het verkeer naar je site automatisch omgeleid worden naar de HTTPS-versie. Je bent dan in één keer klaar.
Als je geen plugin wilt gebruiken, kun je deze redirect ook inregelen via het .htaccess-bestand. Deze kun je via FTP bereiken in je public_html-folder. Voeg hierin de volgende code toe:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L] </IfModule>
Let op: Maak altijd eerst een backup van je huidige .htaccess-bestand voordat je wijzigingen maakt. Een klein foutje in dit bestand kan je hele website onbereikbaar maken.
Verplaatste pagina’s
Heb je een pagina verplaatst of heb je bijvoorbeeld de WordPress-permalink van een pagina aangepast? Dan is het belangrijk dat de oude versie van je pagina geen 404-statuscode retourneert, maar dat je deze netjes van een redirect voorziet. Je kiest dan het beste voor een 301-redirect (permanent verplaatst).
Ik gebruik zelf de Redirection-plugin voor het maken en beheren van redirects.
Na het installeren en activeren van deze plugin vind je een nieuw menu in WordPress voor het maken en beheren van redirects. Je vindt deze onder Tools > Redirection.
In dit nieuwe menu vind je een overzicht van alle redirects die actief zijn op je WordPress-site. Ook kun je gemakkelijk een nieuwe redirect toevoegen:
In het voorbeeld hierboven zal de pagina wouterpostma.com/voorbeeld-redirect/ doorverwijzen naar de pagina waarop je je nu bevindt. In de standaard instelling van de Redirection-plugin zal dit een 301 redirect zijn. Wil je een tijdelijke redirect met de statuscode 307? Dan kun je op het tandwieltje klikken en een andere soort redirect selecteren.
Je kunt ook gebruikmaken van Regular Expression (RegEx). Dit kan handig zijn om in één instelling meerdere URL-structuren te redirecten. Zorg ervoor dat Regex is ingeschakeld bij het aanmaken van een redirect. Vervolgens kun je bepaalde URL-patronen redirecten.
In de screenshot hierbeneden zie je bijvoorbeeld een Regular Expression waarmee je alle pagina’s in de directory /oldpage/ worden ge-redirect naar de directory /newpage/:
Doordat je $1 toevoegt aan de target URL, zal bijvoorbeeld /oldpage/123 redirecten naar /newpage/123. Laat je dit weg, dan zou alles naar /newpage/ worden ge-redirect.
Wil je meer lezen over de verschillende Regular Expression-uitdrukkingen die je kunt gebruiken bij de Redirection-plugin? Bekijk dan eens deze pagina van de maker van de plugin.
404-pagina’s opsporen
Met de Redirection-plugin kun je ook gemakkelijk achterhalen welke 404-pagina’s bezocht worden. Je ziet hierbeneden een voorbeeld van hoe dat er uit ziet:
Door op “Add Redirect” te klikken kun je deze URL gelijk door laten verwijzen naar een (bestaande) pagina. Wil je snel zien welke 404-pagina’s het vaakst bezocht worden? Klik dan op de drop down waar “No grouping” staat en selecteer “Group by URL“. Je krijgt dan een overzicht van URLs die een 404 retourneren, gesorteerd op basis van hoe vaak ze bezocht zijn:
Zo kun je direct zien welke URLs probleemgevallen zijn die misschien in het verleden vergeten bent te redirecten. Misschien is het zelfs zo dat jij of een andere website naar jouw site hebt gelinkt maar hierbij een typfout is gemaakt. Met een (301) redirect heb je dit direct opgelost en voorkom je dat gebruikers op een 404-pagina terechtkomen.
Website verhuisd naar een andere domeinnaam
Heb je je gehele WordPress-site verhuisd naar een nieuwe domeinnaam, maar is de URL-structuur (behalve de domeinnaam) gelijk gebleven? Je kunt dan het beste je “oude” domeinnaam in zijn geheel laten redirecten met een 301-redirect.
Er zijn verschillende manieren waarop je dit kunt doen.
Ik heb bijvoorbeeld mijn domeinnaam wouterpostma.nl doorverwezen naar wouterpostma.com/nl/ door middel van het .htaccess-bestand (let op: deze bevindt zich onder mijn de .NL-domeinnaam, dus de domeinnaam die je wilt laten redirecten):
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !wouterpostma.com/nl/$ [NC] RewriteRule ^(.*)$ https://wouterpostma.nl/nl/$1 [L,R=301]
Een andere methode is om in het controlepaneel van je hostingpakket een redirect aan te maken. In DirectAdmin kun je dit bijvoorbeeld doen via het Site Redirection-menu:
Het zal per hosting-provider verschillen welk controlepaneel er gebruikt wordt en of je hierin gemakkelijk redirects kunt aanmaken.
Veel gestelde vragen over redirects
Een redirect is een manier om een URL door te laten verwijzen naar een andere URL. Een voorbeeld is bijvoorbeeld http://apple.nl, dat automatisch doorverwijst naar https://apple.com/nl/
Welke redirect je moet aanmaken ligt er heel sterk aan wat het doel van de redirect is. Heb je een pagina permanent verhuisd naar een nieuwe URL? Dan gebruik je de 301-redirect. Betreft het een tijdelijke redirect, bijvoorbeeld naar een onderhouds-pagina? Dan gebruik je eerder de 302 of 307.
Dit kun je doen door een SSL-plugin te gebruiken (bijvoorbeeld Really Simple SSL) of door een wijziging te maken in het .htaccess-bestand. Als je niet heel technisch bent dan raad ik aan om gebruik te maken van een plugin óf het door een technisch persoon te laten doen. Als je een fout maakt in het .htaccess-bestand, kan je website in één keer onbereikbaar worden.
De meest bekende en ook mijn persoonlijke favoriet is de Redirection-plugin. Je kunt hiermee niet alleen simpele redirects maken, maar ook gebruikmaken van Regular Expression voor het redirecten van hele URL-structuren in één keer. Daarnaast laat de plugin zien welke 404-pagina’s veel bezocht worden op je site.
Ik gebruik hier zelf de gratis tool httpstatus.io voor. De tool laat voor de ingevulde URL de statuscode zien. In het geval van één of meerdere redirects, zal de plugin voor iedere URL de statuscode laten zien.
Meer informatie?
Wil je meer weten over redirects? Er is op internet veel informatie te vinden over redirects. Op zoek naar betrouwbare bronnen? Ik kan de volgende artikelen aanbevelen:
Heb je naar aanleiding van het artikel vragen of opmerkingen? Laat dan een reactie achter onder het artikel of stuur me een bericht via Twitter.