301 redirect van je 404 pagina

by Navin Poeran on februari 3, 2009

Een tijdje terug had ik de URL’s van deze site veranderd. Standaard zijn zien ze er zo uit:

domeinnaam/jaar/maand/dag/artikel-naam

Nu had ik dit dus een tijdje geleden veranderd naar:

domeinnaam/artikel-naam

Probleem is dat alle links die naar deze (oude) URL’s verwijzen, dood lopen. Hiervoor ga je dus je 404.php moeten aanpassen en de juiste URL’s met de hand erin verwerken, want standaard krijgen je gebruikers dan een 404 melding, terwijl de pagina’s wel bestaan.

Kopieer de onderstaande code en plak dat in je 404.php:

$redirect_301 = array(
‘/2008/11/02/oude-pagina/’ => ‘/2009/01/01/nieuwe-pagina/’,
‘/2009/11/02/oude-pagina/’ => ‘/2009/01/21/nieuwe-pagina/’,
‘/2008/10/02/een-pagina/’ => ‘/2009/01/02/nieuwe-pagina/’
);
$request = $_SERVER['REQUEST_URI'];
if (array_key_exists($_SERVER['REQUEST_URI'], $redirect_301)) {
header(“HTTP/1.1 301 Moved Permanently”);
header(‘Location: http://www.navinpoeran.com’ . $redirect_301[$request] );
die();
}
get_header(); ?>

Om precies te weten welke pagina’s allemaal een 404 opleveren, kan je even kijken in GWT. Daar kan je de pagina’s zelf exporteren als een CSV etc. De URL dus even bijwerken in de code ;)

Bron:

Abonneer aan dit blog via RSS of via e-mail, om op de hoogte te blijven van de meest recente ontwikkelingen. Volg mij op Twitter.

Relevante items

{ 0 comments… add one now }

Laat een reactie achter

Je kan deze HTML tags en attributen gebruiken: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Anti-spam vraag: